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
VARVAR CONSTANTVAR_EXTERNALfür Kanalvariablen und Stack-InstanzenVAR_EXTERNAL CONSTANTnur erlaubt vonVAR_GLOBAL CONSTANT
VARVAR CONSTANTVAR_INPUTVAR_OUTPUT
VAR: Deklaration normaler interner Variablen, POU-weite VariableVAR_INPUT: Deklaration von Input-VariablenVAR_OUTPUT: Deklaration von Output-Variablender Modifizierer
CONSTANTdient zur Deklaration von symbolischen Konstanten
Schlüsselwörter der Variablendeklarationen für Extended Level
VARVAR CONSTANTVAR_EXTERNALVAR_EXTERNAL CONSTANT
VARVAR CONSTANTVAR_INPUTVAR_OUTPUT
VAR: Deklaration normaler interner Variablen, POU-weite VariableVAR_INPUT: Deklaration von EingangsvariablenVAR_OUTPUT: Deklaration von AusgangsvariablenVAR_EXTERNAL: Deklaration von mitVAR_GLOBALin der Applikation bereits deklarierter globaler Variablen, um sie in der POU benutzbar zu machen.Globale Variablen, die den Modifizierer
CONSTANThaben, müssen alsVAR_EXTERNAL CONSTANTdeklariert werden.der Modifizierer
CONSTANTdient 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
BOOLINT: 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-AufrufSAFEBOOLSAFEINTnur 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:
BOOLBYTE: für den Austausch kodierter Informationen (Statuscode, Diagnosecode, Steuercode) zwischen vordefinierten Funktionsbausteinen und mit der UmgebungDINTDWORD: für den Austausch kodierter Informationen (Statuscode, Diagnosecode, Steuercode) zwischen vordefinierten Funktionsbausteinen und mit der UmgebungINTTIME: erlaubt als konstanter Eingangsparameter und für lokale Variablen.Nicht zulässig sind External-Deklarationen globaler Variablen vom Typ
SAFETIMEWORD: für den Austausch kodierter Informationen (Statuscode, Diagnosecode, Steuercode) zwischen vordefinierten Funktionsbausteinen und mit der UmgebungKein Datentyp
REALSAFEBOOLSAFEBYTE: für den Austausch kodierter Informationen (Statuscode, Diagnosecode, Steuercode) zwischen vordefinierten Funktionsbausteinen und mit der UmgebungSAFEDINTSAFEDWORD: 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 UmgebungSAFEINTSAFETIME, 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