Цитата Сообщение от burn Посмотреть сообщение
Например, я хочу, чтобы регистр менял значение через интервал в 1сек.

в обычной программе это выглядело бы примерно так:

FOR i:=1 TO 10 DO
reg:=i;
(* SLEEP 1 или что-то подобное *)
END_FOR
если еще актуально, то мой вариант на эту тему:

FUNCTION_BLOCK example
VAR_INPUT
iVar: INT;
END_VAR
VAR_OUTPUT
END_VAR
VAR
timer: TON;
iReg: INT;
END_VAR
--------------------------------------

timer(IN:= NOT timer.Q, PT:=T#1s ); (* вызов таймера с самосбросом*)

IF timer.Q (* присваивание регистру (iReg) значения iVar будет происходить раз в 1 сек*)
THEN
iReg:=iVar;
END_IF