LabVIEWForum.de - Reference an SubVI übergeben

LabVIEWForum.de

Normale Version: Reference an SubVI übergeben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

kleines Problem: wie kann ich eine Reference an ein SubVI übergeben?
Hintergrund: ich möchte eine "main" haben in der ein Knopf ist, der im SubVI eine Aktion auslösen soll (hier: einfach einen Indicator auf 100 setzen). Bekomme keine Fehlermeldungen, allerdings auch keine Reaktion, d.h. Wer ändert sich nicht.
Habe das vorher schon zig mal gemacht, aber jetzt hakt es irgendwo. Der Button im main ist auf switch when released (also bloß keine latch Funktion).

Anmerkungen, wie macht man es richtig?

Danke,

Robert
Mach es doch gleich richtig: mit Occurence oder User Event. (LV8.0)
Aber so wie du es gemacht hast sollte es eigentlich auch funktionieren, aber so mache ich das nie. Vielleicht noch jemand.
Irgendwie erinnert mich Roberts Ansatz sehr an C, habe das so noch nie in LV gemacht. Glaube auch nicht, dass das so standard ist...
' schrieb:Aber so wie du es gemacht hast sollte es eigentlich auch funktionieren, aber so mache ich das nie. Vielleicht noch jemand.
Hallo,

vielen Dank für deine Hilfe. Was für ein event man überträgt sollte ja im Grunde genommen egal sein. Wie auch immer, dein Beispiel läuft (natürlich) perfekt. Nun nur eine Frage: wie schaut das ganze aus, wenn ich das SubVI in einem Panel des main anzeigen lassen möchte? Anbei mein Versuch (LV 8.0), der (wie könnte es auch anders sein) nicht lauffähig ist...

Gruß,

Robert

P.S. Kann man die Scrollbalken des Subpanels irgendwie entfernen, bzw. den "numeric indicator" in die Mitte bekommen?
Erklärung:

' schrieb:Anmerkungen, wie macht man es richtig?
So - also die Referenz auf das UserEvent - geht das aber nicht. In diesem Falle würde ein Event nur ausgelöst werden, wenn sich der Wert der Referenz ändert. Der ändert sich aber nicht, soll auch nicht.
' schrieb:P.S. Kann man die Scrollbalken des Subpanels irgendwie entfernen,
Klar. Den vorhandenen VI-Knoten weiter aufziehen (oder war da ein extra Knoten für?) und bei "Scrollbalken anzeigen" "nein" (besser aber: "nur während der Laufzeit") anschließen.

Zitat:bzw. den "numeric indicator" in die Mitte bekommen?
Ich mach das immer so: Im SubVI werden die Elemente im vierten Quadranten (der Nullpunkt ist also oben links) eben in der Nähe des Nullpunktes angeordnet. Dann wird das SubVI bei Aufruf auf (0,0) bezogen auf das SubPanel positioniert. Die Breite und Höhe wird durch das SubPanel vorgegeben.
' schrieb:Ich mach das immer so: Im SubVI werden die Elemente im vierten Quadranten (der Nullpunkt ist also oben links) eben in der Nähe des Nullpunktes angeordnet. Dann wird das SubVI bei Aufruf auf (0,0) bezogen auf das SubPanel positioniert. Die Breite und Höhe wird durch das SubPanel vorgegeben.
Danke.
Auch für den anderen tipp. Verstehe das mit der Referenz momentan zwar nicht, muss mir da mal neue Literatur suchen (netterweise lässt die DLLs, Referenzen aus :=() Das sich die Referenz selbst nicht ändern soll ist mir schon klar, aber deshalb ja extra das Register user event.

Gruß,

Robert
Zum SubPanel kann ich leider nichts sagen, weil ich am liebsten mehrere Fenster habe.
Aber was anderes zum Datentyp des Events. Ich habe es extra als String definiert, denn damit kann man beliebige Daten über nur einen einzigen Event übertragen.
' schrieb:Verstehe das mit der Referenz momentan zwar nicht, muss mir da mal neue Literatur suchen (netterweise lässt die DLLs, Referenzen aus :=() Das sich die Referenz selbst nicht ändern soll ist mir schon klar, aber deshalb ja extra das Register user event.
Du hast Recht, zumindest solltest du. ;)Mir ist da schon wieder ein Fehler unterlaufen.

Aber trotzdem würde ich von Referenzen als UserEvent absehen. Außerdem musst du beachten, dass ein Ereignis nur einmal bearbeitet werden kann. Solltest du also in dem VI, in dem sich das Bedienelement befindet, z.B. ein "ValueChanged"-Event haben, so wird das "ValueChanged"-Event, das dem SubVI wegen der Referenz theoretisch zur Verfügung steht, im SubVI nicht ausgeführt.
Seiten: 1 2
Referenz-URLs