Also ...
@rolfk: Danke für die Erklärung. Ich denke ich habe das sagen wir mal zu einem dreiviertel verstanden. Da ich kein Informatiker und eigentlich auch kein Programmierer bin, ist das immer etwas schwieriger zu verstehen. Hab ich das richtig verstanden, dass das Problem an Referenzen ist, dass der Datenfluss nicht sauber, eher zufällig, sehr aufwendig (Kontextswitch) ist und wahrscheinlich Werte verloren gehen?
Das mit den lokalen Variablen und normalen Ein- und Ausgängen am VI kenn ich auch, find ich auch wesentlich einfacher und logischer, aber die diesem Fall ist das wie ein bisschen sinnlos für mich. Ich versuch mal zu erklären warum das für mich bis jetzt so ist: Wenn ich im Haupt-VI eine Messung starte, bekomme ich Werte über den DAQ-Assistenten von einem Sensor. Das Einlesen der Werte findet in dem Sub-VI statt (hab icih schon gepostet), was ich auch schon geposted hab. Wie man ja in dem VI sieht, läuft das Sub-VI ja in einer While-Schleife. Das Problem ist ja nun, dass wenn die Schleife ertsmal läuft, werden die Veränderungen vom Haupt-VI nicht mehr übertragen, wenn man lokale Variablen verwendet oder die Werte direkt eingibt. Das nützt mir aber nichts. Deshalb benutze ich die Referenzen, weil das dann ziemlich gut funktioniert. Und umgekehrt ist das auch so: Die Werte, die der Sensor liefert, werden in einem Chart angezeigt, quasi als Verlaufskontrolle. Den Graphen brauch ich aber im Haupt-VI, weil ich ja sehen will, was der Sensor macht und das Sub-VI nur im Hintergrund läuft. Benutze ich jetzt eine lokale Variable oder über einen ganz normalen Aus-/ Eingang am Vi, erscheint der Graph erst wenn das Sub-VI beendet ist. Das bringt mir nur überhaupt nichts. Wenn die Messung ne Stunde lang geht und ich seh nicht was der Sensor macht und ich stell dann nach ner Stunde fest, dass das ne Runde Müll war, wärs schlecht. Also brauch ich was, das Veränderungen vom Sub-VI ins Haupt-VI direkt überträgt. Und da bin ich auf die Referenzen gekommen. Und wenn man ein Sub-VI vom Haupt-VI aus beenden will, geht das auch nicht mit ner lokalen Variablen. Vielleicht mit ner globalen Variable, aber da weiß ich nicht wie das mit LabVIEW geht. Und die anderen Werte, die ich übergebe, verändern sich auch immer und die Veränderung muss ich sehen. Deshalb mach ich alles über die Referenzen. Wenn das auch anders möglich ist, dann wär das wirklich schön, wenn mir das mal jemand erklären würde.
@unicorn
Doch die Methode kannte ich schon ein bisschen, hab das auch schonmal gemacht, aber wie schon gesagt die nützt mir nichts. Bei diesem "Voltage sensitivity" könnte ich das wirklich so machen, aber wenn ich den Wert während der Messung doch mal verändern muss, dann gehts wieder nicht. Ich würde das so machen, wenn ich einmal einen Wert am Anfang oder am Ende von der Messung übergeben muss. Da ich aber laufend Werte übergebe, geht das vorerst erstmal nicht anders.
"Es wundert mich schon ein wenig wie Du die Referenzen vor der anderen Methode kennengelernt hast." Das ist auch erst das 3. Programm was ich versuche zu schreiben. Normalerweise braucht man das vielleicht für den Anfang wirklich nicht, aber das 2. Programm war dann so groß, dass ich halt vieles in Sub-VIs auslagern musste und dann hab ich das auch mit den lokalen Variablen und den normalen Aus-/Eingängen am Sub-VI versucht. Hab das aber ziemlich schnell wieder sein gelassen, weil es mir in den meisten Fällen eh nichts gebracht hat, sobald ich halt diese veränderlichen Daten hatte. Ich versuch halt, mir das was ich brauch irgendwie anzueignen, so dass das läuft. Eigentlich ist das auch nicht mein Fachgebiet. Und bei LabVIEW gibts auch so viel ... wenn ich da erst alles lernen wöllte dass es effektiv ist und richtig und optimal, müsste ich wahrscheinlich erstmal nen 1-monatigen Lehrgang belegen
Jedenfalls danke nochmal für die Erklärungen und Vorschläge!
LG