VAR_CONFIG - Konfigurationsvariablen

Ü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 Funktionsbausteininstanzen der Applikation 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 globalen Variablenliste (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:

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

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

  • Der 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 Adresskonfiguration 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.