LabVIEWForum.de
NumAnzElem bleibt leer - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: NumAnzElem bleibt leer (/Thread-NumAnzElem-bleibt-leer)



NumAnzElem bleibt leer - gerln - 08.11.2011 20:17

Hallo LabView-Gemeinde.

Ich hab gerade ein Problem was ich einfach nicht nachvollziehen kann.

Ich habe in einem SubVi eine While-Schleife mit zwei Schieberegistern, an denen jeweils ein Numerisches Anzeigeelement hängt.
Beide bekommen am Schleifenende halt die Werte aus den Registern. Soweit passt das alles .

Nun möchte ich aber diese Anzeigen als Ausgänge definieren, um die Werte an ein weiteres Sub zu geben.

Aber sobald ich sie als Ausgänge definiert habe, werden sie nicht mehr beschrieben.

Tests mit weiteren Anzeigen an der gleichen Leitung --> in denen stehen die korrekten Werte .(Diese als Ausgänge definiert, gleicher Effekt-->bleiben leer)


Hat da jemand eine Idee ?

Danke im Vorraus

Mfg


RE: NumAnzElem bleibt leer - jg - 08.11.2011 20:29

Kann dir nicht so ganz folgen. Kannst du mal ein Bsp hochladen? Oder zumindest einen Screenshot?

Gruß, Jens


RE: NumAnzElem bleibt leer - gerln - 08.11.2011 21:30

Hi.

Also die abgebildeten Anzeigeelemente bekommen nach Schleifenablauf die Werte aus den Registern. --> funktioniert

Aber sobald ich eines der Elemente mit einem Anschluss des SubVi verbinde, steht drin eine Null und die anderen haben die korrekten Werte.

(USB-Schritte X_gem,USB-Schritte Y_gem im Screen sind als Ausgänge des Sub definiert)

Mfg


RE: NumAnzElem bleibt leer - jg - 08.11.2011 21:59

Jetzt verstehe ich besser.
Stark vereinfacht hast du folgendes SubVI:
[attachment=37022]
(Im False-Case passiert nichts)
Wenn du dieses SubVI mit Boolean=False aufrufst, dann behält das Control "kein Ausgang" seinen letzten Wert, "Ausgang" dagegen wird auf seinen Standard-Wert zurückgesetzt, denn es wird in diesem Durchlauf gar nicht gesetzt.
Anders sieht es aus, wenn du dieses VI mit Boolean=True aufrufst. Danach wird "Ausgang" sehr wohl denselben Wert haben wie "kein Ausgang".

Das ist (inzwischen) so in LV, ein Terminal, das in einem VI-Durchlauf nicht gesetzt wird, wird mit seinem Standard-Wert zurückgegeben. Es ist das Gegenstück zu Controls, die als Eingang definiert sind. Wenn vom Aufrufer kein Wert übergeben wird, dann wird mit dem Standard-Wert weitergearbeitet.

Gruß, Jens

P.S.: Deine flache Sequenz-Struktur ist vollkommen überflüssig. Die serielle Abarbeitung wird schon durch den Datenfluss gewährleistet. Und führe doch einfach den Ausgang des Schieberegisters weiter anstatt vorher abzuzweigen:
[attachment=37023]


RE: NumAnzElem bleibt leer - gerln - 08.11.2011 22:53

Hi.

Dank Dir schonmal.
Hab jetzt irgendwie keine Nerven mehr das nachvollziehen zu können. Sitz irgendwie heut schon zu lange dran.

Nur noch ein Gedanke.
Ich muß doch das Vi mit True aufgerufen haben, denn es stehen ja in den "NichtAusgängen" die Schritte inklusive der in diesem Durchlauf addierten Schritte drin..
Und somit sollten doch auch die Ausgänge Werte enthalten..Naja ist schon spät..

P.S.
Das mit den Registern hatte ich vorher schon so wie vorgeschlagen. War nur ein Versuch, ob sich dadurch mein Problem lösen läßt..
Habs nur noch nicht zurückgeändert.

Gruß und gute Nacht


RE: NumAnzElem bleibt leer - gerln - 09.11.2011 21:12

Vielen Dank an Jens.

Fehler erkannt, Fehler gebannt.

Mir war irgendwie nicht bewusst, dass die WhileSchleife in der das Sub läuft beim nächsten Durchlauf zwar eine Abbruchbedingung erfüllt, aber trotzdem nochmal bis zum Ende abgearbeitet wird.
Somit der False-Case auftritt und die Anzeigen zurückgesetzt werden.
Da zusätzlich an den angebrachten Sonden keinerlei Regung zu verzeichnen war, bin ich davon ausgegangen das gar keine Werte geschrieben wurden.

Naja wieder eine Erfahrung reicher.

Also Danke nochmal

Gruß
Mirko