PDA

Просмотр полной версии : Как определять время цикла программы?



Zulu
27.05.2009, 10:46
Существует ли способ в текущем цикле программы с определённой точностью иметь значение длительности предыдущего цикла?

lara197a
27.05.2009, 11:00
Подключи модуль "Статистик" в "Конфигурации ПЛК".

Дмитрий Артюховский
27.05.2009, 11:23
Считывать в начале каждого цикла текущее время и брать разницу между текущим и предыдущим значением. Для доступа использовать библиотеку "SYSLIBTIME.LIB"

Сергей71
27.05.2009, 11:50
Существует ли способ в текущем цикле программы с определённой точностью иметь значение длительности предыдущего цикла?

VAR
CLOCK:TON;
TMDIFF: DWORD;
END_VAR

программа:
в TMDIFF - увидишь время цикла POU в мсек.

CLOCK; (* Timer abfragen *)
TMDIFF:=TIME_TO_DWORD(CLOCK.ET);(* Zeitdifferenz seit letztem Aufruf *)

IF TMDIFF>0 THEN
CLOCK(IN:=FALSE); (* Timer neu starten *)
CLOCK(PT:=t#1h, IN:=TRUE);
ELSE
CLOCK(PT:=t#1h,IN:=TRUE);
END_IF;