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
hallo
bis zur version 3.10 war offiziell überall 3.6E12 drinnen
mit version 3.11 wurde es auf 3.6E6 geändert
diese änderung ist jedoch in der pcworx version übersehen worden
baustein heat_meter ist inzwischen ja in der building.lib drinnen dort gehört es dann auch geändert !
danke für den tip !