LabVIEWForum.de - Funktionale Globale Variable - Problem

LabVIEWForum.de

Normale Version: Funktionale Globale Variable - Problem
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo

Da ich in verschiedenen Abläufen (VIs) die DIO- und AD-DA Ein-/Ausgänge ansprechen muss, will ich die Initialisierung über eine Funktionale Globale Variable machen. Zuerst habe ich das über Notifier gemacht, das funktioniert auch. Da das aber zu unübersichtlich ist, wollte ich dafür die oben genannte Funktionale Globale Variable benutzen.

Ich habe mal einige einfache Testprogramme zur Verdeutlichung erstellt.
Normale Vorgehensweise „Funktionstest-Test2.vi“ funktioniert.

Mein Problem:
Initialisierung: InitTest.vi
Messung: Funktionstest-Test1.vi
Funktionale Globale Variable: global_data_storage-ini-Test.vi
Wenn ich Funktionstest-Test1.vi aufrufe, erhalte ich Error -200429.

LabVIEW 8.5

Es ist wahrscheinlich nur eine Kleinigkeit, aber ich finde keine Lösung. :-(
Hallo,

nach etwas testen und versuchen finde 2 Fehler:

1. Wenn du nichts bei deinem FGV anschließt, dann wird der Case "Write" ausgeführt, da das entsprechende Control als Default-Wert "Write" hat.
2. Hast du mal das Init-VI und das Funktionstest-VI in ein VI zusammengepackt? Dann geht es nämlich. Nehme mal an, dass das Task zwar über dein Init-VI angelegt wird, aber wenn dann LV wieder stoppt, dann wird auch das Task beendet. Ein 2. Aufruf des FGV-VI liefert dann am Ausgang nur ein leeres Task.

MfG, Jens
Hallo Jens,

dein zweiter Punkt trifft das Problem.
Wenn das VI beendet wird, taucht die Fehlermeldung auf.
Ich habe die zwei VIs nicht in eins gepackt, sondern mal in das Init-VI eine Sequenz gepackt, dann kommt, solange es läuft, keine Fehlermeldung mehr. Gibt es dafür eine logische Erklärung bzw. was noch besser wäre, eine sinnvollere Lösung als das VI nicht zu beenden?

Der erste Punkt trifft allerdings nicht zu. Default ist Read, deshalb muss zum Lesen der GFV der Read/Write Anschluss nicht belegt werden. Wenn ich bei AD_Sample-Anzahl einen Wert schreibe, dann kann ich diesen auch auslesen. Das Problem taucht auch bei PCI6229-Counter nicht auf, sondern nur bei den Tasks auf.
Referenz-URLs