LabVIEWForum.de - Sub-VI Datenfluss funktioniert nicht

LabVIEWForum.de

Normale Version: Sub-VI Datenfluss funktioniert nicht
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe ein Problem mit einem erstellten SUB-VI:

Ich habe eine einfache numerische Anzeige, diese Habe ich im Anschlussfeld als Ausgang definiert.
Wenn ich in meinem VI das Subvi aufrufe wird der Wert nicht übergeben... Im Subvi selber steht in der Anzeige eine 1... dies ist auch korrekt... im eigentlichen Programm hingegen steht eine 0 (Wert wird nicht weiter gegeben)
' schrieb:Hallo,

ich habe ein Problem mit einem erstellten SUB-VI:

Ich habe eine einfache numerische Anzeige, diese Habe ich im Anschlussfeld als Ausgang definiert.
Wenn ich in meinem VI das Subvi aufrufe wird der Wert nicht übergeben... Im Subvi selber steht in der Anzeige eine 1... dies ist auch korrekt... im eigentlichen Programm hingegen steht eine 0 (Wert wird nicht weiter gegeben)


Kannst du das VI mal hochladen?!

P.S.: Ich hab nur Lv82_img! Also entweder extra dafür speichern oder einen Screenshot!

LG
Torsten
' schrieb:Kannst du das VI mal hochladen?!

P.S.: Ich hab nur Lv82_img! Also entweder extra dafür speichern oder einen Screenshot!

LG
Torsten


So hier sind die 2 dateien... ich hole mir einen zahlenwert von einem opc-server...
Lv85_img
' schrieb:So hier sind die 2 dateien... ich hole mir einen zahlenwert von einem opc-server...


Wie bereits gesagt: ich kann sie leider nicht öffnen (falsche Version)! Aber so ist es wahrscheinlicher, dass dir irgendjemand helfen kann.

Viel Glück!
' schrieb:Wie bereits gesagt: ich kann sie leider nicht öffnen (falsche Version)! Aber so ist es wahrscheinlicher, dass dir irgendjemand helfen kann.

Viel Glück!


Sorry... jetzt habe ich sie für 8.2 konvertiert...

ich glaube das problem liegt bei bei dem opckram... da gibt er die werte nicht weiter...
' schrieb:Sorry... jetzt habe ich sie für 8.2 konvertiert...

ich glaube das problem liegt bei bei dem opckram... da gibt er die werte nicht weiter...


Okay, also testen kann ichs natürlich nicht richtig, aber in deiner While-Schleife schreibst du den numerischen Wert in das Ausgabeelement. Die Übergabe an das übergeordnete VI erfolgt allerdings erst, wenn das SUB-VI abgearbeitet ist, also alle Schleifen beendet sind. Du übergibst also nur den letzten Ausgabewert.

Hast du mal geschaut ob dieser Wert evtl. tatsächlich 0 ist?

Du könntest mal anstelle des numerischen Wertes innerhalb der Schleife, ein Array mit allen Werten außerhalb der Schleife zurückgeben. Dann kannst du sehen, ob zwischendurch mal ein Wert ungleich 0 aufgetreten ist.

LG
Torsten
' schrieb:Okay, also testen kann ichs natürlich nicht richtig, aber in deiner While-Schleife schreibst du den numerischen Wert in das Ausgabeelement. Die Übergabe an das übergeordnete VI erfolgt allerdings erst, wenn das SUB-VI abgearbeitet ist, also alle Schleifen beendet sind. Du übergibst also nur den letzten Ausgabewert.

Hast du mal geschaut ob dieser Wert evtl. tatsächlich 0 ist?

Du könntest mal anstelle des numerischen Wertes innerhalb der Schleife, ein Array mit allen Werten außerhalb der Schleife zurückgeben. Dann kannst du sehen, ob zwischendurch mal ein Wert ungleich 0 aufgetreten ist.

LG
Torsten


Vielen Dank für die Antwort... ich werde mir das gleich mal anschauen... gibt es eine möglichkeit den Wert in der whileschleife zu speichern un anschließend weiter zu geben??? oder direkt in der whileschleife zu übergeben?
' schrieb:Vielen Dank für die Antwort... ich werde mir das gleich mal anschauen... gibt es eine möglichkeit den Wert in der whileschleife zu speichern un anschließend weiter zu geben??? oder direkt in der whileschleife zu übergeben?


Du kannst die Werte aus der Schleife direkt nach außen führen (da entsteht dann ein Array über alle Durchläufe). Entweder gibst du das gesamte Array zurück oder selektierst anschließend einen bestimmten Index.

Lv82_img[attachment=16195]
' schrieb:Du kannst die Werte aus der Schleife direkt nach außen führen (da entsteht dann ein Array über alle Durchläufe). Entweder gibst du das gesamte Array zurück oder selektierst anschließend einen bestimmten Index.

Lv82_img[attachment=43836:ReturnIntOrIntArray.vi]


Mein Problem liegt in der while schleife... für diese bräuchte ich eine abbruchbedingung... ich komme iwie aus dieser nicht mehr raus... deswegen zeigt er mir zwar die werte an, gibt sie aba nicht aus...

für den zugriff auf den opc-server habe ich das beispiel von LabVIEW... gibt es eine möglichkeit nur eine adresse, einmal gezielt zu lesen??? mit der variante hätte ich das problem nicht...
Referenz-URLs