LabVIEWForum.de
Keine Daten beim Einbinden von SubVI - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Keine Daten beim Einbinden von SubVI (/Thread-Keine-Daten-beim-Einbinden-von-SubVI)



Keine Daten beim Einbinden von SubVI - Basti_AC - 22.01.2007 16:04

Hi,

in meinem HauptVI möchte ich ein SubVI aufrufen, das als Ausgangskanal einen Messwert der seriellen Schnittstelle liefert. Wenn ich nur das SubVI starte, werden in dessen Frontpanel die Daten einwandfrei angezeigt und aufgrund einer Schleife alle 5 Sekunden aktualisiert. Jetzt dachte ich eigentlich immer dass das Einbinden des SubVIs nichts anderes bedeutet als das Starten dieses VIs aus einem anderen VI heraus mit Ausgabe der entsprechenden Werte an den Anschlüssen gemäß dem zuvor definierten Anschlussplan.
Aber wenn ich das SubVI im HauptVI einbinde und den Ausgang mit einer numerischen Anzeige verbinde, wird kein Wert angezeigt. Das klappt unverständlicherweise erst, wenn ich den Messwert innerhalb des SubVI in einer Shared Variable zwischenspeichere und diese Variable dann im HauptVI per Schleife regelmäßig auslesen lasse.

Ich hoffe das ist ungefähr klargeworden? Bilder sind im Anhang...

Gruß,
Bastian


Keine Daten beim Einbinden von SubVI - A.Berndsen - 22.01.2007 16:50

Hallo Bastian,

ich denke Du mußt erstmal grundlegend verstanden haben wie ein Programmablauf erfolgt und wie sich ein SubVI darin verhalten soll.
Gehen wir mal davon aus, daß Dein Hauptprogramm den Ablauf des gesamten Programms steuert. In diesem Hauptprogramm werden SubVI's aufgerufen, die bestimmte Aufgabe erledigen. Da das Hauptprogramm aber alle Steuerungslogik beinhaltet, muß das SubVI seine Aufgabe so schnell wie möglich erledigen und dann die Kontrolle an das Hauptprogramm zurückgeben. In diesem Fall wird es im SubVI (wenn überhaupt) eine While-Schleife geben die automatisch beendet wird. Oder man läßt sie gleich weg wenn man sie nicht unbedingt benötigt.
In Deinem SubVI läuft eine solche Schleife, die manuell beendet werden muß, dann kann das HauptVI aber auch nicht weiterarbeiten und zeigt die Daten auch nicht an.

Es gibt mehrere Möglichkeiten wie man die Daten aus dem SubVI trotzdem zur Laufzeit im HauptVi anzeigen kann. Aber das dürfte bei Deinem Programm nicht nötig sein.
Sorge einfach im HauptVI dafür, daß das SubVI nach Deinen Wünschen (alle 5 sec) aufgerufen wird und laß das SubVI seine Aufgabe in einem Durchlauf ohne Schleife erledigen.

Gruß
Andreas


Keine Daten beim Einbinden von SubVI - Y-P - 22.01.2007 16:57

Hi,

das geht so leider auch nicht.
Schau Dir mal diese Beiträge hier an:
http://www.LabVIEWforum.de/index.php?showtopic=3630
http://www.LabVIEWforum.de/index.php?showtopic=3308
http://www.LabVIEWforum.de/index.php?showtopic=3615
Da siehst Du, wie Du es machen könntest.

Gerade diese Möglichkeit mit Notifiern funktioniert gut (auch in den Beiträgen enthalten):
http://www.LabVIEWforum.de/index.php...ost&p=15767

Gruß Markus


Keine Daten beim Einbinden von SubVI - Basti_AC - 22.01.2007 22:18

danke für die Tipps, werds morgen mal ausprobieren und die Schleife vom SubVI ins HauptVI verlagern...

Gruß,
Bastian