Это другое.
Я могу менять время горения и "негорения".
Но, попробую с простыми таймерами и триггерами - должно получится короче.
Это другое.
Я могу менять время горения и "негорения".
Но, попробую с простыми таймерами и триггерами - должно получится короче.
Спасибо. Это праздник какой-то!
VAR
TON_BLINK_RED2: TON;
IDENT_RED2: BOOL:=FALSE;
DELAY_RED2: TIME;
COUNTER_RED2: INT:=1;
END_VAR
(*Моргание короткой записью от Capzap*)
IF TON_BLINK_RED2.Q=TRUE THEN
IDENT_RED2:=NOT IDENT_RED2; COUNTER_RED2:=COUNTER_RED2+1;
END_IF
IF IDENT_RED2=FALSE THEN
DELAY_RED2:=T#60S;
ELSE
DELAY_RED2:=T#30S;
END_IF
TON_BLINK_RED2(IN:=NOT TON_BLINK_RED2.Q AND COUNTER_RED2<=6000 , PT:=DELAY_RED2);
RED2:= NOT IDENT_RED2 AND COUNTER_RED2<=6000;
Всем добрый день. Вопрос такой. Можно ли остановить работу таймера TP в процессе выполнения программы ПЛК т.е. поставить на паузу когда он запустился и второе, обнулить его.
А к какой библиотеке относится данная функция [TIME()]? Не могу найти ее описание.
Подскажите, пожалуйста.
Если из программы вызывать функциональный блок, в описании переменных которого им присваивается значение
например (VAR U:BOOL:=FALSE; END_VAR)
- то каждый цикл прогона основной программы и вызова этого функционального блока - эта переменная будет ставиться в указанное значение?
Если да - то как сделать так, чтобы эта переменная оставалась такой, как и была в предыдущем цикле выполнения основной программы?
Это начальное значение при инициализации блока
Как это понять?
Эта инициализация происходит при первом вызове блока?
В дальнейшем, при его вызове в каждом цикле выполнения программы, он просто выдаёт выходную переменную, а сам работает по кругу?
А если надо иметь возможность менять переменные в блоке - нужно обозначить их как входящие; и вызывать блок с указанием изменённых переменных?
Пример с библиотекой modbus lib можете дать ссылку где посмотреть как работать с ней?