Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
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?
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...
"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?
Mich würde der Unterschied zwischen einem normalen SubVI und den Restlichen interessieren... vielleicht ist mir da was entgangen.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
22.06.2010, 12:31 (Dieser Beitrag wurde zuletzt bearbeitet: 22.06.2010 12:32 von Matze.)
Ä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.
Grüße
22.06.2010, 12:45 (Dieser Beitrag wurde zuletzt bearbeitet: 22.06.2010 12:48 von GerdW.)
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 nicht
Erstelle den Editor als eigenständiges VI und binde dieses als subVI woanders ein!
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
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
22.06.2010, 13:00 (Dieser Beitrag wurde zuletzt bearbeitet: 22.06.2010 13:01 von Matze.)
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.
Grüße
22.06.2010, 13:04 (Dieser Beitrag wurde zuletzt bearbeitet: 22.06.2010 13:06 von GerdW.)
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!