Nun ja. Die Ursache scheint mir ein viel zu großer Wert von ms zu sein (siehe Foto im Anhang). Daher hat auch die Aktivierung von RST den Zähler wieder weiterlaufen lassen (ms := 0;)
Die Ursache für den Überlauf scheint mir aber eher im Baustein STIME zu liegen.
Als kurzfristige Abhilfe reicht es sicher zu stellen, dass ms nicht überläuft.
IF DWORD_TO_DINT(ms) >= 1000 THEN
seconds := seconds + 1;
ms := DINT_TO_DWORD(DWORD_TO_DINT(ms) - 1000);
IF DWORD_TO_DINT(ms) > 1000 THEN (* Wenn immer noch größer als 1000 ms, dann war ein Überlauf da. *)
ms := 0;
END_IF;
END_IF;
[gelöscht durch Administrator]