
Сообщение от
Эдуард_Н
Вы имеете ввиду "RISING_EDGE" ? Тогда возникает 1000 проблем. Предлагаю в шаблоны включить блок который будет управлять триггером "RISING_EDGE". Может даже так:
Какие проблемы у Вас возникают в связи с использованием Rising Edge'a?
Используя такую структуру (как в примере) Вы лишний раз грузите ПЛК (каждый триггер - ФБ, для каждого ФБ отдельный вызов да и хранить состояние нужно).
Гораздо проще хранить где-то предыдущее значение маски, сравнивать его с текущим, и, если они отличаются, выдавать сигнал на запись.
например:
PHP код:
PROGRAM PLC_PRG
VAR
wTmpMask:WORD; //Здесь храним старое значение маски
wMask:WORD; //Маска для записи
xTrigger:BOOL:=FALSE; //Триггер для Rising Edge
END_VAR
IF xTrigger THEN //Если триггер установлен - сбросим его
xTrigger:=FALSE;
ELSIF wTmpMask<>wMask THEN //Если триггер не уставновлен - проверим изменилась ли маска, и если изменилась
wTmpMask:=wMask;
xTrigger:=TRUE; //подадим команду на запись
END_IF