TIA Schrittkette Alternativ-zweige

SimUser

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

ich programmiere gerade eine Schrittkette mit Alternativverzweigungen. Das heißt: Ich starte den Ablauf wenn Schalter 1 gedrückt wird und danach wird die Kette durchlaufen. Flasche wird über ein Band befördert, Ventil öffnet sich, Flasche wird befüllt ...etikettiert. So, nachdem dieser Ablauf durch ist gehts mit Band 2 weiter, aber automatisch, der Schalter S1 wird nur einmal gedrückt und ich habe ein zweites Band. Gelöst habe ich dies mit Alternativerzweigungen, hier ein gutes Beispiel:

http://www.spshaus.ch/inc/Downloads/Kurse/TIA-SYSUP/spshaus_S7_GRAPH.pdf

Nicht zu 100% das was ich mache, aber ihr könnt euch jetzt was drunter vorstellen: (Alternativzweig dort: S7 - S8 (Label nach 10 Flaschen)

So, jetzt meine Frage: Wie kann ich erreichen, dass nachdem Alternativzweig 1 durchlaufen wurde, Alternativzweig 2 durchlaufen wird? Danach gehts dann mit 3 weiter dann mit 4 ... und schließlich mit den Anweisungen die unterhalb der Alternativzweige stehen. Bis zum Kettenende. Oder kann ich das mit dem HMI Bedienpanel lösen, indem ich die Variable die für den Start von Alternativzweig 2 , bzw. 3 ....4 zuständig ist mit einem Button verknüpfe? Dann soll nach Druck auf den Button der Zweig gestartet werden. Über Hilfe würd ich mich freuen.

Gruß
 
Am Ende des ersten Durchlaufs einen Merker setzen, der dann in der Alternativverzweigung ausgewertet wird (Durchlauf 1 muß false sein, 2 muss true sein). Ich würde auch einen Init-Schritt vor der Schleife einfügen, indem dieser (und auch andere Merker) bei Neustart der Kette rückgesetzt werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du könntest auch Zweig 1 im Zweig 3 rücksetzen, Zweig 2 in Zweig 4, Zweig 3 in Zweig 1 usw...
Denn dann musst du nicht warten das der ganze Ablauf durch ist, sondern kannst gleich danach mit dem nächsten Starten, hast aber immer noch einen Zweig zwischen den beiden frei.
Um eventuelle Zeitunterschiede abzufangen.

PS: Nur eine Idee nebenbei, weis nicht ob es dir helfen kann. Doch wenn du nicht immer den Ganzen Ablauf abwarten willst bevor du die nächste Flasche transportieren, befüllen oder etikettieren kannst, dann sollte das helfen.

Edit: Doch den Übergang zwischen den Zweigen solltest du wie oben von Ingmar64 beschrieben machen.
 
Zuletzt bearbeitet:
Danke für die Antworten. Das werde ich dann mal probieren. Wäre mein Vorschlag mit dem HMI Bedienpanel auch denkbar? Ich habe 5 Variablen, die eine steht für "Starte Band 1", die zweite für "Starte Band 2" usw. in der Schrittkette stehen die ganz oben bei den jeweiligen Alternativzweigen. Kann ich diese nicht einem Button zuordnen, damit das Band mit einem Druck darauf gestartet wird?
 
Ganz anderer Ansatz:
Alle E/As sowie eine Start- und eine Fertigvariable als E/A der Schrittkette festlegen und die Schrittkette mehrfach verwenden. Natürlich muß die Schrittkette dann mit verschiedenen Istanz-DB aufgerufen werden, d.h. für jedes Band ist einer notwendig.
Die Start- und die Fertigvariablen sind in/Out. Die Startvariable läßt die Kette loslaufen und im nächsten Schritt werden Start und Fertig zurückgesetzt. Im letzten Schritt wird dann Fertig gesetzt.
Dann laufen die Bänder erst mal unabhängig voneinander und die Abhängigkeit untereinander wird mit den Start- und Fertig-Merkern im aufrufenden FC realisiert.
 
Ich hab die Tipps umgesetzt und es funktioniert. Hat alles geklappt und die Schrittkette ist fast fertig. Eine Frage hätte ich noch: Ist es eigentlich möglich eine Schrittkette genau 4 mal durchlaufen zu lassen? Meine Kette sieht vom Aufbau her genauso wie im Beispiel oben aus. Ich habe insgesamt 4 Ketten erstellt und am Ende jeweils ein Kettenende eingefügt. Ich wäre für Tipps dankbar!

Gruß
 
Mit einem Zähler einfach mitzählen wie oft sie durchlaufen wurde.... sobald die 4 erreicht ist einfach ausführen lassen was du möchtest.
Aber nicht vergessen den Zähler wieder 0 zu setzen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke, ich hab das ganze jetzt so wie in dem Beispiel oben gelöst (Seite 108 ). Ich habe kurz vor Ende der Schrittkette einen neuen Schritt eingefügt und eine Alternativverzweigung mit einem Sprungbefehl zu dem ersten Schritt erstellt. Dann habe ich zwei Vergleicher eingefügt: einmal mit einem kleiner als Zeichen und den anderen mit einem = 4. Jetzt springt er immer dann wenn die Zahl kleiner als 4 ist wieder zum Anfang. Eine letzte Frage noch: Wenn ich jetzt am Ende, beim letzten Schritt ein Kettenende einfüge, ist die Kette damit dann wirklich beendet oder läuft sie weiter, also von vorne? Nach diesen 4 Durchläufen soll Schluss sein.

Gruß
 
Zurück
Oben