LabVIEWForum.de - SubVI mit Methodenknoten starten

LabVIEWForum.de

Normale Version: SubVI mit Methodenknoten starten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo!

Ich möchte aus einem HauptVI heraus ein subVI starten. Bei dem subVI könnte es sich z.B. um einen Taschenrechner handeln (der Taschenrechner ist hier nur ein abstrahiertes Beispiel).

Ich habe dazu die Referenz des subVIs bestimmt. Mit einen boolschen Schalter mit der Funktion An/Aus, die den Rechner an oder ausschalten sollen, wird in einer case-Struktur mit den Methoden "FP.Schließen" und "FP.Öffnen" gearbeitet. In dem case, wo das Frontpanel geöffnet wird, wird auch die Methode "VI ausführen" gesetzt.

Um Fehler beim Öffnen/Starten vorzubeugen, gehe frage ich vor dem Öffnen des subVIs ab, ob FP.Status=closed ist, weil sonst eine Fehlermeldung kommt, wenn FP.Status != closed. Das VI wird nur dann gestartet, wenn Ausf.Status = Idle ist (Bild Labview1.jpg)

Beim Beenden wird die Methode "FP-Schließen" nur dann ausgeführt, wenn FP.Status != Closed ist (Bild Labview2.jpg).

Das subVI könnte z.B. einen Zustandsautomaten beinhalten - wenn der noch nicht beendet wurde, dann habe ich es so verstanden, dass das VI auch mit der Methode FP.Schließen im Speicher bleibt. Darum frage ich vorher beim Startenprozess mit dem Knopf ab, ob Ausf.Status = idle ist und nicht running oder anderes, damit die Methode nicht zweimal ausgeführt wird.

Ich habe mich bisher noch garnicht mit diesen Programmelementen befasst und ich würde mich sehr freuen, ob ihr mir vielleicht ein paar Hinweise geben könnet, ob an meiner Struktur vielleicht Fehler enthalten sein könnten, die später z.B. im Speicher zu Problemen führen könnten oder was auch immer - oder aber vielleicht auch eine Rückmeldung, ob diese Vorgehensweise so in ordnung ist.

PS: Das HauptVI ist "nur" zum Testen. Die pollende while-Schleife soll in der eigentlichen Anwendung später durch eine Eventstruktur ersetzt werden.
Bahn
Lad' mal Dein VI hoch.

Gruß Markus
(28.05.2013 12:08 )Hasenfuss schrieb: [ -> ]Das subVI könnte z.B. einen Zustandsautomaten beinhalten - wenn der noch nicht beendet wurde, dann habe ich es so verstanden, dass das VI auch mit der Methode FP.Schließen im Speicher bleibt. Darum frage ich vorher beim Startenprozess mit dem Knopf ab, ob Ausf.Status = idle ist und nicht running oder anderes, damit die Methode nicht zweimal ausgeführt wird.

Das VI bleibt im Speicher solange noch eine aktive Referenz und/oder wenn das Frontpanel geöffnet ist. In deinem Beispiel bleibt das VI immer im Speicher, da es mit einer statischen Referenz eingebunden ist. Deshalb musst du dir auch keine Gedanken über Laden/Entladen machen.
Referenz-URLs