Zeitfunktion mit ST

Wini

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

ich hätte eine Frage bezüglich Zeitfunktionen in ST. Ich möchte einen einfachen z.B. einen einschaltverzögerten Timer in ST programmieren ohne einen FB zu verwenden. Hat jemand eine Idee?
 
Hallo,

ich würde einen TON verwenden, wenn es einfach seien soll. Ansonsten einen INT bei jedem Zyklus erhöhen. Zykluszeit mal Zählerwert ergibt dann irgendwann die gewünschte Verzögerung.
Bei 10ms Zykluszeit musst du den Zähler zum Beispiel auf 100 zählen lassen für 1 Sekunde Verzögerung.

Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Standard-Timer-FBs basieren auf einem TimeTick-Zähler, der die Millisekunden ab SPS-Start hochzählt. Auf diesen Zähler kannst Du mit der Funktion TIME() zugreifen und Dir damit eigene Timer-FBs bauen.
 
Danke für die Tipps! Wenn ich es mit einem TimeTick-Zähler mache, zählt dieser beim start nicht ab 0 hoch sondern z.B bei T#256m57s263ms.... Kann man die Startzeit einstellen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Besten Danke der FB funktioniert! Eine Frage hätte ich da noch, wenn die SPS z.B. paar Jahre läuft hört dann irgendwann der Zähler auf ... also hat er irgendwann eine grenze erreicht und die funktion ist dann nicht mehr gegeben ist??
 
Der hat dann einfach einen Überlauf (springt zu 0 und zählt weiter). Erkennbar daran, wenn der aktuelle Wert kleiner als der Startwert ist. Den Überlauf mußt Du 'rausrechnen.

Kannst ja selber ausrechnen, wann der Überlauf kommt oder schau ins Codesys-Handbuch oder -Hilfe.
Standard Datentypen ... TIME ... Maximaler Wert: 49d17h2m47s295ms (4194967295 ms)

Harald
 
Zurück
Oben