Sonstiges Graph 7 - Schrittkette : Best practice / Zeitgesteuert

Patrick.lu

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Graph 7 - Schrittkette : Zeitgesteuert (benötige Hilfe)

Guten Tag,

Folgendes Szenario:
Es handelt sich um eine zyklische Wiederhohlung von 180 Minuten die ggf. durch einen gemessenen Wert X früher gekürtzt werden kann.
Ein Kompressor läuft während 100 Minuten, dann erfolgt eine Regenrationszeit bis zur Minute 160.
Danach wird eine Pumpe gestartet, diese läuft während 10 Minuten. Wird jedoch ab Minute 160 der Prüfwert X erreicht, soll die Pumpe garnicht laufen beziehungsweise, falls bereits im Betrieb, gestoppt werden und die Zykluszeit soll abgekürtzt werden.

Ich habe das ganze wie folgt gelöst. Jedoch sieht die Lösung für mich unsauber aus.
Für die Zeitüberprüfung habe ich jeweils ein "CMP>U: Größer ununterbrochene Schrittaktivierungszeit" des jeweiligen Schrittes geprüft.

Graph.JPG

Habt Ihr vllt. andere Lösungsansätze?
Würde mich sehr über Anregungen freuen.
 
Zuletzt bearbeitet:
Für sowas benutze ich ich immer 2 TIME_TCK aufrufe. Einem zum Start (einmalig) und dann der andere um die aktuelle Dauer über die Differenz zu ermitteln.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für die schnelle Antwort.

Timer.JPG

Ich habe die Lösung probiert, jedoch geht er bei mir nicht in der Schrittkette weiter, ich kann die Differenz für "Timer >" nutzen oder?

Init Schritt:
CALL TIME_TCK
(RET_VAL => "Timer_Init"
)

Schritt 3:

CALL TIME_TCK
(RET_VAL => "Timer_1"
)
"Timer_Differenz" := "Timer_1"-"Timer_Init"

Dann 2 Transitionen, eine die zurück in der Folge springt, wenn die Differenz kleiner 20 Sekunden ist und die rechte Transition beendet die Schrittkette, wenn grösser 20Sekunden.
Es scheint mir jedoch, also würde er keine der beiden Transitionen berücksichtigen.
 
Aus deinem Bild werd ich nicht sonderlich schlau. Aber ich programmier die TIME_TCK nie in der Schrittkette sondern immer ausserhalb in einem FC. Aber im Prinzip denkst du richtig. Sagen wir mal in irgendeinen Schritt 20. Mit einer Flanke wenn du in den Schrittgehst rufste den ersten auf. Solange der Schritt 20 aktiv ist den 2ten. Aus 2-1 Differenz und dann Abfrage auf größer deiner Endbedingung.
 
Zurück
Oben