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).
Oder liege ich da falsch?
LG Daniel.