Deklaration von Variablen, die auf einem Interface basieren
VAR | VAR_INPUT | VAR_OUTPUT name_1, name_2, ..., name_n : interface; END_VAR TYPE name_1: STRUCT name_e1 : interface; ... END_STRUCT; END_TYPE
Bedeutung |
---|
Deklaration einer oder mehrerer →Variablen, die auf einem →Interface basieren Einschränkungen und Hinweise zur Verwendung
|
Die Deklaration von Variablen basierend auf einem Interface ist innerhalb dieser Abschnitte möglich:
Abschnitt | Die Deklaration der Variable erfolgt als: |
---|---|
VAR ... END_VAR | interne Variable (siehe "Deklaration von internen Variablen") |
VAR_INPUT ... END_VAR | Eingangsvariable (siehe "Deklaration von Eingangsvariablen in ST") |
VAR_OUTPUT ... END_VAR | Ausgangsvariable (siehe "Deklaration von Ausgangsvariablen in ST") |
TYPE name_1: STRUCT ... END_STRUCT; END_TYPE | als Strukturelement (siehe "Deklaration eines strukturierten Datentyps in ST") |
Abweichung zur IEC-Norm
In logi.CAD 3 ist es nicht möglich, Variablen basierend auf einem Interface im Abschnitt für →temporäre Variablen (VAR_TEMP ... END_VAR
) zu deklarieren.
INTERFACE ISwitch (* Deklaration eines Interfaces mit einem Methoden-Prototyp *) METHOD SwitchState VAR_INPUT STATE : BOOL; END_VAR END_METHOD END_INTERFACE FUNCTION_BLOCK myFB VAR_INPUT IN1 : ISwitch; (* Deklaration einer Variable basierend auf dem Interface *) IN2 : BOOL; END_VAR IN1.SwitchState(STATE := IN2); (* Derzeit verursacht diese Zeile die oben-erwähnte Fehlerbehandlung beim Laden der Anwendung, da das Interface noch nicht initialisiert werden kann. *) END_FUNCTION_BLOCK