-> Hier kostenlos registrieren
Hallo und Guten Tag
Ich bastel jetzt schon etwas länger an einem Betriebsstundenzähler.
Leider bekomme ich das nich so richtig an's Laufen.
Ich möchte die Laufzeit eines Motors erfassen wenn er steht muss der Zähler auch stehen bleiben (logisch)und wenn er wieder Läuft muss der Zähler weiter zählen bis zum Reset oder so.
Um möglichst genau zu sein möchte ich mit einer Uhr(RTC)synchronisieren.
Die Uhr lese ich regelmäßig aus dem PLC Rechner.
Folgenden Baustein hab ich bei oscat gefunden
Funktioniert auch alles nur is der Zähler bei mir immer etwas langsamer als die Uhr
Das hochrechnen von seconds ist zu langsam so das der Zähler weniger anzeigt al eigentlich gelaufen.
Hat jemand ne Idee oder nen Tipp dann immer her damit.
Ich bastel jetzt schon etwas länger an einem Betriebsstundenzähler.
Leider bekomme ich das nich so richtig an's Laufen.
Ich möchte die Laufzeit eines Motors erfassen wenn er steht muss der Zähler auch stehen bleiben (logisch)und wenn er wieder Läuft muss der Zähler weiter zählen bis zum Reset oder so.
Um möglichst genau zu sein möchte ich mit einer Uhr(RTC)synchronisieren.
Die Uhr lese ich regelmäßig aus dem PLC Rechner.
Folgenden Baustein hab ich bei oscat gefunden
Funktioniert auch alles nur is der Zähler bei mir immer etwas langsamer als die Uhr
PHP:
IF NOT init OR rst THEN
init := TRUE;
last := tx;
SECONDS := 0;
CYCLES := BOOL_TO_INT(in);
ms := 0;
ELSIF IN THEN
ms := (tx - last) + ms;
IF ms >= 1000 THEN
seconds := seconds + 1;
ms := ms - 1000;
END_IF;
cycles := cycles + BOOL_TO_INT(NOT edge);
ELSE
last := tx;
END_IF;
edge := in;
Sekunden:= SECONDS/100;
Minuten:=( SECONDS/100)/60;
Stunden:= Minuten / 60;
Das hochrechnen von seconds ist zu langsam so das der Zähler weniger anzeigt al eigentlich gelaufen.
Hat jemand ne Idee oder nen Tipp dann immer her damit.