Выражение <булевское выражение> принимает значение TRUE (логическая “1”) или FALSE (логический “0”). Подобно всем остальным выражением оно должно быть заключено в фигурные скобки { }. Перечислим булевские операторы в порядке убывания их старшинства:
Оператор |
Название |
~ |
Логическое отрицание |
== |
Равно |
!= |
Не равно |
& |
Логическое И |
^ |
Логическое исключающее ИЛИ |
| |
Логическое ИЛИ |
В качестве операндов булевских выражений могут участвовать:
– предварительно определенные <булевские переменные>;
– функции дополнительных узлов (см. ниже);
– функции изменений (см. ниже);
– <булевские константы> TRUE и FALSE.
Дополнительно операторы “==“ и “!=“ могут быть применены к логическим значениям <входные узлы> и <логические константы>. Это позволяет проанализировать логические состояния узлов, например, выражение CLEAR==1 принимает значение TRUE, если узел CLEAR имеет значение логической “1”, и FALSE – в противоположном случае.
Управляющие функции используются для определения изменений состояний <внутренних узлов> или <выходных узлов>. Все управляющие функции принимают логические значения и поэтому могут входить в состав <булевских выражений>. Приведем список этих функций и их аргументов:
CHANGED (<узел>,<интервал времени>)
CHANGED_LH (<узел>,<интервал времени>)
CHANGED_HL (<узел>,<интервал времени>)
Функция CHANGED принимает значение TRUE, если указанный <узел> изменял свое состояние из 0 в 1 на указанном <интервале времени>, предшествующем текущему моменту времени, в противном случае – FALSE.
Аналогично функция CHANGED_LH принимает значение TRUE, если указанный <узел> изменял свое состояние на указанном <интервале времени>, предшествующем текущему моменту времени, в противном случае – FALSE. Отметим, что CHANGED_LH контролирует только самое последнее изменение.