Вы можете использовать стандартный блок
(*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. Он сохраняется для совместимости.
Содержание Назад Вперед