LabVIEWForum.de - Globale Variablen in NI-Webserver

LabVIEWForum.de

Normale Version: Globale Variablen in NI-Webserver
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin zusammen,

ich hatte ein Problem was ich im Moment geschickt umgangen habe, aber vielleicht kennt ja jemand von Euch eine bessere Lösung.
Ausgangspunkt ist ein Projekt in dem ein Core-Programm läuft welches Messwerte einsammelt, diese weiter verarbeitet und das ganze in TDMS-Dateien schreibt.
Als zweites gibt es nun eine Erweiterung in Form eines NI-Webservers über den man die Daten per GET abrufen kann und Einstellungen per PUT setzen kann.
In diesen VI's benutze ich natürlich die globalen Variablen des Core-Programmes, dies macht auch keine Probleme in der Testumgebung, aber sowie man den
Web-Server veröffentlicht sind alle Variablen leer und hier die Frage warum und was für Lösungen gibt es ohne zwei Dateien die zum Austausch dienen?

Ich bin für jede Idee offen und Danke schon mal für die Antworten.

Grüße Alexander
Hallo Alex,

herzlich willkommen im LabVIEW-Forum!

Zitat:In diesen VI's benutze ich natürlich die globalen Variablen des Core-Programmes, dies macht auch keine Probleme in der Testumgebung, aber sowie man den
Web-Server veröffentlicht sind alle Variablen leer und hier die Frage warum und was für Lösungen gibt es ohne zwei Dateien die zum Austausch dienen?
Globale Variablen sind nur "global" innerhalb ihres "Execution Contexts", d.h. innerhalb deines Core-Programms. Dein Webservice läuft dagegen innerhalb einer anderen Execution - und sieht deshalb nichts, was im Core passiert. (Beispiel: Wenn du den Texteditor startest, dieht der auch nicht, was Word veranstaltet - auch wenn beide mit der gleichen Textdatei arbeiten wollen…)

Innerhalb der IDE funktioniert es natürlich, da dann Core und WebService innerhalb des "IDE" ExecutionContexts laufen…

Wenn zwei Programme Daten austauschen wollen, dann geht das üblicherweise per:
- Dateien auf dem Rechner
- Netzwerk-Kommunikation (UDP, TCP, diverse andere Protokolle inkl. NetworkSharedVariables/NetworkStreams in LabVIEW)

Suche dir etwas davon aus! :-)

Abgesehen davon sind globale Variablen nicht unbedingt geeignet, um Daten "sicher" zu verteilen. Der Anwendungsfall "eine Datenquelle, mehrere Datensenken, keine zeitliche Koordination" kann damit aber erfüllt werden…
Referenz-URLs