LabVIEWForum.de - SubVi mit eigenem Front Panel aufrufen?

LabVIEWForum.de

Normale Version: SubVi mit eigenem Front Panel aufrufen?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo, ich probiere grad die LV 2010 Eval aus. Einige Grundtutorials habe ich schon ausprobiert, so dass ich mit LV ein wenig herumhantieren kann. Nun möchte im nächsten Schritt einfach mal eine Bedienoberfläche schaffen, d.h. ich habe als Beispiel zwei Fenster mit Buttons, wenn ich einen bestimmten Button klicke, soll zwischen den front Panels der jeweiligen VIs hin- und hergeswitcht werden. Ich habe hier mehrere Seiten und Beispiele schon durch, die Ähnliches behandeln, aber ich verstehe überwiegend nur Bahnhof.:(Ich kann einige Beispiele auch gar nicht erst nachvollziehen, weil ich bestimmte Methoden und Symbole im LV gar nicht erst finden kann. Hat das was mit der Eval Version zu tun oder suche ich nicht an der richtigen Stelle?

Mir fehlt also der richtige Ansatz, die LabView-Hilfe hat mich bisher nur ins Schleudern gebracht, weil ich nicht erfassen kann, was für meine Aufgabe das Essentielle ist. Daher bräuchte ich von Euch eine Starthilfe. Ich bin schon so weit, dass ich Begriffen habe, dass ich ein Haupt VI habe, und dass alle anderen im Projekt eingebundenen VIs zu SubVIs werden, sobald ich das Symbol rechts oben des jeweiligen VIs in mein Haupt VI reinziehe (das scheint bei den älteren Versionen anders gewesen zu sein?). Aber was nun? Im Blockdiagramm den Ausgang eines Buttons mit dem SubVI verbinden läuft schon mal nicht, weil das SubVI keine zugewiesenen Eingänge hat. Weise ich im Frontpanel rechts oben unter "Anschluss anzeigen" einen Eingang zu? Wenn ja, was für einen?

Dankeschön soweit.
' schrieb:Mir fehlt also der richtige Ansatz, die LabView-Hilfe hat mich bisher nur ins Schleudern gebracht, weil ich nicht erfassen kann, was für meine Aufgabe das Essentielle ist.
Das ist völlig klar: Die Labview Hilfe ist ungeeignet, um vom Stand 0 beginnend Labview zu erlernen.
Auch viele Lehrbücher sind leider so aufgebaut, daß die inhaltliche Systematik Vorang hat gegenüber einer didaktischen Systematik.
Und auch solche Fragen wie Deine hier im Forum werden Dir nicht viel helfen, wenn Du noch gar nichts über Labview weißt.

So habe ich begonnen und würde es jedem so empfehlen:
Es gibt zu jeder Distribution ein Handbuch "Getting Started", "Erst Schritte". Das ist in einzelne Kapitel eingeteilt und enthält Beispiele. Zu jedem Kapitel ist der Zeitaufwand vermerkt, den man braucht um das durchzuarbeiten. Insgesamt sind das vielleicht 12 Stunden.
Meine Empfehlung: Mach das so gründlich wie möglich, bis Du alles verstanden hat, und erst dann benutzte das Forum, schaue in in andere Lehrbücher und verwende die Labview-Hilfe.
Also, die "Ersten Schritte" erinnern mich stark an das Hands-On... Rolleyes
Inzwischen habe ich das mit dem Frontpanel zum SubVI hinbekommen. Ich wollte mal spaßenshalber das SubVi in einem Subpanel ausführen. Das SubVI für sich läuft (Tastenfeld mit Stringanzeige). Aber wenn ich es Subpanel im Frontpanel ausführe, wird das SubVI nicht ausgeführt, bzw. alles hängt (auch das Frontpanel). Wo habe ich meinen Denkfehler? Achja, ich habe 2009 und nicht 2010..


[attachment=28374]
[attachment=29239]
Also,
wenn du das so codest, wird das VI ausgeführt und der Ausführungsblock wartet ab, bis das Sub-VI beendet wird. Und jetzt bin ich mir nicht ganz sicher, ob du das VI auch beendest..;)Kann ich aus dem Screenshot nicht erkennen, aber solange das nicht passiert, kommst Du im Haupt-VI nicht aus dem mittleren Sequenz-Rahmen raus.

Mit ein bisschen gerate vermute ich, dass Du vielleicht während der Event-Bearbeitung im Haupt-VI das Frontpanel gesperrt hast (Kontextmenü --> Eigenschaften der Event-Struktur) und dann hängst Du da wahrscheinlich relativ lange fest...

Um das zu vermeiden: Keine zeitintensiven Operationen in einer Event-Struktur. Das heißt insbesondere sowas wie Du machst, also komplette Sub-VIs abarbeiten. Ich packe nur Sachen wie Verriegelungsüberprüfungen (sind alle Daten für eine Operation vorhanden?) oder kurze Entscheidungen in die Event-Strukur und arbeite für die Code-Ausführung mit State-Machines (Gibt's ein Beispiel bei LV dabei). Macht das ganze deutlich stabiler...

Generell: Verabschiede Dich von der Sequenz in der Event-Struktur sondern nimm die Errorlines zum Sequentieren... ist der bessere Programmierstil und für komplexere Sachen deutlichst einfacher, weil man einfach die wichtigen Sachen sequenziert und LabView den Rest machen lässt.

Grüße,

ch
Ja, macht Sinn. Für diesen Fall sollte es so ausreichen. Ich will hier ja auch erreichen, dass zunächst das SubVI abgearbeitet wird, ehe ich am Frontpanel wieder arbeiten "darf". Das SubVI hat einen Stop-Button, und wenn ich die Ausführung des SubVI alleine in der Frontpanelbearbeitung starte, dann wird die Ausführung mit Klick auf den Button auch ordnungsgemäß beendet. Das Kernproblem ist, dass das SubVI als dann Unterpanel im Haupt-VI-Panel zwar gestartet wird, das SubVI aber stehen bleibt (klar, dass dann auch das Frontpanel nicht mehr reagiert, da ich es auch so programmiert habe). Aber warum läuft das SubVI nicht im Unterpanel? Ich habe schon in den VI-Einstellungen eine Ablaufinvariante Ausführung ausprobiert, hat aber auch nicht geklappt.
Lad doch mal die VIs hoch... So kann ich auch nur raten...
Hier sind die VIs.

Lv09_img2
[attachment=29242]
[attachment=29241]
Hallo Mr10,

dein Problem dürfte mit den Eventstrukturen zusammenhängen, die sich da wohl gegenseitig blockieren... Mit der richtigen Einstellung funktioniert es nämlich bei mir! Schon mal die Hilfe zur Eventstruktur durchgelesen? Tipp: bei den Eventeinstellungen mal den letzten Punkt ganz unten beachten...

Anbei schon mal dein Login-VI ohne lokale Variablen. (LabVIEW ist datenflußbasiert - da benötigt man lokale Variablen nicht (für die von dir gewünschten Vorgänge)! (allesLv09_img2)

Sowohl Event-Strukturen als auch Subpanels sind nicht unbedingt der einfachste Einstieg in LabVIEW...
As I said:
' schrieb:Mit ein bisschen gerate vermute ich, dass Du vielleicht während der Event-Bearbeitung im Haupt-VI das Frontpanel gesperrt hast (Kontextmenü --> Eigenschaften der Event-Struktur) und dann hängst Du da wahrscheinlich relativ lange fest...

Steht allerdings under "Events des Cases bearbeiten". Das Unterpanel wird also Teil des Frontpanels des Haupt-VIs und auf dem darf man nix machen,w enn Du das Event so einstellst...

ch
Aaaaaah. Okay. Danke! Wenn man das so bei Licht betrachtet auch logisch.. Cool Das mit dem Datenflussbasiert habe ich so auch noch gar nicht gewusst und zugeordnet.
Man wächst halt mit den Herausforderungen, und da lege ich gerne mal die Latte nicht ganz so niedrig. Rolleyes

Als nächstes würde ich gerne die VISA Schnittstelle so konfigurieren, dass sie im DAQ als Quadraturencoder erkannt und ausgewertet wird. Lol Oder ginge das?? Blink
Referenz-URLs