Это же обычный RS - триггер. Входит в standard.lib.![]()
Ещё для решения этой задачи можно применить D-триггер...Переключатель с доминантой выключения:
Q1 = RS (SET, RESET1) means:
Q1 = NOT RESET1 AND (Q1 OR SET)
Входные переменные SET и RESET1 - как и выходная переменная Q1 типа BOOL.
FUNCTION_BLOCK D_TRIG
VAR_INPUT
D : BOOL;
CLK: BOOL;
RES:BOOL;
END_VAR
VAR_OUTPUT
Q: BOOL;
END_VAR
VAR
st_clk: BOOL:=FALSE;
END_VAR
==================================
IF RES=TRUE THEN
Q:=FALSE;
ELSIF st_clk=FALSE AND CLK THEN
Q:= D;
END_IF;
st_clk:=CLK;
По переднему фронту импульса на входе CLK, сигнал с D-входа передаётся на Q-выход. По входу RES триггер сбрасывается в ноль.





Ответить с цитированием