TIA Graph Transitionen

MatthiasNm

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

ich habe eine Frage zu Transitionen bei der Sprache Graph im TIA Portal. Meine Schrittkette ist relativ einfach aufgebaut. Sie besteht aus einem Init, und danach folgen 5 Einzelschritte, alle nacheinander. Ich habe ein Häkchen bei "Schritte überspringen" gesetzt. In jedem Einzelschritt wird 1 Bit mit N gesetzt, setze solange Schritt aktiv. Dieses Bit steuert einen Hubzylinder an. Bis dieser ausgefahren ist, dauert es ca 10 Sekunden, er fährt sehr langsam. Das soll so sein und ist ok. Was passiert, wenn, sagen wir Schritt 2 gerade aktiv ist und nach ca 1 Sekunde oder noch früher die Transitionsbedingung von Schritt 2 erfüllt wird? Ziel wäre es, dass der Zylinder nicht vollständig ausgefahren wird, es soll weitergeschalten werden. Als Transition habe ich "Ende erreicht" verschalten oder "Abbruch aufgrund eines Fehlers"

Gruß
 
Moin MatthiasNm,

also, in Schritt 2 wird der Zylinder ausgefahren?
In der Transition von Schritt 2 zu Schritt 3 ist die Weiterschaltbedingung entweder "Ende erreicht" oder "Abbruch aufgrund eines Fehlers"?

Na, dann wird das Ausfahren des Zylinders angesteuert, bis "Ende erreicht" oder "Abbruch aufgrund eines Fehlers".

Also entweder ist der Zylinder ausgefahren ("Ende erreicht") oder ggf. nicht ("Abbruch aufgrund eines Fehlers").

Wenn das Bit, das das Ausfahren des Zylinders ansteuert mit 'N' "gesetzt" (besser: "angesteuert") wird, dann ist das Bit nur solange true, solange der entsprechende Schritt (2) aktiv ist. Wenn die Transition true ist und der Schritt (2) verlassen wird, wird das Bit nicht mehr angesteuert.

VG

MFreiberger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke, es sind 5 Einzelschritte und 5 unterschiedliche Zylinder. Man kann diese Zylinder mit einem Button an- und abwählen. Ist einer davon nicht angewählt, dann ist das Bit "Abbruch aufgrund eines Fehlers" true. Ziel, der Zylinder soll gar nicht erst fahren.
 
Moin MatthiasNm,

für Deinen Anwendungsfall gibt es den "Interlock". Im Schritt kann man einen Interlock definieren und an die Aktion den Interlock projektieren (-C-). Dann wird die Anweisung in dem Schritt nur ausgeführt, wenn der Interlock es zulässt. Die Bedingung für den Interlock (Zylinderabwahl) kann man dann halt auch einfach an die Transistion programmieren, so, dass es weitergeht, wenn die Endlage nicht erreicht wird.
Das ist die "elegante" Methode.
Alternativ könnte man auch zu jedem Schritt eine Alternativverzweigung programmieren.

VG

MFreiberger
 
Einfache Erklärung dazu:
Wenn "Schritt überspringen" aktiviert ist, dann wird ein Schritt übersprungen beim dem die folgende Transition schon durchschaltet.
Wenn "Schritt überspringen" deaktiviert ist, wird der Schritt, auch wenn die folgende Transition durchschaltet, mindestens für einen CPU-Zyklus ausgeführt.

Edit:
Dazu die Hilfe von TIA:
1656425408060.png
 
Einfache Erklärung dazu:
Wenn "Schritt überspringen" aktiviert ist, dann wird ein Schritt übersprungen beim dem die folgende Transition schon durchschaltet.
Wenn "Schritt überspringen" deaktiviert ist, wird der Schritt, auch wenn die folgende Transition durchschaltet, mindestens für einen CPU-Zyklus ausgeführt.
Wie kommst du auf mindestens einen Zyklus? In der Hilfe steht der Schritt wird nicht aktiv.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie kommst du auf mindestens einen Zyklus? In der Hilfe steht der Schritt wird nicht aktiv.
Einfache Erklärung dazu:
Wenn "Schritt überspringen" aktiviert ist, dann wird ein Schritt übersprungen beim dem die folgende Transition schon durchschaltet.
Wenn "Schritt überspringen" deaktiviert ist, wird der Schritt, auch wenn die folgende Transition durchschaltet, mindestens für einen CPU-Zyklus ausgeführt.
Ja, wenn die Option angehakt ist.
 
Zurück
Oben