Deklaration von globalen Variablen in ST
VAR_GLOBAL (* optional_begin *) {DMA :=
'string'
} CONSTANT RETAIN NON_RETAIN (* optional_end *)
name_1, name_2, ..., name_n (* optional_begin *) {
'key'
} AT %address (* optional_end *) : data-type := initial-value;
name_3, name_4, ..., name_n (* optional_begin *) {
'key'
} AT %address (* optional_end *) : STRING[length] :=
'initial-value'
;
name_5, name_6, ..., name_n (* optional_begin *) {
'key'
} AT %address (* optional_end *) : ARRAY [x..y] OF data-type := [initial-value_1, initial-value_2, .., initial-value_n];
name_7, name_8, ..., name_n (* optional_begin *) {
'key'
} AT %address (* optional_end *) : ARRAY [x1..y1, x2..y2, x3..y3] OF data-type; (* Initialisierungswerte sind hier ebenfalls möglich. *)
(* Zusätzliche Daten, wie partielle Adressen, sind ebenfalls für die Variablen möglich. *)
(* Hinweis: Wenn ein Funktionsbaustein-Typ als Typ für die Variable verwendet wird, handelt es sich eigentlich um eine Funktionsbaustein-Instanz. *)
END_VAR
Bedeutung |
|||||||||||||||||||||||||||||||||||||||||||||||||
Deklaration einer bzw. mehrerer →globaler Variablen, wobei name_1, name_2 usw. →IEC-Bezeichner sein müssen. Erweiterung zur IEC-Norm Für Ressource-/Konfigurations-globale Variablen ist dies eine Erweiterung zur →IEC-Norm, die nur einen derartigen Abschnitt zulässt. Zusätzlich ist es möglich, globale Variablen in einem Global-Objekt zu deklarieren und hier nur einen Verweis einzufügen (beachten Sie dabei, dass sich die Syntax-Elemente unterscheiden können). Die Deklaration von Programm-globalen Variablen ist in einem ST-Objekt möglich, und zwar innerhalb der Deklaration eines Programms. Der Zugriff auf solche globale Variablen im Kontext anderer →POE (FUNCTION, FUNCTION_BLOCK) erfolgt über →externe Variablen. Die Deklaration von Ressource-globalen oder Konfigurations-globalen Variablen ist in einem SPS-Objekt möglich, und zwar innerhalb der Deklaration einer →Ressource oder →Konfiguration. Der Zugriff auf solche globale Variablen erfolgt im Kontext von POE (PROGRAM, FUNCTION, FUNCTION_BLOCK) – ebenfalls über externe Variablen. Siehe "Globale Variablen für Ressource oder Konfiguration deklarieren und diese verwenden". Die optionalen Attribute DMA (= Direct Memory Access) und key sind für Systemintegratoren vorgesehen. Das optionale Schlüsselwort CONSTANT markiert alle globalen Variablen dieses Abschnitts als →konstant (das Überschreiben solcher Werte ist dann während der Ausführung des Programms nicht mehr möglich). Informieren Sie sich unter "Unterstützte Datentypen (in ST)", welche Datentypen Sie für die Deklaration von Variablen angeben können. Mit dem optionalen →Initialisierungswert [:= initial-value] weisen Sie der Variable einen Wert zu (Details: siehe "Initialisierung von Variablen in ST").
Mit dem optionalen Schlüsselwort AT können Sie der symbolischen Variable eine physikalische Adresse in der →SPS zuweisen. Beispiele für physikalische Adressen:
Wenn Sie EtherCAT-Feldbusse verwenden, die von →EC-Master und →EC-Engineer angesprochen werden können, informieren Sie sich unter "Auf Hardware-IOs via Acontis EC-Master und EC-Engineer zugreifen" über den Zugriff auf deren Hardware-IOs. Geben Sie eine physikalische Adresse laut diesem Aufbau ein:
|
logi.CAD 3 bietet außerdem die Möglichkeit, noch nicht festgelegte Speicherorte bei der Deklaration anzugeben. Siehe "Deklaration eines Sprachelements mit partieller Adresse in ST" für Details.
logi.CAD 3 bietet außerdem die Möglichkeit, zusätzliche Daten bei der Deklaration anzugeben. Siehe "Beschreibung, Kommentar, JSON-String oder Typ für Variablen oder Datentypen angeben" für Details.
In einem Abschnitt VAR_GLOBAL...END_VAR ist auch die Deklaration von Funktionsbaustein-Instanzen zulässig.
VAR_GLOBAL
portSetting : INT;
upTime : TIME;
gVar1: ARRAY [
1
..
2
] of BOOL;
gVar2 : STRING[
10
];
END_VAR
VAR_GLOBAL
VALVE_POS AT %QW28 : INT;
END_VAR