Liebe OSCAT-Gemeinde,
es scheint so als ob der SWITCH_I Funktionsblock aus der Building Library ein Problem hat, wenn der SPS-Timer überläuft:
Meines Erachtens sollten wie z.B. beim letzten IF
IF Q AND T_on_max > t#0ms AND Tx >= T_on + T_on_max THEN
Q := FALSE;
END_IF;
der Vergleich der Zeitmerker folgendemaßen aussehn:
IF Q AND T_on_max > t#0ms AND Tx - T_on >= T_on_max THEN
Q := FALSE;
END_IF;
Die Differenz von zwei Zeitwerten (Tx - T_on) sollte doch immer passen, egal ob es einen Überlauf gegeben hat oder nicht (siehe auch Timer Überlauf (http://www.oscat.de/community/index.php/topic,163.msg679.html#msg679)).
Oder liege ich da falsch?
LG Daniel.