LabVIEWForum.de
Ereignisstruktur etc. in SubVI auslagern? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Ereignisstruktur etc. in SubVI auslagern? (/Thread-Ereignisstruktur-etc-in-SubVI-auslagern)

Seiten: 1 2 3


Ereignisstruktur etc. in SubVI auslagern? - Matze - 22.06.2010 10:42

Hallo zusammen,

ich habe mir einen Editor programmiert, der Bedien- und Anzeigeelemente sowie eine Ereignisstruktur (zur Abfrage, ob Schaltflächen gedrückt wurden etc.) enthält.
Der Editor liefert mir einen Cluster mit Daten zurück.

Nun möchte ich den Editor gerne in mehreren Programmen verwenden und den zugehörigen Code nicht immer aus dem Blockdiagramm kopieren müssen. Bei Änderungen steigt der Wartungsaufwand sonst enorm und die Fehleranfälligkeit ebenfalls.

Schön wäre es, wenn das Ganze in ein SubVI o.ä. ausgelagert werden könnte.
Das führt zu einem übersichtlichen Blockdiagramm und Anpassungen des Editors werden in sämtlichen Programmen übernommen, die diesen verwenden.

Gibt es hier eine saubere Lösung oder stoße ich hier an die Grenzen von LabVIEW, da die Benutzeroberfläche hier verwendet wird?

Freundliche Grüße
Matze


Ereignisstruktur etc. in SubVI auslagern? - GerdW - 22.06.2010 10:58

Hallo Mechatroniker,

was spricht dagegen, eben diesen Editor als subVI zu verwenden? Falls kein eigenes Fenster geöffnet werden soll, kannst du den ja auch per Subpanel einbinden...

Alternativ:
Schau dir an, wie XControls erstellt werden. Die kann man auch in andere VIs einbinden...


Ereignisstruktur etc. in SubVI auslagern? - Matze - 22.06.2010 11:06

Hallo Gernd,

ich kenne bisher nur die normalen SubVIs und die sind dafür weniger geeignet.
SubPanels und XControls sehe ich mir an, danke.

Grüße


Ereignisstruktur etc. in SubVI auslagern? - GerdW - 22.06.2010 11:08

Hallo Mechatroniker,

"normalen SubVIs und die sind dafür weniger geeignet"
Könntest du das bitte etwas näher erläutern? Warum sollte ein subVI für einen Editor "weniger geeignet" sein?


Ereignisstruktur etc. in SubVI auslagern? - SeBa - 22.06.2010 11:16

' schrieb:...die normalen SubVIs ...

Mich würde der Unterschied zwischen einem normalen SubVI und den Restlichen interessieren... vielleicht ist mir da was entgangen.


Gruß SeBa


Ereignisstruktur etc. in SubVI auslagern? - Matze - 22.06.2010 12:31

Ähm "normale SubVIs" sind für mich die VIs, die in Programme eingebunden werden, ohne das Frontpanel der SubVIs anzuzeigen. Sicher heißen die offiziell anders.
Also sämtliche SubVIs, die LabVIEW integriert hat wie beispielsweise die ganzen DAQmx-VIs. Ich verwende dessen Anschlüsse und wenn ich einen Wert anzeigen möchte, verbinde ich einen der Ausgänge mit eigenen Anzeigeelementen. D.h. das Anzeigeslement dieser VIs kann ich nicht direkt nutzen, denn die SubVI-Frontpanels sieht man später nicht.

Ich benötige eine Kombination aus Frontpanel und Blockdiagramm, wobei das Frontpanel direkt angezeigt werden soll.

Wenn ich ein Blockdiagramm mit Eregnisstruktur z.B. nachträglich über "Bearbeiten -> SubVI erstellen" in ein SubVI packen möchte, erscheint eine Warnung, dass das Programm möglicherweise nicht lauffähig sein wird (klar, die Bedienelemente fehlen ja bzw. müssten über Referenzen angegeben werden, sofern das bei einer Ereignisstruktur überhaupt möglich ist).

Ich hoffe, das war etwas verständlicher.


Ereignisstruktur etc. in SubVI auslagern? - GerdW - 22.06.2010 12:45

Hallo Mechatroniker,

hast du dir schon mal die VI-Properties genauer angeschaut? Die Seite mit den Window-Properties? Da wo man einstellt, ob ein subVI-FP gezeigt werden soll oder nicht? (Und die Position, Größe, Fenster-Titel, ...)

Alternativ kann man auch auf das subVI-Icon im BD des mainVI rechtsklicken und diese einzelne Instanz konfigurieren...

Das sind alles "normale" subVIs - du musst nur konfigurieren, ob's FP gezeigt wird oder nichtSmile

Erstelle den Editor als eigenständiges VI und binde dieses als subVI woanders ein!


Ereignisstruktur etc. in SubVI auslagern? - SeBa - 22.06.2010 12:51

In den VI Einstellungen gibt es doch die Option "Frontpanel beim Aufruf anzeigen"...
Deine "normalen" VI's machen das halt nicht, da das Frontpanel uninteressant für die Funktion ist.

Beispielsweise ein SubVI-Benutzerdialog zeigt sein Frontpanel beim Aufruf an...



Gruß SeBa


Ereignisstruktur etc. in SubVI auslagern? - Matze - 22.06.2010 13:00

Diese Option finde ich in den zahlreichen VI-Einstellungen nicht. Das sind einfach zu viele. ;-)

Wird denn dann ein neues Fenster angezeigt?
Es wäre schön, wenn ich das Frontpanel z.B. in einen Reiter einer Registerkarte des Haupt-VIs einbinden könnte.


Ereignisstruktur etc. in SubVI auslagern? - GerdW - 22.06.2010 13:04

Hallo Mechatroniker,

mal ein Auszug aus der LabVIEW-Hilfe... (Weiterlesen bei Customize Window Appearance und Show frontpanel when called)

Ein Fenster ist immer das Ding mit dem Rahmen drumherum und diversen Knöpfen im Rahmen... Das wirst du schwerlich in ein TabControl einbetten können. Aber dafür gibt es ja Subpanels!