ISaGRAF. Version 3.4


Специфические булевские операторы языка ST - часть 2


(*Bi120 - переменная булевского входа*)

(*Edge_Bi120 - память состояние переменной Bi120*)

If  REDGE (Bi120, Edge_Bi120) Then

             Counter := Counter + 1;

End_if;

Замечание: Этот оператор не из IEC1131-3. Вы можете использовать стандартный блок R_TRIG. Он сохраняется для совместимости.

        “FEDGE” оператор

Имя:                              FEDGE

Значение:                   определяет задний фронт булевского выражения

Синтаксис:                 <edge> := FEDGE ( <boo_expression>,<memo_variable> );

Возвращаемое значение:                TRUE если значение выражения меняется с TRUE на FALSE. FALSE во всех остальных случаях.

Задний фронт не может быть определен при помощи оператора FEDGE более одного раза в течении одного цикла. Этот оператор можно использовать для описания состояния присоединенного к SFC переходу.

Предупреждение:

Булевская переменная для хранения последнего состояния выражения не может быть использована в качестве триггера для фронтов нескольких выражений.

Если выражение - это булевская переменная с именем “xxx”, то нужно объявить уникальное имя внутренней переменной “EDGER_xxx” и использовать его в выражении FEDGE для этой переменной. Этот метод гарантирует, что эта переменная не будет изменена во время других вычислений FEDGE.

Пример:

(*ST программа, использующая FEDGE оператор*)

(*Эта программа считает передние фронты булевского входа*)

(*Bi120 - переменная булевского входа*)

(*Edge_Bi120 - память состояние переменной Bi120*)

If FEDGE (Bi120, Edge_Bi120) Then

             Counter := Counter + 1;

End_if;

Замечание: Этот оператор не из IEC1131-3. Вы можете использовать стандартный блок F_TRIG. Он сохраняется для совместимости.




Начало  Назад  Вперед



Книжный магазин