LabVIEWForum.de
Haupt-VI und Sub-VIs - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Haupt-VI und Sub-VIs (/Thread-Haupt-VI-und-Sub-VIs)



Haupt-VI und Sub-VIs - vore - 08.08.2008 11:25

Hallo an Alle im Forum!

Ich habe ein grundsätzliche Frage zu Haupt- unter Unter VIs. Vielleicht kann mir da jemand eine Tip geben.

Wir haben eine LabVIEW Applikation, welche über ein Haupt-VI (wird beim Programmstart geöffnet) und
zahlreiche Sub-VIs verfügt. Die Sub-VIs werden aber alle im Haupt-VI über eine Menüleiste aufgerufen und
gestartet.

Im Haupt-VI befinden sich hauptsächlich Schaltflächen welche auf eine DIO-Karte wirken (digitale Ausgänge setzen und einlesen).
In den Sub-VIs befinden sich zusätzliche Funktionen (z.B. Auswertung eines Spektrometers) aber keine Zugriffe auf die DIO-Karte.
Das Problem ist, dass wir teilweise aber die DIO-Funktionen in den Sub-VIs benötigen. Da wir die Sub-VIs über das Haupt-VI aufrufen,
ist das Haupt-VI gesperrt und nur das Sub-VI arbeitet. Wir müssten also einen Teil der DIO-Funktionen in die Sub-VIs einbauen.
Das ist aber sehr aufwendig und es wäre einfacher, das Haupt-VI trotz des laufenden Unterprogramms zu benutzen. Soweit wir verstanden
haben, ist das aber nicht möglich.
Eine Alternative wäre, zwei Sub-VIs gleichzeitig zu starten. Aber bei Programmstart ist nicht bekannt welche Sub-VIs benötigt werden.
Und das Konzept mit einem Haupt-VI möchten wir eigentlich beibehalten.

Jemand eine Idee, wie man so etwas realisieren kann?

Danke!


Haupt-VI und Sub-VIs - IchSelbst - 08.08.2008 11:31

' schrieb:Das ist aber sehr aufwendig und es wäre einfacher, das Haupt-VI trotz des laufenden Unterprogramms zu benutzen. Soweit wir verstanden haben, ist das aber nicht möglich.
Doch. Prinzipiell ist das möglich.

Ihr könnt (z.B.) zwei While-Schleifen machen. Die laufen dann parallel und prinzipiell unabhängig voneinander. In die eine While-Schleife macht ihr alles das mit den DIOs rein. In der zweiten While-Schleife werden die Sub-VIs aufgerufen. Dann steht zwar die zweite Schleife, nicht aber die erste.

Nichtsdestoweniger solltet ihr trotzdem das mit den DIOs in einen eigenes SubVI auslagern. Dieses SubVI läuft dann selbständig und kann mittels Queues/Melder/etc. gesteuert werdenn.


Haupt-VI und Sub-VIs - vore - 19.08.2008 09:12

Hi!

Danke für den Tip. Werden das so versuchen. Auf die Idee sind wir noch nicht gekommen.
Die DIOs werden sowieso in SUB-VIs verarbeitet. Wir haben für jede Funktion ein SUB-VIs angelegt,
welches nur noch aufgerufen wird und dann die entsprechenden Signals setzt.

Danke!