Мой код, который никак не хочет работать:


...
IF %QX3.0.0=FALSE THEN
IF DELAY.ZAB.Q=FALSE THEN
TIMER:=%QX3.0.0;
DELAY(TIME_IN:=t1);
END_IF;
END_IF;
...

далее на IL, так как в примере (от себя только добавление в предпоследнюю строку ST TIMER), TIMER определена как глобальная BOOL


LD ZAB.Q
JMPC mark

CAL ZAB(IN:=FALSE)
LD TIME_IN
ST ZAB.PT
CAL ZAB(IN:=TRUE)
JMP end

mark:
CAL ZAB
end:
LDN ZAB.Q
ST OK
ST TIMER
RET