LabVIEWForum.de
Code funktioniert als SubVI nicht mehr!?! - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Code funktioniert als SubVI nicht mehr!?! (/Thread-Code-funktioniert-als-SubVI-nicht-mehr)



Code funktioniert als SubVI nicht mehr!?! - Labview Newbie - 13.05.2016 18:05

Hallo zusammen,

ich habe mir ein kleines Programm gebastelt, mit dem ich verschiedene Buchstaben Kombinationen erstellen will.
Soweit funktioniert es auch recht gut.
Nur wenn ich die Schleifen für die Buchstaben in ein SubVI "auslkagern" will funktioniert es nicht mehr!Bahn
Liegt es an den nicht initialisierten Schieberegistern?


RE: Code funktioniert als SubVI nicht mehr!?! - IchSelbst - 13.05.2016 21:22

(13.05.2016 18:05 )Labview Newbie schrieb:  Liegt es an den nicht initialisierten Schieberegistern?
Ja natürlich. Ein SubVI-Aufruf überschreibt die mühsam berechneten Schieberegisterwerte des vorhergehenden Aufrufes.

Lösung: Ablaufinvariante Ausführung oder Schleife um das SubVI und die Schieberegisterwerte als Array ...

Vielleicht sollte ich noch dazu sagen: Ohne lauffähiges Muster bleiben meine Aussagen natürlich nur Spekulation


RE: Code funktioniert als SubVI nicht mehr!?! - IchSelbst - 14.05.2016 09:11

Wie hast du es jetzt gemacht: Die in diesem Falle nicht so schöne Lösung Invariant oder die hier bessere, weil leicht auf beliebig viele Buchstaben erweiterbare Möglichkeit For-Schleife mit Array?


RE: Code funktioniert als SubVI nicht mehr!?! - Labview Newbie - 14.05.2016 11:08

ich habe es mit der Ablaufinvariante Ausführung gemacht.
Die Version mit der Forschleife muss ich gestehen erschliest sich mir auch nicht so ganz...


RE: Code funktioniert als SubVI nicht mehr!?! - IchSelbst - 14.05.2016 11:26

(14.05.2016 11:08 )Labview Newbie schrieb:  Die Version mit der Forschleife muss ich gestehen erschliest sich mir auch nicht so ganz...
Folgendes sollte funktionieren:
Im Schieberegister im SubVI liegt nicht ein einzelner nummerischer Wert DBL, sondern ein Array of DBL. Dem SubVI wird beim Aufruf der Index der For-Schleife übergeben. Im SubVI wird das Array mit diesem For-Schleifenindex indiziert, dieser Wert geändert und zurückgeschrieben.

Zu Beginn des Programm kann man das SubVI einmalig aufrufen, um das Schieberegister zu initialisieren.