Betriebstundenzähler

Speedster

Level-2
Beiträge
12
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey Ho!

Ich bin neu hier und hab direkt nen schwerwiegendes Problem :) .

Ich möchte mir gerne einen Zähler basteln , der nach einer Einstellbaren Zeit (als IN definiert) sagt wann diese Erreicht ist.

Hierzu war mein Ansatz die Zeit mit dem SFC1 auszulesen, Zu warten und anschließend die Current_Time(mit SFC1) abzufragen. Hierzu gibt es die Funktion von Siemens (SB_DT_DT) um die Differenz sich im Format "Time" ausgeben zu lassen. Leider ist das Subotimal, da die "Time"-Variable nur bis 28d und paar zwerquetschte, speichern kann.
Natürlich könnte man einfach mitzählen wieviel Minuten vergangen sind, aber eine weitere Problematik besteht darin das es auch funktionieren muss, wenn ich einen Zeitstempel setze, die SPS ausschalte, und später wieder anmache und wieder einen Zeitstemel setze um diese dann mit SB_DT_DT zu "vergleichen", dabei kann es aber passieren das es ins Minus sprint, oder liege ich da falsch ?

Es geht also zusammengefasst darum die Start-Zeit zu speichern, vergleichen, und falls es passiert einen längeren Zeitraum ausgeschaltet zu überwachen.

hoffentlich ist es versändlich ausgedrückt, würd mich freuen wenn jemand was hilfreiches dazu schreibt :)

grüße dominik

ps. CPU ist die 314c-2 ptp (S7-300)
 
Dann trenn doch die DT in Datum und Uhrzeit (gibts auch IEC-Funktionen dafür) und rechne die Differenz getrennt aus. Dach hast du zwei Werte, Tage + Millisekunden sein Mitternacht.
 
Hey Ho!

wenn es nun interessiert, ich hab es nun so gemacht das ich in Tage und hh:mm aufteile und jeden tag der dazukommt zähle ich 24h hinzu und speicher die Zeit in einer DINt in mm ab! danach rechne ich Modulo die Zeiten für mm:hh:dd raus und hab meine Zeit!

genialst, reicht nun bis 2035! Und wenn ich Zwischenzeitlich neu starte, funktionierts noch läger *gg

Dankeschön nochmal!
 
Zurück
Oben