Библиотека блоков «Автоматика Малахит» / Библиотека блоков КСУ ТС |
Блок предназначен для реализации алгоритма перехода ФГ в новое состояние, и использует стандартный типовой алгоритм управления состоянием ФГУ (аналогичный блоку управления клапаном и блоку управления приводом).
Блок также является субмоделью (аналогично блоку ФГУ), с автоматизированным заполнением штампа и нумерацией страниц.
В свойствах блока (см. Рисунок 1) необходимо указать:
Рисунок 1. Свойства блока «Малахит – Алгоритм состояний ФГ на 4 режима»
Внутренняя структура данного блока, представленная на рисунке (Рисунок 2), состоит (условно) из входных сигналов, логики формирования сигналов управления на блок типового алгоритма управления ФГУ, а также выходных сигналов. При этом входные и выходные сигналы разделены на «системные» (которые разработчик алгоритма перехода ФГ в данный режим не имеет права редактировать) и «пользовательские», которые должен определять разработчик. «Системные» входные и выходные сигналы обозначены «серым» фоном, и данные сигналы по своему смыслу являются одинаковыми и обязательными для всех блоков типа «Алгоритм состояний ФГ на 4 режима».
В именах всех таких сигналов (как входных, так и выходных) есть сочетание:
...<fg_num>_<fg_bort>_<reg_name>... , где
<fg_num> – номер функциональной группы;
<fg_bort> – литера борта («L» – левый борт; «R» – правый борт; «M» – не относится к борту);
<reg_name> – литера режима функциональной группы.
Значение <fg_num>_<fg_bort>_<reg_name> во всех подобных сигналах (см. ниже) подставляется автоматически в соответствии с именем режима ФГ, указанным в свойствах блока.
К входным сигналам «системного» типа относятся:
FG<fg_num>_<fg_bort>_<reg_name>_VK_isp
Данный сигнал поступает на вход «ПУ включить» типового алгоритма управления ФГУ.
Sbros_Z_M
Имя берется из свойства блока «Имя сигнала съема мигания». Данный сигнал поступает на вход «Съем зв/миг» типового алгоритма управления ФГУ.
FG<fg_num>_<fg_bort>_<reg_name1>_isp
FG<fg_num>_<fg_bort>_<reg_name2>_isp
FG<fg_num>_<fg_bort>_<reg_name3>_isp , где
<reg_name1>, <reg_name2>, <reg_name3> – литеры связанных режимов функциональной группы.
Значения <fg_num>_<fg_bort>_<reg_name1>, ...<reg_name2>, ...<reg_name3> берутся из свойств блока для связанных режимов. Данные три сигнала при своем появлении формируют импульс и по логике «ИЛИ» он поступает на вход «Отключить» типового алгоритма управления ФГУ. Эти же сигналы осуществляют сброс триггера и установку «в ноль» входного сигнала «Выполнен» типового алгоритма управления ФГУ.
FG<fg_num>_<fg_bort>_<reg_name>_isp
Данный сигнал по умолчанию не используется и может быть использован разработчиком алгоритма.
FALSE (логический ноль) или A_<prg_name>_FG<fg_num>_<fg_bort>_<reg_name>_ON, где:
<prg_name> – имя программы (алгоритма), в котором сформирован данный сигнал на включение ФГ. Значение <fg_num>_<fg_bort>_<reg_name> подставляется автоматически в соответствии с именем режима ФГ, указанным в свойствах блока.
Данный сигнал (или несколько сигналов) автоматически подставляется из категории «Алгоритмы» БД проекта и может быть сформирован разработчиком алгоритмов в любом другом месте проекта, при помощи блока «Запись команды алгоритма на вход режима ФГ». Если сигналов автоматического включения в базе данных (и соответственно в проекте) несколько, то на этапе инициализации проекта в рассматриваемом блоке появится несколько строк с перечислением существующих сигналов. Все они по логике «ИЛИ» формируют входной сигнал «АУ Включить» для типового алгоритма управления ФГУ.
Если подобных сигналов в БД не обнаружено, на данном входе формируется логический ноль (при помощи именованной константы FALSE).
К выходным сигналам «системного» типа, не редактируемым пользователем, относится три сигнала:
FG<fg_num>_<fg_bort>_<reg_name>_isp
Сигнал считывается с выхода «Исполняется» типового алгоритма управления ФГУ и записывается в базу данных проекта.
FG<fg_num>_<fg_bort>_<reg_name>_ZAS_ON
Данный сигнал считывается с выхода «ПУ Выполнен» типового алгоритма управления ФГУ и записывается в базу данных проекта.
FG<fg_num>_<fg_bort>_<reg_name>_ZAS_nisp
Данный сигнал считывается с выхода «Неисполнение» типового алгоритма управления ФГУ и записывается в базу данных проекта.
Остальные входные и выходные сигналы могут быть произвольно добавлены разработчиком алгоритма и в свободной части листа алгоритма также может быть дописана требуемая смысловая логика.
Рассматриваемый блок может реализовать от 2 до 4 режимов работы (состояний) ФГУ. Например, для того чтобы блок реализовал всего 2 режима работы (состояния ФГ), достаточно в качестве имени 2-го и 3-го связанных режимов указать имя 1-го связанного режима.
Блоки типа «Алгоритм состояний ФГ на 4 режима» должны быть размещены на втором уровне вложенности проекта, внутри блоков типа «Малахит – Функционально-групповое управление», и описывать логику переходов из режима в режим (из состояния в состояние) только для данной ФГ.
Используемый здесь типовой алгоритм управления ФГУ (другими словами, стандартная подпрограмма управления ФГУ) является единым алгоритмом для всего проекта КСУ ТС, и физически он находится в отдельном файле проекта с именем «../subroutines/mal_fg01.prt». Данное решение позволяет, во-первых, использовать по всему проекту один раз созданный и отлаженный алгоритм, а во-вторых, в случае необходимости его доработки в будущем, позволит легко ее осуществить в одном месте проекта, и доработка автоматически «размножится» на весь проект в целом.
В стандартной подпрограмме управления ФГУ реализованы следующие функциональные возможности:
Рисунок 2. Структура блока «Малахит – Алгоритм состояний ФГ на 4 режима