Variablenkonfiguration - VAR_CONFIG

Überblick

Sie können die Variablenkonfiguration für die Zuordnung von Funktionsbaustein-Variablen auf das Prozessabbild verwenden, also um die Variablen den Geräte-E/As zuzuweisen, ohne die endgültige Adresse bereits bei der Deklaration der Funktionsbaustein-Variablen angeben zu müssen. Die Zuweisung der endgültigen Adresse erfolgt in diesem Fall zentral für alle Funktions­bausteininstanzen der Anwendung in einer globalen VAR_CONFIG-Liste.

Zu diesem Zweck können den Funktionsbausteinvariablen in der Deklaration zwischen den Schlüsselwörtern VAR und END_VAR unvollständige Adressen zugewiesen werden. Diese Adressen werden mit einem Stern gekennzeichnet.

Bezeichner-Syntax

<Kennung> AT %<I|Q>* : <Datentyp>

Beispiel für die Verwendung unvollständig definierter Adressen:

FUNCTION_BLOCK locio
VAR
 xLocIn AT %I*: BOOL := TRUE;
 xLocOut AT %Q*: BOOL;
END_VAR

In diesem Beispiel werden 2 lokale E/A-Variablen definiert: Eine lokale Eingangs- (%I*) und eine lokale Ausgangsvariable (%Q*).

So definieren Sie die Adressen bei der Konfiguration der Variablen in der Liste mit den globalen Variablen (GVL):

Schritt

Aktion

1

Führen Sie den Befehl Objekt hinzufügen aus.

2

Fügen Sie ein Objekt des Typs Globale Variablenliste (GVL) im Gerätebaum ein.

3

In dieser GVL geben Sie die Deklarationen der Instanzvariablen mit den exakten Adressen zwischen den Schlüsselwörtern VAR_CONFIG und END_VAR ein.

Bei der Definition der Adressen ist Folgendes zu beachten:

oDie Instanzvariablen müssen mit dem vollständigen Instanzpfad angegeben werden, wobei die einzelnen POU- und Instanznamen durch jeweils einen Punkt von einander getrennt sind.

oDie Deklaration muss eine Adresse enthalten, deren Klasse (Eingang/Ausgang) mit der unvollständig angegebenen Adresse (%I*, %Q*) im Funktionsbaustein übereinstimmt.

oDer Datentyp muss ebenfalls mit der Deklaration im Funktionsbaustein übereinstimmen.

Instanzvariablenpfad-Syntax

<Instanzvariablenpfad> AT %<I|Q><Speicherort> : <Datentyp>;

Konfigurationsvariablen, deren Instanzpfad nicht gültig ist, weil die Instanz nicht existiert, werden als Fehler gemeldet. Es wird auch ein Fehler ausgegeben, wenn keine endgültige Adresskonfigu­ration für eine Instanzvariable vorliegt, die einer unvollständigen Adresse zugewiesen wurde.

Beispiel für eine Variablenkonfiguration

Folgende Verwendung des Funktionsbausteins locio - siehe Beispiel oben - liegt in einem Programm vor:

PROGRAM PLC_PRG
VAR
locioVar1: locio;
locioVar2: locio;
END_VAR

In diesem Fall sieht eine gültige Variablenkonfiguration (in einer globalen Variablenliste) aus wie folgt:

VAR_CONFIG
PLC_PRG.locioVar1.xLocIn AT %IX1.0 : BOOL;
PLC_PRG.locioVar1.xLocOut AT %QX0.0 : BOOL;
PLC_PRG.locioVar2.xLocIn AT %IX1.0 : BOOL;
PLC_PRG.locioVar2.xLocOut AT %QX0.3 : BOOL;
END_VAR

HINWEIS: Änderungen an direkt zugeordneten E/A werden sofort im Prozessabbild angezeigt, wohingegen Änderungen an Variablen, die über VAR_CONFIG zugeordnet wurden, nicht vor Abschluss der entsprechenden Task erscheinen.

HINWEIS: Die Schlüsselwörter VAR_GLOBAL und VAR_CONFIG können in einer globalen Variablenliste nur exklusiv verwendet werden.