TIA Abgelaufene Zeit auch bei CPU-Stopp zählen ---> Systemzeit ?

SPS_Admin

Level-2
Beiträge
43
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen liebe Community,

bin gerade dabei einen Baustein für eine Zentralschmierung zu schreiben.
Die Schmierung soll nach Ablauf einer gegebenen Zeit oder nach gewissen eingestellten Maschinentakten gestartet werden.

Mein Problem ist nun, dass die Zeit auch bei CPU-Stopp weiter laufen soll, ist wichtig denn wenn die Zeit abgelaufen ist muss gleich bei CPU-Start wieder geschmiert werden.
Selber einen Takt generieren um zu zählen funktioniert bei CPU-Stopp natürlich nicht.
Die Funktion TimeTck um direkt die Systemzeit auszulesen kann ich auch vergessen, weil der Wertebereich nur ~24 Tage zulässt und dann von vorne beginnt.
Es kann sein das eine Anlage über einen Monat nicht in Betrieb ist, danach muss die Schmierung sofort anlaufen.

Vielleicht hat jemand auf die Schnelle eine saubere Idee oder hat sowas ähnliches schon mal selbst Programmiert.
Freue mich auf euren Input !


Hardware:
1517F

Software:
TIA V15.1
 
Du kannst Tag und Uhrzeit auch direkt auslesen.
Wenn du das jeden Zyklus machst, die ausgelesene Zeit mit einer gespeicherten vergleichst bzw. die Differenz bildest, kannst du daraus eine Zeitfunktion bilden.

Also:

1. Uhrzeit auslesen
2. Differenz zur "letzten abgespeicherten" bilden
3. Differenz auf einen gespeicherten "Summenzeitwert" aufaddieren
4. augelesene Uhrzeit in die "letzte abgespeicherte" Uhrzeit ablegen

Der Summenzeitwert kann dann von dir beliebig genutzt werden, für eine Zeitfunktion, für mehrere, du kannst ihn nullen etc.

Wenn die SPS auf Stop geht, dann belibt der letzte abgespeicherte Wert im DB erhalten (unbedingt auf remanent stellen).
Wenn sie dann wieder startet, wird im nächsten Zyklus wieder deine Funktion durchlaufen und eine "große" Differenz festgestellt, die du ja auf deinen "Summenzeitwert" aufaddierst.

Welches Zeitformat du nutzt, hängt davon ab, wie lange das läuft. DT hält Tag und Zeit, es gibt in der Bibo auch Funktionen, um einfach mit Zeiten rechnen zu können.

PS: siehen rechts im Tia-Portal bei Anweisungen/Erweiterte Anweisungen/Datum und Uhrzeit
 
Zuletzt bearbeitet:
Wenn du nur Zeit (ohne Tag) nutzt, paß auf, falls der Stop über Mitternacht hinausgeht, dann könnte die Differenz negativ werden und du mußt diesen "Überlauf" gesondert betrachten.
Wenn du Tag und Zeit nutzt und damit rechnest hast du das Problem nicht.
Da mußt du mal etwas experimentieren.
 
Wie oft wird denn zyklisch geschmiert? Wäre es denn ein großer Fehler, prinzipiell nach dem Hochlaufen erst einmal zu schmieren?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das kommt ganz auf die Anlage und den vorliegenden Schmierplan an und ob es sich um linear Führungen, Lager usw. handelt...
Wenn die Maschinetakte nicht erreicht werden, wird gut alle 10-30 Tage geschmiert, das kann man sagen. Es sollte laut Fluidtechnik nicht zu viel geschmiert werden, einige Firmen schaltern kleinere Anlagen über Nacht aus. Wenn jeden Tag geschmiert wird verkleben die Linearführungen natürlich stark und der Verschleiß wird höher.
 
Ich bin heute Morgen noch auf einen Baustein von Siemens gestoßen , der im Prinzip die selbe Funktion abdeckt die ich jetzt von Hand ausprogrammiert habe. Bei mir werde ich, was die Berechnung betrifft, nichts mehr ändern.

Hier der Link falls jemand ein ähnliches Problem hat und sich nicht die Zeit nehmen möchte das Ganze selbst auszuprogrammieren:

https://support.industry.siemens.co...-für-ein-endgerät-(z-b-pumpe)-?dti=0&lc=de-WW
 
Zurück
Oben