Das ist 100% Deine Software. Die Ein- und Ausgänge wurden mit der Visu belegt. NUR - der Reset wurde auf OnTime:=255.9 geändert
Dh.: Nach einem Reset sollte das Ding bei 255.9 anfangen zu zählen. Bleibt aber auf dem Wert stehen. Nach weiteren Analysen hab ich gesehen, daß das mit dem Summierer irgendwie zusammenhängt.
Super!
Danke für Deine schnelle Antwort
Mario
M_runtime measures the ontime of a signal in hours.
the output is of type real because the time type will overflow within 49 days.
the units are hours.
*)
(* @END_DECLARATION := '0' *)
(* at first we need to determine if the sps was powered off *)
tx := TIME();
IF NOT power THEN
power := TRUE;
cycles := cycles +1;
ELSIF rst THEN
ontime := 255.9; (*----------------------------------- zum Testen verändert ------------------------------------------------*)
cycles := 0;
last_on := 0;
ELSIF in THEN
ontime := ontime + DWORD_TO_REAL( TIME_TO_DWORD(tx - last))/3600000.0; (*----------- da taucht das Problem auf -------------*)
last_on := last_on + DWORD_TO_REAL(TIME_TO_DWORD(tx - last))/3600000.0;
IF in AND NOT edge THEN
cycles := cycles +1;
last_on := 0;
END_IF;
END_IF;
last := tx;
edge := in;
(* revision history
hm 22.2.2007 rev 1.1
changed VAR RETAIN PERSISTENT to VAR RETAIN for better compatibility
wago lon contollers do not support persisitent
*)