Globale Variablen für Ressource oder Konfiguration deklarieren und diese verwenden
Ressource-globale Variablen deklarieren/verwenden
So deklarieren Sie →globale Variablen für eine →Ressource und verwenden Sie diese im ST-Code:
- Öffnen Sie ein SPS-Objekt.
Suchen Sie die folgende Zeile im geöffneten Editor für das SPS-Objekt:
SyntaxRESOURCE resource-name ON platform-name { ON_CHANNEL := channel-name }
BeispielRESOURCE local ON BuiltInPlc { ON_CHANNEL := LocalChannel }
Danach fügen Sie die Deklaration der Ressource-globalen Variablen ein:
SyntaxRESOURCE resource-name ON platform-name { ON_CHANNEL := channel-name } ( * optional_begin *) USING Namespace_1; USING Namespace_2; (* optional_end *) VAR_GLOBAL (* optional_begin *) CONSTANT RETAIN NON_RETAIN {DMA := 'string'} (* optional_end *) name_1, name_2, ..., name_n (* optional_begin *) {'key'} AT %address (* optional_end *) : data-type|FB-type := initial-value; ... END_VAR
BeispielRESOURCE local ON BuiltInPlc { ON_CHANNEL := LocalChannel } VAR_GLOBAL VALVE_POS AT %QW28 : INT; END_VAR
Informieren Sie sich unter "Deklaration von globalen Variablen in ST" über die Bedeutung der Syntax für
VAR_GLOBAL ... END_VAR
und deren Möglichkeiten. Alternativ dazu ist es möglich, globale Variablen in einem Global-Objekt zu deklarieren und hier nur einen Verweis einzufügen.Zusätzlich ist es hier auch möglich, globale Funktionsbaustein-Instanzen zu deklarieren. Dies ist analog zu "Deklaration von Funktionsbaustein-Instanzen in ST" möglich.
DieUSING
-Namespace-Anweisung vorVAR_GLOBAL ... END_VAR
ist optional. Siehe "Namespaces in ST: Verwendung" für Details für diese Anweisung. 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.Falls Sie EtherCAT-Feldbusse verwenden, die von →EC-Master und →EC-Engineer angesprochen werden können, haben Sie die Möglichkeit, dass logi.CAD 3 diese Deklaration für Sie einfügt. Dazu müssen Sie jedoch die Anleitungen unter "Auf Hardware-IOs via Acontis EC-Master und EC-Engineer zugreifen" befolgen.
- Speichern Sie das SPS-Objekt: Menü Datei – Speichern
- Greifen Sie auf die deklarierten Ressource-globale Variablen im Kontext anderer →POE über →externe Variablen zu:
- Öffnen Sie das Objekt, in dem Sie die externe Variable deklarieren wollen (z.B. ein ST-Objekt).
- Deklarieren Sie in diesem Objekt eine externe Variable – und zwar innerhalb der Deklaration jener POE, in der der Zugriff erforderlich ist. Möglich ist der Zugriff innerhalb der Deklaration des Programms, der Deklaration eines Funktionsbausteins oder der Deklaration einer Funktion.
Informieren Sie sich unter "Deklaration von externen Variablen in ST" über die ST-Syntax, die für die externe Variable erforderlich ist. Informationen zur Deklaration von Variablen in grafischen Editoren finden Sie unter "Variablen deklarieren". - Verwenden Sie im Objekt die externe Variable innerhalb der Deklaration der POE (z.B. verwenden Sie die externe Variable in einer →Zuweisung).
- Speichern Sie das Objekt: Menü Datei – Speichern
Konfigurations-globale Variablen deklarieren/verwenden
So deklarieren Sie globale Variablen für eine →Konfiguration und verwenden Sie diese im ST-Code:
- Analog zur Deklaration von Ressource-globalen Variablen (siehe oben): Öffnen Sie ein SPS-Objekt.
Suchen Sie die folgende Zeile im geöffneten Editor für das SPS-Objekt:
SyntaxCONFIGURATION configuration-name
BeispielCONFIGURATION LocalConfiguration
Danach fügen Sie die Deklaration der Konfigurations-globalen Variablen ein. Diese Deklaration ist analog zur Deklaration der Ressource-globalen Variablen (siehe oben).
BeispielCONFIGURATION LocalConfiguration VAR_GLOBAL VALVE_POS AT %QW28 : INT; END_VAR
Alternativ dazu ist es hier ebenfalls möglich, globale Variablen in einem Global-Objekt zu deklarieren und hier nur einen Verweis einzufügen.
- Speichern Sie das SPS-Objekt: Menü Datei – Speichern
- Greifen Sie auf die deklarierten Konfigurations-globale Variablen ebenfalls im Kontext anderer →POE über →externe Variablen zu. Dieser Zugriff ist analog zum Zugriff auf die Ressource-globalen Variablen (siehe oben).