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
(bei Schritten) bzw. SFCActionType
(bei Aktionen). Die Variablen haben den Namen des Elementes, z. B. „step1“ für einen Schritt mit Schrittnamen „step1“. Die Strukturkomponenten beschreiben den Status eines Schritts bzw. einer Aktion oder die aktuell bereits abgelaufene Zeit in einem aktiven Schritt.
Tipp
Sie können in den AS-Elementeigenschaften angeben, ob CODESYS für dieses Flag eine Symboldefinition in die Symbolkonfiguration exportieren soll.
Schritt- und Aktionsstatus
Wichtig
Sie können die oben beschriebenen Variablen benutzten, um einen bestimmten Statuswert für einen Schritt zu erzwingen (forcen), um einen Schritt aktiv zu setzen. Beachten Sie jedoch, dass dadurch ein unkontrollierter Status des AS herbeigeführt wird.
Die Syntax für die implizit durchgeführte Variablendeklaration:
<stepname>:SFCStepType;
_<actionname>:SFCActionType;
Schritt | |
| Zeigt den Aktivationsstatus im aktuellen Zyklus Wenn |
| Zeigt den Aktivationsstatus für den nächsten Zyklus Wenn |
| Das Flag Für weitere Informationen siehe: AS-Flags |
| Verwendung nur für interne Zwecke |
| Einsprungpunkt für das Ermitteln von Informationen zu den ISFC-Elementen in der verketteten Liste bei aktiviertem "MetaStep"-Feature (siehe unten). |
IEC-Aktion | |
|
|
|
|
Verkettete Liste der Elemente im AS-Diagramm, implizite Variabe _MetaStep
Wichtig
Das "MetaStep"-Feature erzeugt viel zusätzlichen impliziten Code, um die Verkettung der Elemente zu ermöglichen. Aktivieren Sie es nur, wenn es wirklich benötigt wird.
Die implizite Variable _MetaStep
identifiziert das zum Initialschritt (Init Step) 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 darstellen. 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. Ein ISFCElement
besitzt hierbei immer entsprechend der Schnittstelle Vorgänger, Nachfolger, einen Namen, sowie die Anzahl der Elemente in der Verkettung. Je nach Typ des ISFCElement
-Objekts kann eine speziellere Sub-Schnittstelle mit noch weitere Attributen implementiert sein.
Die Variable <POU name>._MetaStep
dient als Einsprungpunkt. Mit Hilfe 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 SFC Programms eindeutig sein. Andersfalls 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 Eigenschaft
UseMetaStepsEnabled
(BOOL) aufTrue
Aktivieren Sie für jedes AS-Objekt, das die Funktionalität benötigt, im Dialog Eigenschaften des Objekts 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>
bzw. <variable name>:=_<action name>.<implicit variable>
status:=step1._x;
Von einem anderen Baustein aus mit Bausteinname:
<variable name>:=<POU name>.<step name>.<implicit variable>
<variable name>:=<POU name>._<action name><implicit variable>
status:=SFC_prog.step1._x;
Symbolerzeugung
Sie können in den Elementeigenschaften eines Schritts oder einer Aktion definieren, ob CODESYS für das Schritt- bzw. Aktions-Flag eine Symboldefinition hinzufügen soll. Dazu müssen Sie in der Ansicht Eigenschaften das gewünschte Zugriffsrecht in Spalte Symbol aktivieren.