TIA TIA v15, Timer auswerten

--alex--

Level-2
Beiträge
90
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich habe einen Timer, bei dem über HMI der Zeitwert vorgegeben wird.
Dazu verwende ich einen DB mit S5Time.

In der Visu gebe ich zB. 30000 ein, der DB zeigt mir S5T#30S
Das Ganze passt soweit.

Jetzt zu meinem Problem.
Ich habe einen variablen prozentuellen Sollwert zb. 45,0%

Jetzt soll bei Start des Timers eine Funktion für genau 45,0% der Timerzeit ausgeführt werden.
Im obigen Fall für 13,5 Sekunden.


Die Timerzeit und der % Sollwert sind variabel.



Hat jemand eine Ahnung wie ich das bewerkstelligen kann?

Danke im Voraus
Alex
 
Wenn du eine 1500-er SPS verwendest, würde ich empfehlen, von den "alten" Timern wegzugehen und die Softwaretimer zu nutzen (TON, TOF). die kannst du im Format Time einstellen, welches den Zeitwert direkt in Millisekunden enthält.

Wenn du einen Timer im Programm hast, dann click mal mit der Maus drauf und drücke F1. In der Hilfe kannst sehen, dass die Timer mehrere Ausgänge haben, u.a. auch einen, mit der abgelaufenen Zeit.
Dazu siehst du, welches Format dieser Ausgang hat. Damit kannst du dann arbeiten. Du errechnest von der Zeit, die du am Zeit-Input anlegst, den prozentualen Wert und kannst dann im Netzwerk nach der Zeit einen Vergleicher einbauen, der bei gestarteter Zeit den Ausgang des Timers mit deiner errechneten Zeit vergleicht (größer oder kleiner, nicht auf Gleichheit). Damit wiederum kannst du dann eine boolsche Variable ansteuern, die dann besagt, "prozentuale Zeit abgelaufen" bzw. "nicht abgelaufen", je nach Bedarf.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Ralle,

1500er habe ich.

Habe das jetzt auf TON geändert.
Im DB sehe ich jetzt die beiden "Time" Werte.

Habe jetzt noch eine "dumme" Frage.

Wie muss ich die Time Werte umwandeln um damit rechnen zu können?


Danke
Alex
 
Versuche mal, direkt damit zu rechnen, sollte gehen.
Ansonsten würde ich in DINT wandeln.

Wenn du die Prozente ausrechnen willst, dann entweder direkt mit den Millisekunden (Achtung beim dividieren, dass da nichts wegfällt) oder in Gleitpunkt wandeln.
 
Zurück
Oben