Hi Leute,
wer von eich hat Den HEAT_METER unter PCWorx am laufen?
Mir ist im Vergleich zur S7 Plattform und zum Urquelltext aufgefallen, dass eine berechnung im Baustein falsch läuft.
Im Urquelltext steht:
(* calculate the current consumption *)
IF (tx - last >= TIME_TO_DWORD(AVG_TIME)) AND (avg_time > T#0s) THEN
last := tx;
C := (Y - Y_last) * 3.6E6 / DWORD_TO_REAL(TIME_TO_DWORD(AVG_TIME));
Y_last := Y;
END_IF;
Unter S7 steht das gleiche, jedoch im der PCWORX.LIB ist nach meiner meinung ein Potenzfehler aufgetreten:
Und zwar:
(* calculate the current consumption *)
IF (tx - last >= TIME_TO_DWORD(AVG_TIME)) AND (avg_time > T#0s) THEN
last := tx;
C := (Y - Y_last) * 3.6E12 / DWORD_TO_REAL(TIME_TO_DWORD(AVG_TIME));
Y_last := Y;
END_IF;
Dabei kommt bei der Berechnung finde ich völlig wirres Zeug raus.
Bitte Prüfen
Gruß Stefan