Status/Aktueller Schritt/Reset in AS von extern setzen

Fakrae

Level-1
Beiträge
66
Reaktionspunkte
13
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,
ich verwende PCWorx, gibt es eine Möglichkeit, einen Reset eines AS-Ablauf-Diagramms herbei zu führen?
Hintergrund ist folgender:
Ich möchte mittels eines Enable-Signals (unterbrochen bspw über einen Schalter oder über die Visualisierung) einen Reset des ganzen Ablaufs in einen "sicheren" (den Anfangs-) Zustand bewirken.
Mit ST und einer Umsetzung mittels CASE-Anweisungen lässt sich das natürlich einfach machen. Das Enable-Signal in AS bei jedem Zustandswechsel als alternativen Zweig mit Sprung auszuführen geht natürlich auch, ist aber schon bei einem dutzend Zuständen sehr unübersichtlich und wird mit steigender Anzahl nicht besser (abgesehen davon, dass man dann immer und immer wieder das selbe macht, wodurch es fehleranfällig wird)
Den AS-Block beliebig tief in POEs zu verstecken (und bspw ST vorzuschalten) würde mich nicht stören, aber für den Automaten selbst fände ich AS logischer.
Einfach nur die Ausführung zu pausieren geht leider nicht, da sich durch externe Änderungen sonst unerlaubte Zustände ergeben könnten.

Danke schonmal!
 
Hallo Fakrae,

eine direkte Reset-Möglichkeit existiert leider nicht, jedoch kann man eine solche Funktion über einen anderen Mechanismus umsetzen:

In unserer Implementierung der AS kann für jeden Schritt eine Statusvariable aufgerufen werden. Sie heist genauso wie der jeweilige Schritt und ist vom Typ BOOL.
Diese Variable ist jeweils für aktiven Schritt TRUE und kann auch beschrieben werden. Somit kann ein beliebiger Schritt deaktiviert und ein anderer aktiviert werden.
Der Vorteil ist, dass so sogar schrittabhängig andere Zustände noch entsprechend steuern kann bevor ich den aktiven Schritt deaktiviere...
Mit etwas FB-Logik kann so recht schnell eine universelle Funktion zum Ansteuern eines beliebigen Schrittes erstellt werden.

Viele Grüße aus Pyrmont
Markus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die Antwort.
Gibt es hierzu einen Codeschnipsel? Aus der Beschreibung geht leider bspw nicht hervor, von wo aus/wie ich auf die entsprechende Variable zugreifen kann. Wenn ich dazu jetzt bei jedem Schritt einen FB/ST-"Baustein" hinterlegen muss (im Augenblick reicht mir das setzen/rücksetzen von boolschen Variablen) wäre es nicht viel besser als an jeder Transition eine Abzweigung zu machen.
 
Moin Fakrae,

die Nutzung des "Schrittmerkers" ist recht simpel. Einfach den Schrittnamen und ".x" nutzen: MyStep01.x

Eine weitere Erklärung findest Du in der Hilfe unter dem Punkt "Schritt in AS".

Viele Grüße
Markus
 
Zurück
Oben