Deklaration eines Sprachelements mit partieller Adresse in ST
logi.CAD 3 ermöglicht es, einen noch nicht festgelegten Speicherort (= eine partielle Adresse) bei den folgenden Sprachelementen zu definieren:
bei Strukturelementen für einen →strukturierter Datentyp
bei →Variablen in bestimmten Abschnitten
TYPE
name_1: STRUCT
name_e1 AT %(I|Q|M)* (* optional_begin *) {OFFSET := value} (* optional_end *) : type := initial-value;
name_e2 AT %(I|Q|M)* (* optional_begin *) {OFFSET := value} (* optional_end *) : type := initial-value;
...
END_STRUCT;
END_TYPE
VAR | VAR_INPUT | VAR_OUTPUT | VAR_GLOBAL | VAR_TEMP
name_3, name_4, ..., name_n AT %(I|Q|M)* : type := initial-value;
name_5 AT %(I|Q|M)*, name_6 AT %(I|Q|M)*, ... : type := initial-value;
...
END_VAR
Bedeutung der partiellen Adresse und des Offsets |
|||||||||||||||||||||
Mit AT %(I|Q|M)* wird dem Sprachelement eine partielle Adresse zugeordnet. Der Speicherort wird zu einem späteren Zeitpunkt spezifiziert, z.B. in einem Tool zum Adressieren der IOs oder in einem VAR_CONFIG-Abschnitt (für jene Variablen, die mit dem strukturierten Datentyp deklariert sind). Details: Siehe "VAR_CONFIG-Abschnitte im SPS-Objekt deklarieren". Geben Sie eine partielle Adresse laut diesem Aufbau ein:
Erweiterung zur IEC-Norm Als Erweiterung zur →IEC-Norm ist es möglich, mehrere Variablen mit einer partiellen Adressen oder mehrere Variablen mit partiellen Adressen in einer Zeile zu deklarieren.
Erweiterung zur IEC-Norm Das Attribut OFFSET ist ebenfalls eine Erweiterung zur IEC-Norm. Einschränkungen bzw. Erweiterung zur IEC-Norm
|
Die Deklaration von partiellen Adressen ist innerhalb dieser Abschnitte möglich:
(Informieren Sie sich in der jeweiligen Beschreibung zum Abschnitt über evtl. zusätzliche Möglichkeiten für die Variable.)
Abschnitt |
Die Deklaration des Sprachelements 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") |
VAR_GLOBAL ... END_VAR |
globale Variable (siehe "Deklaration von externen Variablen in ST") |
VAR_TEMP ... END_VAR |
temporäre Variable (siehe "Deklaration von temporären Variablen in ST") |
TYPE ... END_TYPE(nur bei Strukturelementen) |
→strukturierter Datentyp (siehe "Deklaration eines strukturierten Datentyps in ST") |
TYPE
MyType1 : STRUCT
Elem1 AT %I* : INT; (* Zuweisung eines noch nicht festgelegten Eingangs, keine Offset *)
Elem2 AT %Q* {OFFSET := 9} : INT; (* Zuweisung eines noch nicht festgelegten Ausgangs, Offset für 'elem2': 9 *)
Elem3 : INT; (* keine Zuweisung einer Adresse *)
END_STRUCT;
END_TYPE