AS-Flags
AS-Flags sind implizit erzeugte Variablen mit vordefinierten Namen, die die Funktionen zur Steuerung und Diagnose von AS-Diagrammen bereitstellen. Mithilfe dieser Flags können Sie Transitionen gezielt auslösen.
Beispielsweise
Zeitüberschreitungen erkennen
Schrittketten zurücksetzen
Tippbetrieb aktivieren
Für den Zugriff auf diese Variablen müssen die entsprechenden Flags deklariert und aktiviert werden.
Name | Datentyp | Beschreibung |
|---|---|---|
|
|
|
|
| Verhält sich ähnlich wie Im Unterschied dazu wird nach der Initialisierung der Initialschritt allerdings weiter ausgeführt. So können Sie beispielsweise im Initialschritt das |
|
| Wird Wenn im Programm nach der ersten Zeitüberschreitung eine weitere auftritt, wird diese nur dann erkannt, wenn die Variable Die Deklaration von |
|
| Dient dem gezielten Einschalten ( Wenn Sie diese Variable deklarieren und aktivieren (AS-Einstellungen), müssen Sie sie auch auf Voraussetzung ist die Deklaration von |
|
| Speichert den Namen des Schritts, der eine durch Der Name wird solange bewahrt, bis der registrierte Schrittfehler mit Hilfe von Voraussetzung ist die Deklaration von |
|
| Speichert im Falle einer Zeitüberschreitung den Namen des Bausteins, in dem eine durch Voraussetzung ist die Deklaration von |
|
| Solange diese boolesche Variable Voraussetzung ist die Deklaration von |
|
| Solange diese Variable |
|
| Wird |
|
| Zeigt den Namen des gerade aktiven Schritts an, unabhängig von der Zeitüberwachung Bei einer Parallelverzweigung wird immer der Name des Schritts des äußersten rechten Zweigs gespeichert. |
|
|
Wenn Sie den Tippbetrieb durch |
| Enthält als Zeichenkette alle Variablen, die zum Gesamtwert
Zur erweiterten Konfiguration der Analyse sehen Sie auch: AS | |
| Enthält in einer Tabelle die Variablen, die zum Gesamtwert
Zur erweiterten Konfiguration der Analyse sehen Sie auch: AS |
Implizite Erzeugung der AS-Flags
AS-Flags werden automatisch deklariert, wenn Sie die entsprechende Option aktiviert haben. Diese Option können Sie im Eigenschaften-Dialog AS-Einstellungen für einzelne Bausteine oder im Projekteinstellungen-Dialog AS für alle AS-Bausteine im Projekt setzen.
Tipp
Die AS-Einstellungen der AS-Flags von einzelnen Bausteinen sind nur wirksam, wenn Sie die Option Voreinstellungen verwenden nicht aktiviert haben. Wenn Sie diese Option aktiviert haben, dann gelten die Einstellungen, die in den Projekteinstellungen definiert sind.
Tipp
AS-Flags, die Sie im AS-Einstellungen-Dialog deklariert haben, sind nur in der Online-Ansicht des AS-Bausteins sichtbar.
Tipp
In den AS-Elementeigenschaften können Sie festlegen, ob für ein Flag eine Symboldefinition in die Symbolkonfiguration exportiert werden soll.
Explizite Erzeugung der AS-Flags
Eine manuelle Deklaration, wie es in CoDeSys V2.3 erforderlich war, ist nur noch erforderlich, wenn ein Schreibzugriff auf die Flags aus einem anderen Baustein erfolgen soll. Beachten Sie dabei Folgendes:
Wichtig
Wurden die Flags in einer globalen Variablenliste deklariert, müssen Sie die Einstellung Deklarieren im Dialog AS-Einstellungen deaktivieren. Andernfalls wird zusätzlich implizit ein lokales AS-Flag erzeugt. Dieses Flag wird dann anstelle der globalen Variable verwendet.
Anwendungsbeispiel für SFCError
Sie haben einen AS-Baustein namens sfc1 angelegt, der einen Schritt s1 enthält. In den Eigenschaften des Schritts haben Sie Zeitbegrenzungen definiert.
Überschreitet die Aktivitätsdauer des Schritts s1 den in seinen Zeiteigenschaften festgelegten Grenzwert, wird das Flag SFCError gesetzt. Die Applikation kann dieses Flag auswerten, um auf die Zeitüberschreitung zu reagieren.
Um diesen Zugriff zu erlauben, müssen Sie das Flag in den AS-Einstellungen aktivieren und deklarieren. Wenn Sie es nur deklarieren, wird das AS-Flag zwar in der Onlineansicht von sfc1 im Deklarationsteil angezeigt, ist aber ohne Funktion.

Nun können Sie das AS-Flag innerhalb des Bausteins, beispielsweise in einer Aktion (2) oder von außerhalb des Bausteins (1) ansprechen.

Onlineansicht von AS-Baustein sfc1:

SFCError wird TRUE, sobald eine Zeitüberschreitung innerhalb von sfc1 auftritt.
Mit den Flags SFCErrorAnalyzation und SFCErrorAnalyzationTable aus der Bibliothek Analyzation können Sie die Ursache einer Zeitüberschreitung analysieren. Mit diesen Flags lassen sich die einzelnen Komponenten des Ausdrucks ermitteln, die dazu beitragen, dass SFCError den Wert TRUE annimmt.
Zugriff auf die Flags
Syntax für den Zugriff
Innerhalb des Bausteins weisen Sie das Flag direkt zu: <variable name> := <sfc flag>
checkerror := SFCError;Von einem anderen Baustein aus mit Bausteinname: <variable name> := <pou name>.<sfc flag>
checkerror := SFC_prog.SFCError;
Wenn Sie einen Schreibzugriff von einem anderen Baustein aus benötigen, müssen Sie das AS-Flag zusätzlich explizit als eine VAR_INPUT-Variable im AS-Baustein oder global in einer GVL deklarieren.
Lokale Deklaration
PROGRAM SFC_prog
VAR_INPUT
SFCInit : BOOL;
END_VAROder globale Deklaration in einer globalen Variablenliste
VAR_GLOBAL
SFCInit : BOOL;
END_VARPROGRAM PLC_PRG
VAR
SetInit : BOOL;
END_VAR
SFC_prog.SFCInit := SetInit; //Write access to SFCInit in SFC_prog