![](https://cv01.studmed.ru/view/f1ded6ef112/bg23.png)
SCADA-система Trace Mode. Разработка управляющих алгоритмов
35
HEX (целые 16-битовые переменные). При связывании входов и вы-
ходов, имеющих разный вид представления, данные преобразуются
автоматически.
Тип входа/выхода определяет переменную, с которой он будет
связан. Это может быть либо внутренняя переменная, либо констан-
та, либо внешняя переменная – аргумент. Входы и выходы блоков мо-
гут иметь один из следующих типов: свободен, блок, константа, ар-
гумент. Тип свободен устанавливается автоматически для всех не-
задействованных входов (недоступен для установки вручную). Тип
блок устанавливается для всех выходов при размещении блока. Вход
или выход, имеющий данный тип, связан с внутренней переменной
программы. Этот тип автоматически устанавливается для входа, свя-
занного с выходом любого блока. Тип константа может быть задан
только для входа. Такой вход имеет фиксированное значение и не
может изменяться в процессе выполнения программы. Значение вхо-
да типа константа задается в специальном поле диалога Описание
переменной. Вход или выход типа аргумент при вызове программы
связывается с внешними переменными, которыми являются атрибуты
каналов.
При разработке FBD-программ можно использовать инверсию
для входов и выходов функциональных блоков. Существует два вида
инверсии:
• логическая – анализируется отличие от 0 значения входа (вы-
хода) и присваивается ему значение 0 или 1;
• побитовая – анализируется равенство 0 значения каждого бита
входа (выхода) и выполняется инверсия этого значения.
Побитовая инверсия определяется только для блоков побитово-
го И, ИЛИ и исключающего ИЛИ из раздела «Логические» и блока
VTR из раздела «Выбор» (только выход). Инверсия входов поддержи-
вается для блоков из разделов: «Логические» и «Триггеры и счетчи-
ки». При этом на одном блоке может быть инвертирован только один
вход. Выходы могут инвертироваться у всех блоков, за исключением
TON, TOFF, TP, SR, RS, CTU, CTD. Для включения инверсии необхо-
димо в режиме редактирования нажать правую кнопку «мыши» на
изображении входа или выхода. При этом в его основании появится
пустой круг – признак инвертирования (рис. 2.5).
Блок пересчитывается в тот момент, когда установлены все его
несвободные входы. Вход считается определенным, если он является
константой, аргументом или сформировано его новое значение (кото-
рое может быть таким, как предыдущее). Редактор представления
данных автоматически определяет следующий выполняемый блок
при входе в режим отладки программы в соответствии с его номером.
Первый вход блока управляет его пересчетом. Если он не свободен и
его значение отлично от 0, то блок вычисляться не будет.