Autor Thema: ONTIME zählt nicht mehr weiter  (Gelesen 10386 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Benjamin

  • Gast
ONTIME zählt nicht mehr weiter
« am: 01. August 2012, 21:11:03 »
Hallo Zusammen,

ich habe den Zähler ONTIME mehrfach in einem Projekt am laufen. Nun haben sich die Zähler an einer Anlage aber aus irgendeinem Grund aufgehangen und nicht mehr weitergezählt.

Ein kurzer IMPULS an RST hat den Zähler wieder gestartet.

Kann der Fehler mit dem in STIME beschriebenen Problem mit dem überlaufenden Zähler zusammenhängen?

Die verwendeten Codebestandteile sind auf dem Neuesten Stand.

Gruß

Benjamin

Benjamin

  • Gast
Re: ONTIME zählt nicht mehr weiter
« Antwort #1 am: 03. August 2012, 17:48:25 »
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]

Benjamin

  • Gast
Re: ONTIME zählt nicht mehr weiter
« Antwort #2 am: 03. August 2012, 18:02:38 »
Ich habe zu STIME einen neuen Thread gestartet.