VAR_CONFIG-Abschnitt im VarCfg-Objekt deklarieren
Für instanzspezifische Zuweisungen des Speicherorts bei symbolisch dargestellten Variablen benötigen Sie einen VAR_CONFIG-Abschnitt. Dieser Abschnitt ist sowohl in einer →Konfiguration als auch in einer →Ressource möglich.
Dieser Artikel beschreibt die Deklaration des VAR_CONFIG-Abschnitts im VarCfg-Objekt.
Die Deklaration des VAR_CONFIG-Abschnitts in einem VarCfg-Objekt ermöglicht es Ihnen, die Deklaration in einem oder mehreren zentralen Objekten für das Projekt zu sammeln. In der Ressource oder Konfiguration – also dort, wo Sie die Deklaration benötigen – fügen Sie anschließend nur mehr einen Verweis ein.
Erweiterung zur IEC-Norm
Diese Möglichkeit ist eine Erweiterung zur →IEC-Norm.
VarCfg-Objekt erstellen
Erstellen Sie ein VarCfg-Objekt mit Hilfe des Befehls VarCfg-Objekt (z.B. im Kontextmenü für ein Projekt, unter Neu). Wählen Sie im Assistenten aus, ob auf den VAR_CONFIG-Abschnitt in einer Konfiguration oder Ressource verwiesen wird.
Allgemeine Informationen zum Erstellen von Objekten finden Sie unter "Neue Objekte oder Ordner erstellen".
VAR_CONFIG-Abschnitt in VarCfg-Objekt zur zentralen Deklaration
Fügen Sie die Zeilen mit den instanzspezifischen Zuweisungen des Speicherorts bei symbolisch dargestellten Variablen innerhalb des automatisch erstellten VAR_CONFIG-Abschnitts des geöffneten VarCfg-Objekts ein. Diese Zeilen entsprechen jenen Zeilen, wie sie in einem VAR_CONFIG-Abschnitt in einem SPS-Objekt möglich sind. Pro VarCfg-Objekt ist ein VAR_CONFIG-Abschnitt möglich.
RES_VARCFG name_A | CFG_VARCFG name_B
VAR_CONFIG
name_1 AT %address (* optional_begin *) {SIZE := value} (* optional_end *);
name_2 AT %address (* optional_begin *) {SIZE := value} (* optional_end *);
name_3 AT %address (* optional_begin *) {SIZE := value} (* optional_end *);
END_VAR
END_RES_VARCFG | END_CFG_VARCFG
Bedeutung |
Deklaration des VAR_CONFIG-Abschnitts, wobei name_A und Name_B ein →IEC-Bezeichner sein muss. Wie bereits erwähnt, ist die Syntax für VAR_CONFIG ... END_VAR und deren Möglichkeiten analog zu einem VAR_CONFIG-Abschnitt im SPS-Objekt. |
RES_VARCFG MyVarCfg1
VAR_CONFIG
iCounter.globVar1.Elem1 AT %IW1.2.3;
iCounter.globVar2a AT %IB1.4.6 {SIZE:=2};
valvePos1 AT %QW28;
END_VAR
END_RES_VARCFG
CFG_VARCFG MyVarCfg2
VAR_CONFIG
local.iCounter.globVar1.Elem2 AT %IW1.2.3;
local.iCounter.globVar2b AT %IB1.4.6 {SIZE:=2};
local.valvePos2 AT %QW28;
END_VAR
END_CFG_VARCFG
Damit diese Beispiele fehlerfrei sein werden, benötigen Sie die Deklarationen der entsprechenden Variablen bzw. Datentypen (siehe "Addendum für Beispiele 1 bis 3" unter "VAR_CONFIG-Abschnitte im SPS-Objekt deklarieren").
Verweis in einer Ressource und/oder einer Konfiguration
Im SPS-Objekt fügen Sie die INCLUDE_VARCFG-Anweisungen mit dem Namen des entsprechenden Abschnitt im VarCfg-Objekt ein.
...
{ INCLUDE_VARCFG name_A}
END_RESOURCE
{ INCLUDE_VARCFG name_B}
END_CONFIGURATION
Fügen Sie die INCLUDE_VARCFG-Anweisung vor dem Ende der Ressource (END_RESOURCE) oder vor dem Ende der Konfiguration (END_CONFIGURATION) ein – aber immer vor einem evtl. vorhandenen Abschnitt VAR_CONFIG ... END_VAR.
CONFIGURATION LocalConfiguration
RESOURCE local ON BuiltInPlc { ON_CHANNEL := LocalChannel }
VAR_GLOBAL
valvePos1 : INT;
valvePos2 : INT;
END_VAR
TASK DefaultTask ( INTERVAL := TIME#500ms , PRIORITY :=
38229
);
PROGRAM iCounter WITH DefaultTask : Counter;
{ INCLUDE_VARCFG MyVarCfg1} (* reference to instance specific location assignment
for
the variables declared in
'MyVarCfg1'
*)
END_RESOURCE
{ INCLUDE_VARCFG MyVarCfg2} (* reference to instance specific location assignment
for
the variables declared in
'MyVarCfg2'
*)
END_CONFIGURATION