Sie verwenden die "Variablenkonfiguration", um Variablen von Funktionsbausteinen
auf das Prozessabbild zu mappen. Bei der Deklaration im Funktionsbaustein weisen Sie
die Variablen den Ein-/Ausgängen von Geräten zu, ohne die vollständige Adresse anzugeben.
Die Angabe der exakten Adressen erfolgt später zentral für alle Funktionsbaustein-Instanzen
der Applikation in einer globalen Variablenliste mit VAR_CONFIG
-Deklarationen. Diese globale Variablenliste mit den VAR_CONFIG
-Deklarationen wird Variablenkonfiguration genannt.




HINWEIS

Änderungen von Variablen, die direkt den E/A-Adressen zugewiesen sind, zeigt CODESYS unmittelbar im Prozessabbild an. Änderungen von Variablen, die über eine Variablenkonfiguration abgebildet sind, zeigt CODESYS erst am Ende der zuständigen Task an.
Deklaration der Variablen im Funktionsbaustein:
Bei der Deklaration der Variablen im Funktionsbaustein deklarieren Sie die Variablen
zwischen den Schlüsselwörtern VAR
und END_VAR
. Dabei ordnen Sie den Variablen unvollständige Adressen zu. Diese unvollständigen
Adressen kennzeichnen Sie mit einem *
.
Syntax:
<Bezeichner> AT %<I|Q>*:<Datentyp>;
Beispiel
Es werden 2 lokale E/A-Variablen definiert: die Eingangsvariable xLocIn
und die Ausgangsvariable xLocOut
FUNCTION_BLOCK locio VAR xLocIn AT %I*: BOOL := TRUE; xLocOut AT %Q*: BOOL; END_VAR
Die endgültige Definition der Adressen erfolgt in der Variablenkonfiguration in einer globalen Variablenliste:
In der globalen Variablenliste, die Sie als Variablenkonfiguration verwenden, geben
Sie die Deklarationen der Variablen mit den exakten Adressen zwischen den Schlüsselwörtern
VAR_CONFIG
und END_VAR
ein.
Die VAR_CONFIG
-Variablen müssen Sie mit dem vollständigen Instanzpfad angeben, wobei die einzelnen
POU- und Instanznamen durch jeweils einen Punkt getrennt sind. Die Deklaration muss
eine Adresse enthalten, deren Klasse (Eingang/Ausgang) mit der Klasse der unvollständig
angegebenen Adresse (%I*, %Q*) im Funktionsbaustein übereinstimmt. Der Datentyp muss
ebenfalls übereinstimmen.
Syntax:
<instance variable path> AT %<I|Q><location>: <data type>;
Wenn die Instanz des Pfads nicht existiert, erfolgt eine Fehlermeldung. CODESYS gibt auch einen Fehler aus, wenn keine Adresskonfiguration für eine Variable vorliegt, die Sie mit einer unvollständigen Adresse deklariert haben.
Beispiel
Folgende Verwendung des Funktionsbausteins locio
des obigen Beispiels liegt in einem Programm vor:
PROGRAM PLC_PRG VAR locioVar1: locio; locioVar2: locio; END_VAR
Dann würde eine korrekte Variablenkonfiguration in einer globalen Variablenliste beispielsweise folgendermaßen aussehen:
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
Anlegen einer Variablenkonfiguration
Voraussetzungen: Sie haben ein Projekt geöffnet, das eine Steuerungskonfiguration
mit einem Feldgerät besitzt. Das Projekt enthält ein Programm, zum Beispiel PLC_PRG
, und einen Funktionsbaustein, zum Beipsiel func1
. Das Feldgerät besitzt Ein- und Ausgänge. In den Optionen für den Deklarationseditor
ist die textuelle Ansicht ausgewählt.
Im Funktionsbaustein Variablen auf Geräte-E/As mit unvollständigen Adressen zuweisen und anschließend eine Variablenkonfigurgation erstellen.
-
Doppelklicken Sie im Gerätebaum auf den Funktionsbaustein, zum Beispiel
func1
.Der Editor des Bausteins öffnet sich.
-
Geben Sie im Deklarationsteil zwischen den Schlüsselwörtern
VAR
undEND_VAR
ein:xLocIn AT %I*: BOOL := TRUE;
und in die nächste ZeileXLocOut AT %Q*:BOOL;
Sie haben eine Eingangsvariable
xLocIn
deklariert und diese der unvollständigen Eingangsadresse%I*
eines Feldgeräts zugewiesen. Die deklarierte Ausgangsvariable haben Sie der unvollständigen Ausgangsadresse%Q*
zugewiesen. -
Klicken Sie auf das Objekt
PLC_PRG
im Gerätebaum und fügen Sie im Deklarationsteil des Programms zwischenVAR
undEND_VAR
zum Beispiel folgende Deklarationen ein:locioVar1: func;
locioVar2: func;
-
Selektieren Sie das Objekt „Application“ im Gerätebaum, wählen Sie den Kontextmenü-Befehl „Objekt hinzufügen Globale Variablenliste“ und klicken Sie im Dialog „Globale Variablenliste hinzufügen“ auf die Schaltfläche „Hinzufügen“.
Die globale Variablenliste wird im Gerätebaum hinzugefügt und ihr Editor öffnet sich.
-
Ändern Sie das Schlüsselwort
VAR_GLOBAL
inVAR_CONFIG
um. -
Wählen Sie den Befehl „Deklarationen Alle Instanzpfade hinzufügen“
Folgende Instanzpfade werden hinzugefügt:
PLC_PRG.logioVar1.xLocIn AT %I*;
PLC_PRG.logioVar2.xLocIN AT %I*;
PLC_PRG.logioVar1.xLocOut AT %Q*;
PLC_PRG.logioVar2.xLocOut AT %Q*;
-
Jetzt ersetzen Sie die unvollständigen Adressangaben
%I*
und%Q*
mit den exakten vollständigen Adressen.
Siehe auch