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.

Syntax
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.
RES_VARCFG und END_RES_VARCFG sind die →Schlüsselwörter für die Deklaration des VAR_CONFIG-Abschnitts, auf den in einer Ressource verwiesen wird. CFG_VARCFG und END_CFG_VARCFG sind jene für die Deklaration des VAR_CONFIG-Abschnitts, auf den in einer Konfiguration verwiesen wird.

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.

Beispiel 1: Inhalt eines VarCfg-Objekts, vorgesehener Verweis in einer Ressource
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
Beispiel 2: Inhalt eines VarCfg-Objekts, vorgesehener Verweis in einer Konfiguration
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

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/warning.svg 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.

Syntax
...
{ 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.

Beispiel 3: INCLUDE_VARCFG-Anweisungen, jeweils in einer Konfiguration und Ressource
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