LabVIEWForum.de
programmatischer Zugriff auf Umgebungsvariablen via Pfad - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: programmatischer Zugriff auf Umgebungsvariablen via Pfad (/Thread-programmatischer-Zugriff-auf-Umgebungsvariablen-via-Pfad)



programmatischer Zugriff auf Umgebungsvariablen via Pfad - achim @ FZK - 04.10.2011 07:43

Hallo,

ich möchte auf eine Umgebungsvariable programmatisch über den Dateipfad zugreifen. Geht das?



Vielleicht gehts auch einfacher, daher mein Problem in groben Zügen.

Ich habe auf einer cRIO ein Programm, welches Daten von einem übergeordneten System in systematischen globalen Variablen (also keinen VIs, welche nur zur Datenspeicherung dienen). Diese Daten möchte ich zusätzlich von einem PC aus ansehen und manipulieren können. Damit ich den Aufruf nicht für jede Variable einzeln machen muss, was mein Ansatz programmatisch auf die Umgebungsvariable zuzugreifen. Alle in Frage kommenden Umgebungsvariablen stehen in einer lvlib drin.

Hat jemand eine Idee wie und ob sowas geht? (ich weiß sehr außergewöhnlich, aber bei der konkreten Anwendung sehr elegant...)

Viele Grüße
Achim


RE: programmatischer Zugriff auf Umgebungsvariablen via Pfad - GerdW - 04.10.2011 08:11

Hallo Achim,

du kannst programmatisch zugreifen (Ausschnitt aus einem meiner Programme):
[attachment=36280]
Du musst nur den passenden Pfad auf die Variable erstellen - mit der richtigen Protokollangabe! Dateipfade helfen dir da nicht weiter...

Zitat:ich weiß sehr außergewöhnlich
Wieso außergewöhnlich? Elegant vielleicht...
Wenn du die SharedVariables "direkt" aufrufst, versucht dein LV-Executable schon beim Starten eine Verbindung aufzubauen. Dies kann störend sein. Über die oben gezeigte Methode kann man zu beliebigen Zeitpunkten zugreifen...


RE: programmatischer Zugriff auf Umgebungsvariablen via Pfad - achim @ FZK - 04.10.2011 10:00

Hi,

okay, das mit dem Pfad leuchtet mir ein...

Gibt es denn eine Möglichkeit, dass ich mir die die Variablen in einer *.lvlib-Datei auflisten lasse?
Ich möchte vermeiden, dass ich jede Datei auf das Blockdiagramm ziehen muss um dann aus dem Pfaden ein Array zu erstellen...

Leider ists es so einfach wie im Screenshot nicht...

@Gerd: In Deinem Screenshot, wo kommen da die 'Namen' aus dem VI 'DA-MT FGV-Config' her?

Viele Grüße
Achim


RE: programmatischer Zugriff auf Umgebungsvariablen via Pfad - GerdW - 04.10.2011 11:26

Hallo Achim,

dein Bild hat aber überhaupt nichts mit "lvlib"-Dateien zu tun. Der LibLister behandelt nur LLBs (lt. der ebenfalls in deinem Bild gezeigten Hilfe)...

Zitat:wo kommen da die 'Namen' aus dem VI 'DA-MT FGV-Config' her?
Der Name der SV lautet "RT-AI" im Projekt "DA-MT" - so wie es im Formatstring zu lesen ist. Ich weiß halt vorher, auf welche SV ich zugreifen will...

Auf beliebige SVs zuzugreifen, ohne etwas über sie zu wissen, könnte problematisch werden: du musst ja den Datentyp der SV wissen, um (korrekte) Daten zu lesen oder zu schreiben. Sonst bekommst du auch beim programmatischen Zugriff Fehlermeldungen! Von daher: vorher eine Liste der SV-Namen anlegen - als Programmierer solltest du die doch kennen Smile


RE: programmatischer Zugriff auf Umgebungsvariablen via Pfad - achim @ FZK - 04.10.2011 13:10

Hi,

ja klar im Prinzip kenne ich die Namen der Variablen, jedoch wäre es an dieser Stelle elegant, wenn ich die Namen der Variablen in einer lvlib einfach als String auslesen könnte.
Wenn Variablen hinzukommen, bzw wegfallen, muss ich den Programmteil nicht bearbeiten.

Gibts denn da keine Möglichkeit? Einfach nur der Name würde mir schon reichen.

Viele Grüße
Achim