Controller-Laufzeit aufzeichnen

KingHelmer

Level-1
Beiträge
1.076
Reaktionspunkte
139
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich suche derzeit eine Lösung, in meinem Programm auf dem WAGO 750-881 Ethernetcontroller die Gesamtlaufzeit
aufzuzeichnen.
Auch sollen die Zeiten, in denen der Controller ausgeschaltet war, aufgezeichnet werden.

Gibt es eine Möglichkeit, dies auszulesen?

Danke und Grüße,

Flo
 
Wie genau brauchst Du denn die Zeit? Geht es nur um die Laufzeiten? Also X Stunden "An" und Y Stunden "Aus"?

Ich denke am einfachsten wäre es mit den Zeit und Datumsfunktionen zu lösen.

In etwa so:

Jede Minute wird eine Persistente Retain Variable mit der aktuellen Uhrzeit beschrieben. Bevor man dies tut wird geschaut wie viel älter der aktuelle Eintrag in der Variable zu der aktuellen Zeit ist. Wenn der Unterschied z.B. größer als 3 Minuten ist war die Steuerung wohl aus somit kann man die Differenz vom einen zum anderen Datum ermitteln und diese Differenz zu der "Aus-Zeit" addieren.

Mit der Einschaltzeit kann man ähnlich verfahren oder einfach einen Betriebsstundenzähler laufen lassen.

Da sind aber mit unter die einen oder anderen Fallstricke drin.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
HI und danke für die schnelle Antwort.
Einen Betriebsstundenzähler habe ich bereits gefunden.

Nun versuche ich gerade das Format der Stunden (REAL) irgendwie in die Visu zu bekommen als JJJJ:TTT:hh:mm:ss Format.
Also Jahre:Tage:Stunden:Minuten:Sekunden
Da ich bisher nicht viel mit Zeitfunktionen zu tun hatte, weiß ich beim besten Willen nicht, wie ich das tun kann.

Weißt du hier auch eine Lösung?
Flo
 
Was mir gerade auffällt. Wenn die beiden Werte reichen würden als X Stunden An und Y Stunden Aus. Könnte man das Startdatum in eine Variable schreiben und immer das aktuelle Datum dazu in Bezug setzen. Die Differenz Ergibt die Gesamt zeit diese minus Deinen Betriebsstundenzähler ergibt die Zeit wo die Kiste aus war.

Zu der Visu Frage Stunden in Jahre, Tage, Stunden, Minuten umzurechnen sollte sind so schwer sein und ggf. würde ich für diese Zeiteinheiten eigene Variablen nehmen. Wenn man dies in DATE_AND_TIME pressen will wird es unschön bis unmöglich.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wird das aktuelle Datum nicht weitergezählt, auch bei ausgeschalteter SPS?
Wenn die Stuerung über eine Echtzeituhr verfügt dann ja. Aber davon ging ich ja aus. Ich habe Dir lediglich versucht zu erklären wie man an die gesamtlaufzeit kommen könnte. Akutelles Datum minus altes Datum (da wo die Messung beginnen soll) ergibt die Gesamtzeit. Wenn Du nun einen Betriebsstundenzähler hast ist gesamtzeit (aus der Rechnung) minus Deinem Betriebsstundenzähler ergibt die Offline Zeit.

Ist das so schwer zu verstehen?
 
Zuletzt bearbeitet:
Ich würde gleich mal die OSCAT durchstöbern und mir die "Date & Time" Funktionen anschauen. Wenn Du da mehr als zwei Tage Gesamtlaufzeit hast wird dies etwas komplizierter. Wenn man mit CoDeSys Date_and_Time von Date_and_Time abzieht dann kommt da Time raus. Time sind einfach ms und das mit der Speichergröße von einem DWORD (also UDINT). Da passt nicht so viel rein.


Ich würde die Datumswerte auch erst mal filetieren und mit den Bestandteilen weiter rechen.


www.oscat.de
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das hilft, danke.
Es wird sich um bis zu mehrere Jahre handeln.
Also wird ein DWORD nicht ausreichen.

Aber das mit dem Umrechnen hilft schonmal sehr.

Grüße und Dauemn drücken für heute abend!

Flo
 
Zurück
Oben