dt - это период опроса мощности. Какой период, такова и величина dt.
Приведенная формула вполне рабочая. Если добавить еще пару выражений, то вопрос с переполнением будет решен.
PROGRAM PLC_PRG
VAR
W: REAL;
W1: DWORD;
P: REAL;
P_1: REAL;
DEL_T: INT := 1;
WP: INT;
END_VAR
W := W + (((P + P_1)/2) * DEL_T)/3600;
WP := REAL_TO_INT(W); (* Целая часть W *)
W := W - INT_TO_REAL(WP); (* Дробная часть W *)
W1 := W1 + WP; (* Энергия в кВт x час *)
P_1 := P;
Валенок, попробуй докопаться.