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!
Hallo,
da mir die bisherigen Beitrage nur teilweise weiterhelfen konnten, versuche ich es mit einem neuen Beitrag.
Folgendes Problem: Ich habe in einem Projekt zwei VIs und möchte, dass eines das andere öffnet. Nun habe ich Beispiele gefunden, in denen das auch wunderbar klappt, allerdings sobald ich diese zum Testen in mein Projekt hinzufüge, funktioniert es nicht mehr. Im Anhang befindet sich sowohl ein Screenshot der Projektstruktur, als auch die Datei.
Ich will über das Main.VI das Sub.VI starten,wo liegt der Fehler?
Gibt es außerdem noch Alternativen, die eleganter sind?
Hallo Freddy,
danke! Da habe ich mich wohl etwas ungeschickt angestellt.
Eine weitere Frage hätte ich noch. Kann ich ein VI beim Projektstart automatisch ausführen? Ich stehe vor dem Problem, dass ich VIs in einer bestimmten Reihenfolge öffnen muss, idealerweise öffnet sich eines schon direkt beim Projektstart.
ich arbeite bereits mit Sequenzstrukturen, aber wie soll mir das helfen, ein VI direkt beim Projektaufruf automatisch auszuführen?
Ich will VI1 automatisch starten und VI2 manuell starten können. Dabei ist eben die Reihenfolge wichtig, da ich von 1 nach 2 Daten schicke.
Hallo Freddy,
danke für deine Antworten, allerdings muss ich gestehen, dass ich gerade etwas auf dem Schlauch stehe. Ich packe dir mal mein Projekt in den Anhang und es handelt sich um die die zwei VIs "VI_1" und "VI_2_RT", damit du es besser nachvollziehen kannst.
Dabei soll wie bereits beschrieben VI_1 zu erst ausgeführt werden und danach erst VI_2_RT. Also das VI vom RT soll über das vom Host gestartet werden
Ich habe das mit deiner Sequenzstruktur nicht ganz verstanden, was genau meinst du damit?
Gruß
AAlp
22.05.2019, 14:07 (Dieser Beitrag wurde zuletzt bearbeitet: 22.05.2019 14:13 von NoWay.)
Was Freddy mit Sequenzstruktur meint, ist im einfachsten Sinne genau das: eine Sequenz von Einzelschritten.
Im Blockdiagramm sieht das dann z.B. so aus:
Das Beispiel ist rein exemplarisch. Links rufst du ein VI asynchron auf. Das VI startet und deine Sequenz läuft weiter. der mittlere Teil ist eine stumpfe Wartezeit und gibt dem ersten VI Zeit um sich zu initialisieren. Anschließend wird das zweite VI gestartet.
Würdest du die VIs an diesen Stellen nicht asynchron aufrufen, so würde die Sequenz an der Stelle des jeweiligen VI Aufrufes verharren, bis das VI seine Arbeit getan hat.
Tante Edit sagt: Im Screenshot von Freddy ist eine gestapelte Sequenzstruktur zu sehen. Das ist das gleiche, wie in meinem Screenshot, mit dem Unterschied, dass man stets nur einen Schritt sehen kann und die übrigen auswählen muss. Das spart VIEL Platz.
Hallo NoWay,
danke für deine Erklärung.
Habe das ganze versucht umzusetzen. Dafür habe ich ein neues VI auf meinem Host erstellt, dabei hat mir ein Beitrag auf der NI Seite geholfen.
Nun wird das VI auf dem Host gestartet und korrekt ausgeführt. Das auf dem RT wird zwar ausgeführt, allerdings scheint es sich mit dem Networkstream nicht ganz zu vertragen, da ich keinen Datenstream zum laufen bekomme. Woran kann das liegen?
Mit diesen kryptischen Informationsfetzen kann man leider nicht viel anfangen. Daher lautet mein Rat hier lediglich: Debuggen!
Analysiere deinen Datenfluss.
Bis zu welcher Stelle sieht alles gut aus?
Wo bleiben erwartete Ergebnisse aus?
Welche Gründe für das Fehlverhalten kann es logisch betrachtet geben?
Für konkrete Hilfe seitens der Community bedarf es konkreter Informationen durch dich in Form von akkuraten Situationsbeschreibungen, Screenshots oder idealerweise VIs. Des Weiteren solltest du dein "Problem" exakt umschreiben können, da hier niemand deine Arbeit kennt und sich jeder erst einmal ´reindenken muss.