LabVIEW identifiziert Umgebungsvariablen über eine Variablen-ID-URL. Um Umgebungsvariablen programmatisch zu lesen und schreiben, können Sie die dazugehörigen Variablen-ID-URLs über den Eingang Umgebungsvariable (Referenz, Eingang) der Funktionen für Umgebungsvariablen festlegen.

Hinweis Sie können auch programmatisch nach Umgebungsvariablen suchen, um mehrere Variablen mit geringem Programmieraufwand zu lesen und schreiben.

Aufbau von Umgebungsvariablen

In der folgenden Liste werden die verschiedenen Konstruktionen für Umgebungsvariablen und Variablen-ID-URLs in LabVIEW zusammengefasst.

  • Umgebungsvariable—Ein Speicherbereich für den Austausch von Daten.
  • PSP-Variable—Ein Datenobjekt, das mit dem NI-Protokoll zum Senden und Empfangen (NI-PSP) in einem Netzwerk veröffentlicht wird. Gängige Beispiele für PSP-Variablen sind Netzwerk-Umgebungsvariablen, I/O-Variablen mit aktiviertem Datenaustausch im Netzwerk und über den DAQmx-I/O-Server gesendete DAQ-Kanäle.
  • I/O-Variable—Umgebungsvariable, bei der einzelne Daten über die NI Scan Engine ausgetauscht werden.
  • Variablen-Container—Eine Reihe von Variablen. Die gängigste Art von Variablen-Containern ist eine Projektbibliothek. Aber auch I/O-Module, Sensornetze (WSNs) und EtherCAT-Geräte können als Variablen-Container eingesetzt werden. Über das Dialogfeld Variablenobjekt suchen kann nach allen momentan im Netzwerk verwendeten Variablen-Containern gesucht werden.
  • Variablen-Engine—Eine Laufzeitkomponente, mit der die Hierarchie von Variablen-Containern und Variablen verwaltet wird.
  • Projektbibliothek—Eine Zusammenstellung von VIs, Typdefinitionen, Umgebungsvariablen, Menüdateien der Palette und anderen Dateien, einschließlich anderer Projektbibliotheken. Eine Projektbibliothek mit Umgebungsvariablen gilt als Variablen-Container. Aber nicht alle Variablen-Container sind Projektbibliotheken.
  • Zielname—Der Name eines Zielobjekts, z. B. "Mein Computer", oder eines Echtzeitsystems in einem LabVIEW-Projekt.
    (Real-Time Module) Geben Sie den Namen des Echtzeitsystems im Feld Name der Seite General Properties im Dialogfeld RT Target Properties ein.

Syntax von Variablen-ID-URLs

Die URL-Syntax von Variablen-IDs sieht wie folgt aus:

[Variablen-Engine]://[Host-Name]/[Container-Name]/[Variablenname]

Der Container-Name und Variablenname muss für alle URLs angegeben werden. Die Variablen-Engine kann dagegen weggelassen werden, wenn sie durch die Klasse bestimmt ist. Der Host-Name muss nicht angegeben werden, wenn sich die Variablen auf demselben Computer wie die VIs befinden.

Das folgende LabVIEW-Projekt enthält beispielsweise Netzwerk-Umgebungsvariablen des Containers Netzwerkvariablen.lvlib und I/O-Variablen des Containers I/O-Modul-1.

Die folgende Tabelle zeigt die vollständigen URLs für einige der Variablen im Projekt.

Variablenname Variablentyp Variablen-ID-URL
Netzwerkvariable1 Netzwerk-Umgebungsvariable ni.var.psp://Mein Computer/Netwerkvariablen/Netzwerkvariable1
AI0 I/O-Variable ni.var.io://RT CompactRIO Target/I%2FO Module1/AI0
Netzwerkvariable3 Netzwerk-Umgebungsvariable ni.var.psp://RT CompactRIO Target/RT-Netzwerkvariablen/Netzwerkvariable3

Die Groß- und Kleinschreibung wird bei URLs für Variablen-IDs nicht berücksichtigt. Sie müssen aber reservierte Zeichen durch die entsprechenden Escape-Sequenzen ersetzen, um Parsing-Fehler zu vermeiden. So muss beispielsweise das Zeichen durch %2F ersetzt werden.

Die Angabe der Variablen-Engine in der URL hängt vom Typ der Variablen ab, die gelesen oder geschrieben werden soll. Die folgende Tabelle enthält die Variablen-Engine-URLs für alle Umgebungsvariablen, die von den Umgebungsvariablen-Funktionen unterstützt werden.

Typ Variablen-Engine-URL
Netzwerk-Umgebungsvariable, I/O-Variable oder I/O-Alias (Netzwerkzugriff) ni.var.psp
I/O-Variable oder I/O-Alias (lokaler Zugriff) ni.var.io

Für den Zugriff auf eine Netzwerk-I/O-Variable oder einen I/O-Alias können Sie entweder die PSP- oder die I/O-Variablen-Engine verwenden. Nutzen Sie die I/O-Variablen-Engine (ni.var.io) für den lokalen Zugriff auf eine Netzwerk-I/O-Variable oder einen I/O-Alias. Nutzen Sie die PSP-Variablen-Engine (ni.var.psp) für den Netzwerkzugriff auf eine Netzwerk-I/O-Variable oder einen I/O-Alias.

Die Angabe der Variablen-Engine in der URL ist optional, wenn eine der folgenden Klassen verwendet wird:

  • PSP-Variablen-Engine
  • I/O-Variablen-Engine
  • PSP-Variablen-Container
  • I/O-Variablen-Container
  • PSP-Variable
  • I/O-Variable

Die URL-Syntax würde dann wie folgt aussehen:

//[Host-Name]/[Container-Name]/[Variablenname]

Wenn Sie mit einer allgemeinen Klasse arbeiten, die keine Angabe zur Variablen-Engine enthält, und Sie keine eigene Angabe vornehmen, sucht LabVIEW in der nachstehenden Reihenfolge nach einer Variablen-Engine.

  1. I/O-Variablen-Engine
  2. PSP-Variablen-Engine

Wenn eine passende URL in mehreren Engines vorliegt, verwendet LabVIEW die erste.

Der [Host-Name] in der Variablen-ID-URL ist optional. Sie können den Host in Form eines DNS- oder Systemnamens oder als IP-Adresse angeben. Wird kein Host-Name in der URL angegeben, vermutet LabVIEW, dass der Computer mit dem VI der Host ist. Mit dem String localhost kann der Computer mit dem VI explizit als Host festgelegt werden. Zur Vermeidung möglicher Probleme sollten Sie immer eindeutige Namen verwenden.

Ist die Angabe eines Host-Namens nicht erforderlich, sieht die URL-Syntax wie folgt aus:

/[Container-Name]/[Variablenname]

Wenn der Host-Name nicht eindeutig interpretiert werden kann (z. B. als Projekt- oder DNS-Name) sucht LabVIEW in der nachstehenden Reihenfolge nach einer gültigen Interpretation des Namens.

  1. Zielname (wie im LabVIEW-Projekt angegeben)
  2. DNS-Name
  3. IP-Adresse

Die Namen von Umgebungsvariablen in einem Container müssen eindeutig sein. Da die ID von Variablen aber den Container-Namen enthält, können Variablen in verschiedenen Containern den gleichen Namen teilen.