LabVIEWForum.de - Unterpanelinhalt vor Programmstart anzeigen

LabVIEWForum.de

Normale Version: Unterpanelinhalt vor Programmstart anzeigen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo!

Ich möchte das Frontpanel meines Sub-VIs im Hauptprogramm anzeigen und zwar nicht erst, wenn es aufgerufen wird, sondern schon bevor das Hauptprogramm überhaupt gestartet wird (auf einer Registerkarte). Geht das?
Ich habe schon jede Menge über Unterpanel gelesen, aber bei allem, was ich bis jetzt probiert habe, wird das Frontpanel des SubVI frühestens nach Programmstart des Hauptprogramms angezeigt.

Muss ich Anschlüsse im SubVI erstellen und die komplette Benutzeroberfläche dann in die Main kopieren? Das wäre ätzend...

Viele Grüße!
(19.11.2011 15:43 )Janono schrieb: [ -> ]Hallo!

Ich möchte das Frontpanel meines Sub-VIs im Hauptprogramm anzeigen und zwar nicht erst, wenn es aufgerufen wird, sondern schon bevor das Hauptprogramm überhaupt gestartet wird (auf einer Registerkarte). Geht das?
Ich habe schon jede Menge über Unterpanel gelesen, aber bei allem, was ich bis jetzt probiert habe, wird das Frontpanel des SubVI frühestens nach Programmstart des Hauptprogramms angezeigt.

Muss ich Anschlüsse im SubVI erstellen und die komplette Benutzeroberfläche dann in die Main kopieren? Das wäre ätzend...

Viele Grüße!

Hallo Janono

Wenn du das FP deines SubVIs vor dem FP des Hauptprogramms darstellen willst kannst du dies über ein dem Hauptprogramm übergeordneten VI machen. Oder du machst das FP des Hauptprogramm erst über Property-Nodes sichtbar, nachdem das FP des SubVI angezeigt wurde.

Ein Beispiel wäre in diesem Fall auch sehr hilfreich um die ganze Problematik besser zu verstehen...

Hoffe das hilft dir weiter!

Gruss Marc
Ohne Start läuft doch sowieso nichts, und die Welt will betrogen sein. Wäre es da nicht denkbar, einfach als Hintergrundbild im Unterpanel eine Graphik des betreffenden FP zu zeigen?
Also ein XControl startet schon beim Laden in den Speicher...

Der Gag beim Laden eines VIs in ein Sub-Panel liegt darin, dass das dynamisch zur Laufzeit passieren kann. Insofern ist ein Hintergrundbild unpassend. Wenn immer das gleiche VI geladen wird, ist das Bildchen vom FP wohl die bequemste Methode.
Vielleicht ist ein Unterpanel in meinem Fall auch gar nicht der richtige Weg, ich weiß es nicht, habe noch nicht so viel Labview-Erfahrung... Das mit dem Bild geht nicht, weil man Daten in das FP des Sub-VI eintragen können soll.

Ich beschreibe es mal ausführlicher: Ich habe ein Hauptprogramm mit einer Registerkarte mit vier Tabs für verschiedene Messmodi. Jeder dieser Messmodi ist in jeweils einem eigenen Sub-VI bereits implementiert. Jetzt möchte ich, dass das Frontpanel jeder dieser Sub-VIs auf der jeweiligen Registerkarte erscheint und zwar schon vor Programmstart und unabhängig davon, ob das Sub-VI überhaupt aufgerufen wird.

Natürlich könnte ich für jedes Sub-VI Anschlüsse erstellen, die Benutzeroberflächen auf die Registerkarten kopieren und die Anschlüsse wieder verbinden. Dies erscheint mir aber viel zu aufwändig. Hinzu kommt, dass ich alle Variablen per Referenz übergeben müsste, da meine Sub-VIs sonst in While-Schleifen hängen bleiben.

Dieses Problem hätte ich natürlich nicht, wenn ich keine Sub-VIs erstellt hätte, sondern alles einfach in ein riesiges Programm gepackt hätte. Ich dachte, dass Sub-VIs das Programmieren einfacher machen sollen... Huh
Hier mal zwei VIs als primitives Beispiel. Ich möchte dass das FP von "Beispiel-sub" schon vor Programmstart der Main auf der 1. Registerkarte angezeigt wird und ich einen Wert bei "Faktor" eintragen kann.
Also wie gesagt der Gag des Subpanel ist die Möglichkeit dynamisch zu laden. Folglich braucht man nur ein SubPanel und fünf Knöpfe. Vier Knöpfe laden je ein SubVI und der fünfte Knopf beendet das Hauptprogramm. Das Hauptprogramm besteht aus einer Ereignisstruktur in einer While-Schleife. Damit die SubVI geladen werden können, muss nun das Hauptprogramm gestartet sein und schon ist auch das jeweile Frontpanel des gewählten SubVI sichtbar. Je nach Architektur der SubVI werden diese gleich nach dem Laden gestartet oder man braucht noch einen 6. Knopf um den Start manuel durchzuführen.
IMHO gehst du vom falschen Bedienkonzept aus.
Ein VI (inkl. seiner SubVIs) sollte nie so aufgebaut sein, dass man es erst in der IDE öffnet, dann irgendwelche FP-Einträge ändert und dann auf den Start-Knopf oben in der Taskleiste drückt.

Wenn aus dem Projekt am Ende eine eigenständige Exe, dann versteckt man in der Regel sowieso diese LV-Taskleiste, und das Haupt-VI startet direkt beim Start der Exe.

Also anderes Bedienkonzept programmieren, z.B. so was: deine Subpanel-VIs brauchen einen Eingabe-Schritt, erst dann erfolgt die Verarbeitung.

Gruß, Jens
Referenz-URLs