Globale kanalübergreifende Variablen (V.I.)
Mit der Kennung "V.I." ist es möglich, eigene Namen für Variablen zu definieren, die kanalübergreifend verwendbar sind. Diese Variablen sind vom Typ REAL64, der Variablentyp ist fest vorgegeben.
Eigenschaften:
- Die Variablen müssen in einem #VAR /#ENDVAR Bereich deklariert werden. Eine Initialisierung innerhalb des Blockes ist ebenfalls möglich.
- Die Deklaration ohne Wertzuweisung (Initialisierung) kann beliebig oft durchgeführt werden. Auch dann, wenn die Variable bereits deklariert ist.
- Eine Deklaration mit Wertzuweisung ist nur dann zulässig, wenn die Variable noch nicht existiert.
- Der NC-Befehl #DELETE V.I.Name löscht die Variable "V.I.Name" unabhängig davon, von welchem Kanal aus und wann die Variable angelegt wurde.
- Der NC-Befehl #DELETE ALL [V.I] löscht alle deklarierten V.I-Variablen unabhängig davon, von welchem Kanal aus und wann die Variablen angelegt wurde.
- Der lesende, schreibende oder löschende Zugriff auf eine unbekannte, evtl. gelöschte, Variable wird mit dem Fehler ID 20392 quittiert.
Hinweis

CNC-Reset im Kanal löscht die V.I.-Variablen nicht.
Voraussetzung:
Über P-CHAN-00521 muss ausreichend Speicher zur Verfügung gestellt werden, gleichzeitig muss über P-CHAN-00522 die maximale Anzahl V.I.-Variablen festgelegt sein.
Über P-CHAN-00525 kann festgelegt werden, welcher Kanal für Handhabung der V.I:-Variablen eines Kanal zuständig ist, siehe Parametrierbeispiel. Ist dieser Parameter nicht gesetzt, so ist der erste Kanal hierfür zuständig. Der eingetragene Kanal ist für alle Anfragen, wie z.B. Definitionen, Werteänderungen und Löschen von V.I.-Variablen der zuständig.
Programmierbeispiel

Deklaration, Zugriff und Löschen von V.I.-Variablen.
(Deklaration )
N100 VAR
N101 V.I.Name1 = 12
N102 V.I.Name2
N103 ENDVAR
(Zugriff )
N110 V.I.Name1 = 12
N120 V.I.Name2 = V.I.Name1
(Löschen )
N130 #DELETE V.I.Name1
N140 #DELETE ALL [V.I]
M30
Beispiel für Parametrierung von V.I.-Server
Beispiel

Ausgangslage ist ein 2-kanaliges System, bei dem der zweite Kanal als Server für die V.I.-Variablen zuständig ist.
Alle Anfragen, wie z.B. Definitionen, Werteänderungen und Löschen von V.I.-Variablen des Kanal 1, werden an den Kanal 2 geschickt.
Parametrierung von Kanal 1:
configuration.decoder.vi_server 2 ( P-CHAN-00525 -Referenz auf Kanal mit ID=2)
Parametrierung von Kanal 2:
configuration.decoder.vi_memory 1000 ( P-CHAN-00522)
configuration.decoder.vi_maximal_var_count 100 ( P-CHAN-00523)
configuration.decoder.vi_server 2 ( Selbstreferenz)