Implizite Variablen
Jedes AS-Objekt stellt implizite Variablen bereit, mit denen Sie zur Laufzeit den Status von Schritten und IEC-Aktionen überwachen können. Diese impliziten Variablen werden für jeden Schritt und jede IEC-Aktion automatisch angelegt.
Die impliziten Variablen sind Strukturinstanzen vom Typ SFCStepType für Schritte oder SFCActionType für Aktionen. Der Variablenname entspricht dem Namen des zugehörigen Elements, beispielsweise step1 für einen Schritt mit dem Schrittnamen step1. Die Strukturkomponenten liefern Informationen über den aktuellen Zustand eines Schritts oder einer Aktion sowie über die bereits verstrichene Zeit eines aktiven Schritts.
Schritt- und Aktionszustand
Wichtig
Sie können die oben beschriebenen Variablen verwenden, um einen bestimmten Statuswert für einen Schritt zu erzwingen (forcen) und dadurch einen Schritt zu aktivieren. Beachten Sie jedoch, dass dies zu einem inkonsistenten oder unkontrollierten Zustand der Ablaufsprache führen kann.
Die Syntax für die implizit durchgeführte Variablendeklaration:
<step name> : SFCStepType;
_<action name> : SFCActionType;TRUESchritt | |
|---|---|
| Zeigt den Schrittzustand im aktuellen Zyklus an. Bei |
| Zeigt den Schrittzustand für den nächsten Zyklus an. Wenn |
| Variable, die die Zeitspanne, die seit der Aktivierung des Schritts verstrichen ist, liefert. Diese Information steht nur für Schritte zur Verfügung. Die Zeit wird unabhängig davon erfasst, ob in den Schritteigenschaften eine Mindestzeit definiert ist. Für weitere Informationen siehe: AS-Flags |
| Variable, die nur für interne Zwecke verwendet wird. |
| Einsprungpunkt für das Ermitteln von Informationen zu den |
IEC-Aktion | |
|---|---|
| Zeigt den Aktionszustand im aktuellen Zyklus an.
|
|
|
Implizite Variable _MetaStep
Variable für die verkettete Liste der in der AS-POU programmierten Elemente
Wichtig
Das _MetaStep-Feature erzeugt viel zusätzlichen impliziten Code, um die Verkettung der Elemente zu implementieren. Aktivieren Sie das Feature nur, wenn es wirklich benötigt wird.
Die implizite Variable _MetaStep identifiziert das zum Initialschritt eines AS-Diagramms gehörende Element. Wenn das _MetaStep-Feature aktiviert ist, werden zusätzliche implizite Variablen angelegt, die eine verkettete Liste für die Elemente in einem AS-Diagramm ergeben. Vom Initialschritt aus sind alle Transitionen, Schritte und Sprünge durch Verweise auf andere ISFCElement-Objekte (aus der IecSfc.library >= V4.4.0.0) miteinander verbunden.
Jedes ISFCElement besitzt entsprechend der Schnittstelle
Vorgänger
Nachfolger
Namen
Anzahl der Elemente in der Verkettung
Je nach Typ des ISFCElement-Objekts kann eine speziellere Subschnittstelle mit noch weiteren Attributen implementiert sein.
Die Variable <pou name>._MetaStep dient als Einsprungpunkt. Mithilfe der IQueryInterface-Funktion können in der verketteten Liste der ISFC-Elemente jeweils Informationen zu Vorgänger- und Nachfolgeelementen ermittelt werden.
Einschränkungen: Im aktuellen Stand des Features müssen die Namen von Transitionen innerhalb eines AS-Programms eindeutig sein. Andernfalls wird eine Warnung ausgegeben und die zusätzlichen Daten der verketteten Liste werden nicht erzeugt.
Für das Aktivieren der _MetaStep-Funktionalität müssen Sie folgende Schritte durchführen:
Setzen Sie im Dialog Projektinformationen auf der Registerkarte Eigenschaften die boolesche Eigenschaft
UseMetaStepsEnabledaufTRUE.Aktivieren Sie für jedes AS-Objekt, das die Funktionalität benötigt, in dessen Dialog Eigenschaften auf der Registerkarte AS-Einstellungen die Verwendung der Variablen
SFCMetaSteps.
Zugriff auf implizite Variablen
Syntax für den Zugriff
Innerhalb der POU weisen Sie die implizite Variable direkt zu:
<variable name> := <step name>.<implicit variable> oder <variable name> := _<action name>.<implicit variable>
status := step1._x;
Von einem anderen Baustein aus mit Instanzpfad:
<variable name> := <pou name>.<step name>.<implicit variable><variable name> := <pou name>._<action name>.<implicit variable>
status := SFC_prog.step1._x;
Symbolerzeugung
In den Eigenschaften eines Schritts oder einer Aktion können Sie festlegen, ob für das entsprechende Schritt- oder Aktionsflag eine Symboldefinition hinzugefügt wird. Aktivieren Sie hierzu in der Ansicht Eigenschaften das gewünschte Zugriffsrecht in der Spalte Symbol.