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 von TwinCAT 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.

Schritt- und Aktionsstatus

Die Syntax für die implizit durchgeführte Variablendeklaration:

<stepname>:SFCStepType;

_<actionname>:SFCActionType;

Folgende implizite Variablen stehen Ihnen für Schritt- oder IEC-Aktionsstatus zur Verfügung:

Schritt

<Schrittname>.x

Zeigt den Aktivationsstatus im aktuellen Zyklus.

Wenn <Schrittname>.x = TRUE, führt TwinCAT den Schritt im aktuellen Zyklus aus.

<Schrittname>._x

Zeigt den Aktivationsstatus für den nächsten Zyklus.

Wenn <Schrittname>._x = TRUE und <Schrittname>.x = FALSE, führt TwinCAT den Schritt im nächsten Zyklus aus, d.h. <Schrittname>._x wird zu Beginn eines Zyklus in <Schrittname>.x kopiert.

<Schrittname>.t

Das Flag t liefert die aktuelle Zeitspanne, die seit Aktivwerden des Schrittes verstrichen ist. Dies gilt nur für Schritte, unabhängig davon ob in den Schritteigenschaften eine Minimalzeit definiert ist oder nicht.

Siehe auch AS-Flag SFCError.

<Schrittname>._t

Verwendung nur für interne Zwecke

IEC-Aktion

_<Aktionsname>.x

TRUE, wenn die Aktion ausgeführt wird.

_<Aktionsname>._x

TRUE, wenn die Aktion aktiv ist.

Implizite Variablen 1:

Sie können die oben beschriebenen Variablen benutzten, um einen bestimmten Statuswert für einen Schritt zu erzwingen (forcen), d.h. um einen Schritt aktiv zu setzen. Beachten Sie jedoch, dass dadurch ein unkontrollierter Status des AS herbeigeführt wird.

Zugriff auf implizite Variablen

Syntax für den Zugriff:

Innerhalb der POU weisen Sie die implizite Variable direkt zu: <Variablenname>:=<Schrittname>.<implizite Variable> bzw. <Variablenname>:=_<Aktionsname>.<implizite Variable>

Beispiel:

status := step1._x;

Von einem anderen Baustein aus mit POU-Name:  <Variablenname>:=<POU-Name>.<Schrittname>.<implizite Variable> bzw. <Variablenname>:=<POU-Name>._<Aktionsname>.<implizite Variable>

Beispiel:

status := SFC_prog.step1._x;

Siehe auch: