Globale Variablen

Im Object Organizer befinden sich in der Registerkarte Ressourcen im Ordner Globale Variablen standardmäßig drei Objekte (in Klammern die vorbelegten Namen der Objekte):

Alle in diesen Objekten definierte Variablen sind im ganzen Projekt bekannt. Ist der Ordner Globale Variablen nicht aufgeklappt (Pluszeichen vor dem Ordner), öffnen Sie ihn mit Doppelklick oder Drücken der <Eingabetaste> in der Zeile. Wählen Sie das entsprechende Objekt aus. Mit dem Befehl 'Objekt bearbeiten' öffnet ein Fenster mit den bisher definierten globalen Variablen.

Mehrere Variablenlisten

Wenn Sie eine große Anzahl globaler Variablen deklariert haben, und Sie Ihre globale Variablenliste besser strukturieren wollen, dann können Sie weitere Variablenlisten anlegen. Normale globale Variablen (VAR_GLOBAL) und Variablenkonfigurationen (VAR_CONFIG) müssen in getrennten Objekten definiert werden. Selektieren Sie im Object-Organizer den Ordner Globale Variablen oder eines der bestehenden Objekte mit globalen Variablen und führen Sie den Befehl 'Projekt' 'Objekt einfügen' aus. Geben Sie dem Objekt in der erscheinenden Dialogbox einen entsprechenden Namen. Damit wird ein weiteres Objekt mit dem Schlüsselwort VAR_GLOBAL angelegt. Wenn Sie ein Objekt mit Variablenkonfiguration haben möchten, ändern Sie das Schlüsselwort entsprechend in VAR_CONFIG.

Globale Variablen

Als globale Variablen können "normale" Variablen, Konstanten oder remanente Variablen deklariert werden, die im gesamten Projekt bekannt sind.

Anlegen einer Globalen Variablenliste

Zum Neuanlegen einer globalen Variablenliste markieren Sie im Objekt Organizer bei den Ressourcen den Eintrag 'Globale Variablen' bzw. eine dort bereits angelegte Globale Variablenliste. Wenn Sie dann den Befehl 'Projekt' 'Objekt' 'Einfügen' wählen, öffnet der Dialog Globale Variablenliste.

Dieser Dialog öffnet übrigens zur Anzeige einer bereits vorgenommenen Konfiguration, der im Objekt Organizer markierten Globalen Variablenliste auch beim Befehl 'Projekt' 'Objekt' 'Eigenschaften'.

Editieren der Listen für Remanente Globale Variablen

Wenn es vom Laufzeitsystem unterstützt wird, kann mit remanenten Variablen gearbeitet werden.

Es gibt zwei Arten von remanenten globalen Variablen

Persistente und Retain Variablen bleiben bei einem kontrollierten Beenden des Laufzeitsystems (Shutdown) bzw. einem 'Online' 'Reset Kalt' oder einem Download erhalten.

Persistente Variablen sind nicht automatisch auch Retain-Variablen !

Remanente Variablen erhalten zusätzlich das Schlüsselwort RETAIN bzw. PERSISTENT...

Syntax:

VAR_GLOBAL RETAIN
(* Variablendeklarationen *)
END_VAR
VAR_GLOBAL PERSISTENT
(* Variablendeklarationen *)
END_VAR

Globale Konstanten

Globale Konstanten erhalten zusätzlich das Schlüsselwort CONSTANT.

Syntax:

VAR_GLOBAL CONSTANT
(* Variablendeklarationen *)
END_VAR

Variablenkonfiguration

In Funktionsbausteinen können bei Variablen, die zwischen den Schlüsselwörtern VAR und END_VAR definiert sind, Adressen für Eingänge und Ausgänge angegeben werden, die nicht vollständig definiert sind. Nicht vollständig definierte Adressen werden mit einem Stern gekennzeichnet.

Beispiel:

FUNCTION_BLOCK locio
VAR
    loci AT %I*: BOOL := TRUE;
    loco AT %Q*: BOOL;
END_VAR

Hier werden zwei lokale I/O-Variablen definiert, eine local-In (%I*) und eine local-Out (%Q*).

Wenn Sie lokale I/Os konfigurieren wollen, steht zur Variablenkonfiguration standardmäßig im Object Organizer in der Registerkarte Ressourcen das Objekt Variablen_Konfiguration zur Verfügung. Das Objekt kann umbenannt werden und es können weitere Objekte für die Variablenkonfiguration angelegt werden.

Der Editor für Variablenkonfiguration arbeitet wie der Deklarationseditor. Variablen zur lokalen I/O-Konfiguration müssen zwischen den Schlüsselwörtern VAR_CONFIG und END_VAR stehen. Der Name einer solchen Variable besteht aus einem vollständigen Instanzpfad, wobei die einzelnen Baustein- und Instanznamen durch Punkte voneinander getrennt sind. Die Deklaration muß eine Adresse enthalten, deren Klasse (Eingang/Ausgang) dem der nicht vollständig spezifizierten Adresse (%I*, %Q*) im Funktionsbaustein entspricht. Auch der Datentyp muß mit der Deklaration im Funktionsbaustein übereinstimmen.

Konfigurationsvariablen, deren Instanzpfad nicht gültig ist, weil die Instanz nicht existiert, werden als Fehler gekennzeichnet. Umgekehrt wird ebenfalls ein Fehler gemeldet, wenn für eine Instanzvariable keine Konfiguration existiert. Um eine vollständige Liste aller benötigten Konfigurationsvariablen zu erhalten, kann der Menübefehl 'Alle Instanzpfade' im Menü 'Einfügen' benutzt werden.

Beispiel:

In einem Programm gebe es folgende Definition von Funktionsbausteinen:

PROGRAM PLC_PRG
VAR
    Hugo: locio;
    Otto: locio;
END_VAR

Dann sieht eine korrekte Variablenkonfiguration folgendermaßen aus:

VAR_CONFIG
    PLC_PRG.Hugo.loci AT %IX1.0 : BOOL;
    PLC_PRG.Hugo.loco AT %QX0.0 : BOOL;
    PLC_PRG.Hugo.loci AT %IX1.0 : BOOL;
    PLC_PRG.Otto.loco AT %QX0.3 : BOOL;
END_VAR

Hier werden zwei lokale I/O-Variablen definiert, eine local-In (%I*) und eine local-Out (%Q*).

Globale Variablen 1:

Ein Ausgang, der in der Variablenkonfiguration verwendet wird, darf nicht im Projekt direkt oder über eine Variable (AT-Deklaration) beschrieben werden (AT-Deklaration), da das nicht beachtet wird.

'Einfügen''Alle Instanzpfade'

Mit diesem Befehl wird ein VAR_CONFIG - END_VAR-Block erzeugt, der alle im Projekt vorhandenen Instanzpfade enthält. Bereits vorhandene Deklarationen werden nicht neu eingefügt, um bestehende Adressen zu erhalten. Dieser Menüpunkt steht im Fenster der Variablenkonfiguration zur Verfügung, wenn das Projekt kompiliert ist ('Projekt''Alles übersetzen').

Dokumentvorlage

Wenn Sie ein Projekt mehrfach dokumentieren müssen, etwa mit deutschen und mit englischen Kommentaren, oder wenn Sie mehrere ähnliche Projekte dokumentieren wollen, die dieselben Variablennamen benutzen, dann können Sie sich viel Arbeit sparen, indem Sie eine Dokumentvorlage erstellen mit dem Befehl 'Extras' 'Doku-Vorlage erstellen'. Die erstellte Datei können Sie in einen beliebigen Texteditor laden, und editieren. Die Datei beginnt mit der Zeile DOKUFILE, dann folgt eine Auflistung der Projektvariablen, wobei zu jeder Variablen drei Zeilen vorgegeben sind, eine Zeile VAR, die anzeigt, wann eine neue Variable kommt, dann eine Zeile mit dem Namen der Variablen, und schließlich eine leere Zeile. Diese Zeile können Sie nun ersetzen durch einen Kommentar zu der Variablen. Variablen, die Sie nicht dokumentieren wollen, löschen Sie einfach aus dem Text. Sie können beliebig viele Dokumentvorlagen zu Ihrem Projekt erstellen.

Globale Variablen 2:

Windows-Editor mit Dokumentvorlage

Um eine Dokumentvorlage zu benutzen, geben Sie den Befehl 'Extras' 'Doku-Vorlage auswählen'. Wenn Sie nun das gesamte Projekt dokumentieren, oder Teile Ihres Projekts drucken, dann wird im Programmtext zu allen Variablen der Kommentar eingefügt, den Sie in der Doku-Vorlage erstellt haben. Dieser Kommentar erscheint nur im Ausdruck!

'Extras' 'Doku-Vorlage erstellen'

Mit diesem Befehl erstellen Sie eine Dokumentvorlage. Der Befehl steht zur Verfügung, wenn ein Objekt der Globalen Variablen selektiert ist. Es öffnet sich der Dialog zum Abspeichern von Dateien unter einem neuen Namen. Im Feld für den Dateinamen ist der Zusatz *.txt bereits eingegeben. Wählen Sie einen beliebigen Namen aus. Es wird nun eine Textdatei erstellt, in der sämtliche Variablen Ihres Projekts aufgelistet sind.

'Extras' 'Doku-Vorlage auswählen'

Mit diesem Befehl wählen Sie eine Dokumentvorlage aus. Der Dialog zum Öffnen von Dateien öffnet. Wählen Sie die gewünschte Dokumentvorlage aus und drücken Sie OK. Wenn Sie nun das gesamte Projekt dokumentieren, oder Teile Ihres Projekts drucken, dann wird im Programmtext zu allen Variablen der Kommentar eingefügt, den Sie in der Doku-Vorlage erstellt haben. Dieser Kommentar erscheint nur im Ausdruck! Zum Erstellen einer Dokumentvorlage verwenden Sie den Befehl 'Extras' 'Doku-Vorlage erstellen'.