Abbruch von Schrittketten in XSOFT???

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an alle, die das hier lesen...

Ich habe mal wieder nen Problem mit der Programmierung in XSOFT.

Also, es geht wieder mal um die Programmierung der Schweissanlage.
Ich habe zwei Betriebsarten:

Automatikbetrieb:
Ist ein Schlüsselschalter auf Automatikbetrieb eingestellt, so soll mittels Zweihand Auslösung der Prozess gestartet werden. Zunächst soll eine Schutztür geschlossen werden und dann der Stempel zum schweissen auf das Werkstück gefahren werden, der Ultraschallimpuls für ne bestimmte Zeit gestartet werden und nach Ablauf der Zeit wieder gestoppt werden. Nun soll die Tür wieder geöffnet werden und ein neuer Prozess kann gestartet werden.

Einrichtbetrieb:
Im Einrichtbetrieb sollen dem Schweißgenerator zunächst einige Parameter über CANopen eingestellt werden, und wenn das geschehen ist sollen einige Prozesse (wie im Automatikbetrieb) gestartet werden könne um die Einstellungen zu überprüfen und gegebenenfalls die Parameter noch zu ändern.

Soweit wäre das ja denke ich recht einfach...

Ich habe mein Programm zunächst so strukturiert, dass ich das Hauptprogramm PLC_PROG als Ablaufkette programmiert habe bei dem als erstes die Anlage über einen Tatser eingeschaltet wird und dann der Schlüsselschalter als Alternativkette abgefragt wird und in den jeweiligen Modus gesprungen wird. Ist bspw. der Automatikmodus gewählt so wird im nächsten Schritt ein eigener Funktionsbaustein für die eigentliche Schrittkette aufgerufen. Das funktioniert auch eigentlich ganz gut, allerdings, wenn ich dann im Hauptprogramm den AUS Taster simuliert auf AUS schalte, so bleibt die aufgerufene Kette (Automatikbetrieb) im letzten angesteuerten Scvhritt stehen und würde beim nächsten Aufruf wieder ab diesem Punkt fortfahren...

Und jetzt ebndlich meine Frage... Wie kann ich es hinkriegen, dass die Kette in dem Fall zurückgesetzt wird, wenn das Hauptprogramm den Baustein nicht mehr aufruft???

Über Eure Hilfe bin ich sehr dankbar.

PS: Hat jemand vielleicht ein Beispielprogramm an dem man gut sehen kann, wie man umfangreiche Programme strukturiert, und vielleicht sogar, wie dieser Watch und Rezepturverwalter in XSOFT verwendet werden kann???

Mit freundlichen Grüssen,
Ralph!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ralph schrieb:
Und jetzt ebndlich meine Frage... Wie kann ich es hinkriegen, dass die Kette in dem Fall zurückgesetzt wird, wenn das Hauptprogramm den Baustein nicht mehr aufruft???
Mit freundlichen Grüssen,
Ralph!

Hallo Ralph,

Du kannst die Schrittkette in XSoft über AS-Flags (schau mal unter
diesem Stichwort in der Online Hilfe nach) steuern. Das heisst, deklariere
in Deinem AS-Programm eine Input-Variable SFCReset. Wenn Du die auf
TRUE setzt, dann wird die Schrittkette zurückgesetzt. Wenn die wieder
FALSE ist, kann sie wieder weiterlaufen.

Bernhard
 
Danke schonmal für den Tip mit dem SFCReset. In meinem Hauptprogramm funktioniert das auch ganz gut, aber in dem aufgerufenen Programm passiert irgendwie nichts, obwohl ich in diesem Programm den SFCReset als Globale Variable deklariert hab. Oder muss ich den in dem Programm gesondert in jeden Schritt schreiben?

MfG,
Ralph!
 
Du hast ein Programm P1 mit einer Schrittkette und ein Programm P2 mit einer Schrittkette, und P1 ruft P2 auf ? dann solltest du SFCReset in jedem Programm definieren und musst auch beide triggern, damit beide Schrittketten zurückgesetzt werden.
Du kannst den Initialschritt von P1 in etwa so schreiben

P2.SFCReset := SFCReset;

dann wird der Wert von SFCReset durchgeschleift und die aufgerufene Schrittkette verhält sich immer so wie die aufrufende.

Bernhard
 
Zurück
Oben