LabVIEWForum.de - Problem bei Sub-VI

LabVIEWForum.de

Normale Version: Problem bei Sub-VI
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
hey leute, bin noch ganz frisch hier, und habe erst ca. 3-4 monate LabVIEW erfahrung
bräuchte hilfe bei einem seltsamen problem, und ich komm einfach nicht auf die lösung also ich hoffe ihr könnt mir helfen

also ich habe ein sub-vi erstellt welches folgende funktionen beinhaltet:

2 nummerische eingabefelder (max und min)
for-schleife (n = max - min)
zahl zu string konvertierung
string ausgabe (min + i)
verzögerung 2sek

soll im prinzip heißen, das ich einfach in der ausgabe solange vom minimal wert 1 addiere bis ich beim maximal wert angelangt bin (das funktioniert auch ohne probleme) und jeder zwischenwert wird 2sek angezeigt

aber sobald ich dieses als sub-vi abspeichere, und dann in ein anderes vi einbinde passiert folgendes:

die werte werden zwar weiterhin addiert (verzögerung wird auch eingehalten), aber es werden keinerlei zwischenwerte angezeit das heißt wenn ich z.B. als min = 0 und max = 3 eingebe, erscheint nach 8 sekunden der wert 3 in der ausgabe

ich versteh nicht ganz wieso das so ist, denn wenn ich das sub-vi während der vi-laufzeit öffne werden dort auch wiederum die zwischenergebnisse angezeigt nur eben im vi nicht...
Im Prinzip (Datenfluss) nimmt ein Sub-Vi die Eingänge, macht was es soll, und am ende werden die Ausgänge gesetzt.
Die Schlaufe musst du in diesem Fall im Haupt-Vi machen, und im Sub-Vi nur einen Schritt.

Gruss
Roland
Wie oft wird das SubVI im HauptVI aufgerufen? Ich vermute, genau 1x...d.h. dass SubVI arbeitet im Hintergrund alles ab und zeigt dann das Endergebnis (über alle Durchläufe des SubVI) an und das wird an dessen Ausgang auch nur genau 1x ausgeben.

Wenn du Zwischenwerte sehen willst hast du zwei Möglichkeiten:

1. Den Wert aus dem SubVI über ne Referenz eines Anzeigelementes im HauptVI an dieses übergeben
2. Das SubVI mehrfach aufrufen, d.h. die Schleife nicht IM SubVI, sonder außenrum...

A.
...hätte da auch noch eine Frage in der Richtung...

ich habe versucht mit einer Rerferenz und lokalen Variabeln zu arbeiten, das ganze funktioniert irgendwie nur so halb, ich habe mal mein Problem etwas vereinfacht in einem Vi (siehe Bild) dargestellt. Im SubVi wird nach der Wartezeit der zweite String ausgegeben, im HauptVi leider nur der erste String.



thx für eure Hilfe



Lv85_img
Du musst in beiden Sequenzschritten direkt in den PropertyNode (ohne lokale String-Variable) schreiben!
' schrieb:Du musst in beiden Sequenzschritten direkt in den PropertyNode (ohne lokale String-Variable) schreiben!

besten Dank Rofl2
' schrieb:Wie oft wird das SubVI im HauptVI aufgerufen? Ich vermute, genau 1x...d.h. dass SubVI arbeitet im Hintergrund alles ab und zeigt dann das Endergebnis (über alle Durchläufe des SubVI) an und das wird an dessen Ausgang auch nur genau 1x ausgeben.

Wenn du Zwischenwerte sehen willst hast du zwei Möglichkeiten:

1. Den Wert aus dem SubVI über ne Referenz eines Anzeigelementes im HauptVI an dieses übergeben
2. Das SubVI mehrfach aufrufen, d.h. die Schleife nicht IM SubVI, sonder außenrum...

A.


Zu der ersten Möglichkeit hätte ich mal die Frage, wie sowas in etwa auszusehen hat. Ich möchte einfach nur einen numerischen Waagen-Wert den ich über RS232 empfange permanent im HauptVI anzeigen lassen. Das mit der Referenz und dem Eigenschaftsknoten habe ich bis jetzt mit meinen bescheidenen Kenntnissen irgendwie noch nicht verstanden.

Vielen dank im Voraus!!!

Lv82_img
Referenz-URLs