OSCAT Forum
oscat.lib => oscat.lib fuer PC WorX/MULTIPROG => Thema gestartet von: Fussel0804 am 27. September 2011, 14:23:15
-
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 !