Цитата Сообщение от melky Посмотреть сообщение
PROGRAM Kwt_hours
VAR
kwt_corr: BOOL;
rt1: R_TRIG;
kwt_h: REAL;
kwt_start: REAL;
END_VAR

VAR RETAIN
kwt_summ: REAL;
END_VAR

rt1(CLK:=kwt_corr , Q=> );
IF rt1.Q THEN
kwt_summ:=kwt_start;
kwt_start:=0;
END_IF
kwt_h:=active/7200/1000;
kwt_summ:=kwt_summ+kwt_h;

Программа запускается из Задач, циклическая, интервал 500 ms, расчет вполне приемлимый от значения мгновенной активной мощности

В основной программе просто Kwt_hours.kwt_summ в переменную через округление real заводил
kwt_h:=active/7200/1000; - ?????????????

А это что за цифры в знаменателе...?