Netzwerkvariablen sind Variablen, deren Werte zwischen verschiedenen Steuerungsgeräten im Netzwerk ausgetauscht werden können. Die Variablen müssen dazu in starren, identischen Listen sowohl im Sendergerät als auch im Empfängergerät definiert sein, wobei nur 1 Applikation eines Geräts Netzwerkvariablen definieren darf. Die Listen können innerhalb eines Projekts oder in verschiedenen Projekten liegen.
Die Netzwerkvariablenliste im Sender ist eine globale Variablenliste, in deren Objekteigenschaften
bestimmte Protokoll- und Übertragungsparameter definiert sind. Durch Hinzufügen dieser
Eigenschaften erzeugen Sie aus einer "normalen" „GVL“ eine "Netzwerkvariablenliste (Sender)". Sie können aber auch direkt ein Objekt
„Netzwerkvariablenliste (Sender)“ im Gerätebaum einfügen, für das diese Parameter bereits gesetzt sind.
Die Netzwerkvariablenliste im Empfänger ist vom Typ „Netzwerkvariablenliste (Empfänger)“. Beim Anlegen wählen Sie die zugehörige Netzwerkvariablenliste des Senders aus. Alternativ
können Sie diese Variablenliste aus einer Exportdatei einlesen, die zuvor aus der
Senderliste erzeugt wurde. Eine Exportdatei ist auf jeden Fall nötig, wenn die Senderliste
in einem anderen Projekt definiert ist.
Die Übertragung von Netzwerkvariablen erfolgt als Broadcasting immer nur in eine Richtung, vom Sender zum Empfänger. Es ist allerdings möglich, dass ein Gerät sowohl Sender- als auch Empfängerlisten enthält.
Ab Version 3.5.7.0 der Bibliothek NetVarUdp
wird kein Empfangskanal mehr belegt, wenn kein bestätigter Transfer gewählt wird.
Dadurch ist auch Netzwerkvariablenaustausch zwischen 2 Steuerungen auf 1 Hardwaregerät
möglich.




HINWEIS

-
Wenn die austauschenden Geräte als Sender und Empfänger dienen, müssen die Variablenlistenkennungen der Variablenlisten eindeutig sein, um fehlerhaftes Verhalten zu vermeiden! Die Variablenlistenkennungen sind im Dialog „Eigenschaften“ eines Objekts GVL definiert.
-
Datenaustausch über Netzwerkvariablen ist in folgenden Fällen nicht möglich:
-
Wenn es nicht vom Gerät (Zielsystem) unterstützt wird
-
Wenn eine Firewall die Kommunikation blockiert
-
Wenn ein anderer Client oder eine andere Applikation den UDP-Port benutzt, der in den Eigenschaften der Netzwerkvariablenliste eingestellt ist
-
Wenn mehr als 1 Applikation pro Sender- und Empfängergerät Netzwerkvariablenlisten verwenden
-
-
Nur Arrays, deren Grenzen mit einem Literal oder einer Konstante definiert sind, werden zur Empfänger-Applikation übertragen! Konstante Ausdrücke sind für diesen Zweck nicht erlaubt!
Beispiel: "
arrVar : ARRAY[0..g_iArraySize-1] OF INT ;
" wird nicht übertragen: "arrVar : ARRAY[0..10] OF INT ;
" wird übertragen. -
Die maximal erlaubte Größe einer Netzwerkvariable ist 255 Bytes. Die mögliche Anzahl von Netzwerkvariablen ist unbegrenzt.
-
Wenn die Größe der GVL die maximale Länge des Netzwerktelegramms übersteigt, werden die Daten auf mehrere Telegramme aufgeteilt. Abhängig von der Konfiguration kann dies zu Dateninkonsistenzen führen.
Eine Kommunikation mit Hilfe von Netzwerkvariablen ist auch möglich, wenn die teilnehmenden
Steuerungen mit Applikationen aus verschiedenen Versionen des Programmiersystems arbeiten
(V2.3, V3). In diesem Fall können Sie jedoch für das Anlegen der genau übereinstimmenden Variablenlisten
im Sender- und Empfängerprojekt nicht den Export/Importmechanismus verwenden. Grund:
Eine aus V2.3 erzeugbare Variablenexportdatei (*.exp
) enthält nicht den erforderlichen Umfang an Informationen, der nötig ist, um in
V3 eine empfangende NVL anzulegen. Es fehlt die entsprechende Konfiguration der Netzwerkparameter
in Form einer GVL-Datei, die Sie zuvor aus dem Sender exportiert haben. Um diese zu
erhalten, müssen Sie die V2.3-NVL zuerst in V3 nachbauen. Daraus können Sie eine Exportdatei erzeugen und auf ihrer Basis eine empfangende
NVL in V3 anlegen.
Eine Alternative zum Datenaustausch zwischen Steuerungen ist die Verwendung von Datenquellen. Im Unterschied zur Broadcasting-Methode beim Netzwerkvariablenaustausch werden dabei definierte Punkt-zu-Punkt-Verbindungen zwischen einer Applikation und einer entfernten Datenquelle angelegt.
-
Konfigurieren eines Netzwerkvariablen-Austauschs