Добрый день.
Связка 323+МДВВ
МДВВ - подключены кнопки на входы, лампочки на выходы.
Нажатие кнопки --> включение лампочки запрограммировал следующим образом:
PROGRAM PLC_PRG
VAR
MDVV_IN WORD (*считываем значение нажатой кнопки с МДВВ*)
PLC_OUT_1_TMP INT (*временная переменная*)
PLC_OUT_1 BOOL (*выход МДВВ*)
END_VAR
IF MDVV_IN=1 (*определяем какая кнопка нажата*)
THEN PLC_OUT_1_TMP:=(PLC_OUT_1_TMP+1); (*фиксируем нажатие в переменную*)
ELSE (*кнопку отпустили*)
IF PLC_OUT_1_TMP>0 THEN (*если нажимали - то делаем следующее*)
PLC_OUT_1:=INT_TO_BOOL((BOOL_TO_INT(PLC_OUT_1)+1)M OD 2); (выход МДВВ переключаем в следующее состояние вкл/выкл*)
PLC_OUT_1_TMP:=0; (*обнуляем нажатие кнопки*)
END_IF
END_IF
И такие условия для каждой из 12 кнопок.
Необходимо так же фиксировать двойное нажатие кнопки,
а так же длинное нажатие, причем в случае длинного нажатия должен заработать диммер, то есть некая переменная, назовем ее DIMMER_1 должна увеличиваться пока кнопку держут нажатой.
Прошу помощи в реализации.