AS-Flags
AS-Flags sind implizit erzeugte Variablen mit vordefinierten Namen. Sie können Flags verwenden um die Abarbeitung eines AS-Diagramms zu beeinflussen. Mit diesen Flags können Sie zum Beispiel Zeitüberschreitungen anzeigen oder Schrittketten zurücksetzen. Weiterhin können Sie zum Beispiel den Tipp-Betrieb anschalten, um Transitionen gezielt zu schalten. Damit Sie auf diese Variablen Zugriff haben, müssen Sie sie deklarieren und aktivieren.
AS-Flags
Name | Datentyp | Beschreibung |
---|---|---|
|
|
|
|
| Verhält sich ähnlich wie Im Unterschied zu diesem arbeitet CODESYS allerdings nach der Initialisierung den Initialschritt weiter ab. So könnten Sie beispielsweise im Init-Schritt das |
|
| Wird |
|
| 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, unabhängig von der Zeitüberwachung Bei einer Parallel-Verzweigung wird immer der Name des Schrittes des äußersten rechten Zweigs gespeichert. |
|
| Erlauben den „Tipp-Betrieb“ des AS-Bausteins Wenn Sie den Tipp-Betrieb durch |
| Enthält als Zeichenkette alle Variablen, die zum Gesamtwert
| |
| Enthält in einer Tabelle die Variablen, die zum Gesamtwert
|
Implizite Erzeugung der AS-Flags
AS-Flags werden von CODESYS automatisch deklariert, wenn Sie die entsprechende Option aktiviert haben. Diese Option können Sie im Eigenschaften-Dialog AS-Einstellungen für eine 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.
Explizite Erzeugung der AS-Flags
Händische Deklaration, wie es in CoDeSys V2.3 nötig war, ist nur noch erforderlich um Schreibzugriff von einem anderen Baustein aus zu ermöglichen. In diesem Fall müssen Sie Folgendes beachten: Wenn Sie das Flag in einer globalen Variablenliste deklariert haben, müssen Sie dessen Einstellung Deklarieren im AS-Einstellungen-Dialog deaktivieren. Andernfalls wird implizit eine lokales AS-Flag deklariert, das CODESYS 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. Siehe Abbildung „Online-Ansicht von AS-Baustein sfc1
„.
Wenn aus irgendwelchen Gründen Schritt s1
länger aktiv bleibt als in seinen Zeiteigenschaften erlaubt ist (Zeitüberschreitung), setzt CODESYS das AS-Flag SFCError
, auf das die Applikation zugreifen kann.
Um diesen Zugriff zu erlauben, müssen Sie das AS-Flag in den AS-Einstellungen aktivieren und deklarieren. Wenn Sie es nur deklarieren, wird das AS-Flag zwar in der Online-Ansicht 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.

Online Ansicht von AS-Baustein sfc1

SFCError
wird TRUE
, sobald eine Zeitüberschreitung innerhalb von sfc2
auftritt.
Beachten Sie die Möglichkeit, mit Hilfe der Flags SFCErrorAnalyzation
und SFCErrorAnalyzationTable
(Bibliothek Analyzation
) die Komponenten des Ausdrucks zu ermitteln, der zum Wert TRUE
des SFCError
beiträgt.
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>:=<FB>.<SFB-Flag>
checkerror:=SFC_prog.SFCerror;
Falls 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_VAR
oder globale Deklaration in einer globalen Variablenliste
VAR_GLOBAL SFCinit:BOOL; END_VAR
PROGRAM PLC_PRG VAR setinit: BOOL; END_VAR SFC_prog.SFCinit:=setinit; //Write access to SFCinit in SFC_prog