Время цикла считаю обычно сам:
Cycle:=Cycle+1;(*Прибавляет 1 в каждом цикле*)
TON(IN:= NOT TON.Q, PT:=T#1s);(*Делаю короткий импульс через каждую секунду*)
TON1(IN:= NOT TON1.Q, PT:=T#1m);(*Делаю короткий импульс через каждую минуту*)
R_TRIG(CLK:=TON.Q);(*Ловлю передний фронт, после того как досчиталась секунда*)
IF R_TRIG.Q THEN Cycle_M_tmp:=Cycle; Cycle:=0; END_IF;(*Передаю значение сколько насчиталось во временную переменную*)
IF Cycle_M_tmp>0 THEN Cycle_M:00/INT_TO_REAL(Cycle_M_tmp); END_IF;(*Избегая деления на 0, передаю количество миллисекунд в одном цикле на панель*)