Variablen
Dieses Kapitel beinhaltet:
Schlüsselwörter der Variablendeklaration für Basic Level
Schlüsselwörter der Variablendeklarationen für Extended Level
Datentypen Basic Level
Datentypen Extended Level
Die zur Auswahl stehenden Schlüsselwörter und Datentypen hängen vom Programmierlevel der POU ab.
Im FUP-Programmcode, der im Safety FUP-Editor erstellt wird, erscheinen Variablen ausschließlich in Form von Namen (symbolische Variablen). Man kann einen einfachen Namen, einen Bezeichner (identifier) im Sinne der IEC verwenden. Ein Bezeichner, mit dem eine Variable im Implementierungsteil referenziert wird, muss im Deklarationsteil (siehe Variablendeklarationseditor) der POU deklariert sein.
Kategorien für Variablen in der Eingabehilfe
In der Eingabehilfe werden für Variablen folgende Kategorien angezeigt:
PROGRAM POU
: Lokale Variablen und Globale VariablenFUNCTION_BLOCK POU
: Lokale Variablen
Zur Kategorie Lokale Variablen gehören alle Variablen des lokalen Deklarationsteils, auch VAR_EXTERNAL
.
Zur Kategorie Globale Variablen gehören alle Variablen der GVLs der Applikation, alle gemappten E/As und alle impliziten Instanzen der logischen E/As (siehe I/O Abbild)
Schlüsselwörter der Variablendeklaration für Basic Level
VAR
VAR CONSTANT
VAR_EXTERNAL
für Kanalvariablen und Stack-InstanzenVAR_EXTERNAL CONSTANT
nur erlaubt vonVAR_GLOBAL CONSTANT
VAR
VAR CONSTANT
VAR_INPUT
VAR_OUTPUT
VAR
: Deklaration normaler interner Variablen, POU-weite VariableVAR_INPUT
: Deklaration von Input-VariablenVAR_OUTPUT
: Deklaration von Output-Variablender Modifizierer
CONSTANT
dient zur Deklaration von symbolischen Konstanten
Schlüsselwörter der Variablendeklarationen für Extended Level
VAR
VAR CONSTANT
VAR_EXTERNAL
VAR_EXTERNAL CONSTANT
VAR
VAR CONSTANT
VAR_INPUT
VAR_OUTPUT
VAR
: Deklaration normaler interner Variablen, POU-weite VariableVAR_INPUT
: Deklaration von EingangsvariablenVAR_OUTPUT
: Deklaration von AusgangsvariablenVAR_EXTERNAL
: Deklaration von mitVAR_GLOBAL
in der Applikation bereits deklarierter globaler Variablen, um sie in der POU benutzbar zu machen.Globale Variablen, die den Modifizierer
CONSTANT
haben, müssen alsVAR_EXTERNAL CONSTANT
deklariert werden.der Modifizierer
CONSTANT
dient zur Deklaration von symbolischen Konstanten
VAR_EXTERNAL
und VAR_EXTERNAL CONSTANT
stehen bereits existierende Variablen der Kategorie „Globale Variablen“ zur Verfügung:Globale Variablen des GVL-Objekts der Sicherheitsapplikation.
Wird eine Variable des GVL-Objekts der Sicherheitsapplikation im Implementierungsteil verwendet, so wird sie automatisch im Deklarationsteil als externe Variable deklariert.
Nach IEC ist es explizit verboten, in einer POU globale Variablen zu verwenden, ohne sie als „External“ zu deklarieren.
Mapping-Variablen der logischen E/As (Logische Austauschgeräte und sichere Feldgeräte)
Datentypen Basic Level
BOOL
INT
: nur als konstanter Eingangsparameter für einen Funktionsbaustein-AufrufDINT
: nur als konstanter Eingangsparameter für einen Funktionsbaustein-AufrufWORD
: nur als Ausgang für DiagnosezweckeTIME
: nur als konstanter Eingangsparameter in Funktionsbaustein-AufrufSAFEBOOL
SAFEINT
nur als konstanter Funktionsbaustein-Eingang in AufrufSAFEDINT
: nur als konstanter Eingangsparameter in Funktionsbaustein-AufrufSAFEWORD
: nur als konstanter Eingangsparameter in Funktionsbaustein-AufrufSAFETIME
: nur als konstanter Eingangsparameter in Funktionsbaustein-Aufruf
Der Datentyp REAL
steht nicht zur Verfügung.
Datentypen Extended Level
Für die Implementierung einer POU im Programmierlevel Extended stehen dem Entwickler folgende Datentypen zur Verfügung:
BOOL
BYTE
: für den Austausch kodierter Informationen (Statuscode, Diagnosecode, Steuercode) zwischen vordefinierten Funktionsbausteinen und mit der UmgebungDINT
DWORD
: für den Austausch kodierter Informationen (Statuscode, Diagnosecode, Steuercode) zwischen vordefinierten Funktionsbausteinen und mit der UmgebungINT
TIME
: erlaubt als konstanter Eingangsparameter und für lokale Variablen.Nicht zulässig sind External-Deklarationen globaler Variablen vom Typ
SAFETIME
WORD
: für den Austausch kodierter Informationen (Statuscode, Diagnosecode, Steuercode) zwischen vordefinierten Funktionsbausteinen und mit der UmgebungKein Datentyp
REAL
SAFEBOOL
SAFEBYTE
: für den Austausch kodierter Informationen (Statuscode, Diagnosecode, Steuercode) zwischen vordefinierten Funktionsbausteinen und mit der UmgebungSAFEDINT
SAFEDWORD
: für den Austausch kodierter Informationen (Statuscode, Diagnosecode, Steuercode) zwischen vordefinierten Funktionsbausteinen und mit der UmgebungSAFEWORD
: für den Austausch kodierter Informationen (Statuscode, Diagnosecode, Steuercode) zwischen vordefinierten Funktionsbausteinen und mit der UmgebungSAFEINT
SAFETIME
, erlaubt als konstanter Eingangsparameter und für lokale Variablen.Nicht zulässig sind External-Deklarationen globaler Variablen vom Typ
SAFETIME
, wenn sie weder symbolische Konstanten noch importierte logische E/As sind.
Der Datentyp REAL
steht nicht zur Verfügung