LabVIEWForum.de
Programmsprung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Programmsprung (/Thread-Programmsprung)



Programmsprung - Koch - 10.02.2009 18:49

hallo,

ich hab mit dem im anhang befindlichen modul einen sprung zu einem anderen vi realisiert. mein problem ist das ich das vi aus dem ich das andere öffne anhalten muss. da ich in beiden vi´s meine datenerfassungskarte verwende kommt es ansonsten zu einem konflikt. ich wollte im prinzip einfach die while schleife die mein erstes programm umgibt anhalten. hat jemand ne idee?

schonmal danke im vorraus


Programmsprung - Falk - 10.02.2009 21:16

Moin Koch!

Könntest du zum besseren Verständnis mal dein "1." VI mit der While-Schleife bzw. mal einen kompletten Screenshot davon hier veröffentlichen?

Schöne Grüße
Falk


Programmsprung - Koch - 11.02.2009 10:59

das wird schwierig. ist ein ziemlich großes programm und im momentan auch nicht lauffähig weil ich ein paar änderungen mache. im prinzip ein normales programm mit dem 8 analogeingänge verarbeitet werden. ich möchte im prinzip nur mit dem programmsprung dieses vi anhalten und sobald ich wieder zum programm zurückkehre soll das erste vi wieder laufen


Programmsprung - kpa - 11.02.2009 11:22

Hallo Koch,

Du brauchst ein Sub-VI mit Rückgabewert, sobald du in diesem Sub-VI bist hält Dein Haupt-VI an bis Dein Sub-VI abgearbeitet ist und einen Wert zurück gibt.

kpa


Programmsprung - TSC - 11.02.2009 11:28

' schrieb:das wird schwierig. ist ein ziemlich großes programm und im momentan auch nicht lauffähig weil ich ein paar änderungen mache. im prinzip ein normales programm mit dem 8 analogeingänge verarbeitet werden. ich möchte im prinzip nur mit dem programmsprung dieses vi anhalten und sobald ich wieder zum programm zurückkehre soll das erste vi wieder laufen

kannst du das VI dann nciht ganz normal im blockdiagramm einbinden?

zuerst wird dein MainVI ausgeführt, bis es an dein SubVI kommt. Dann wird dieses gestartet, MainVI ruht in der Zeit. Ist SubVI abgerbeitet, wird mit MainVI fortgefahren.

Wenn du diesesn ablauf nciht durch den Datenfluss steuern kannst (SubVI liegt ohne Verbindungen im MainVI) kannst du den Ablauf durch eine Sequenzstruktur steuern. Dabei werden die einzelnen Rahmen der Sequenz nacheinander abgearbeitet. Erst wenn ein Rahmen vollständig fertig ist, wird der nächste begonnen.

[attachment=16680]

LG
Torsten


Programmsprung - Achim - 11.02.2009 11:43

Alternativ könntest du im aufrufenden VI kurz vor dem Aufruf des neuen VI's einfach das "Lesen" der Karte abbrechen (ClearTask und das Read in ner Case-Struktur) und dann im aufgerufenen VI neu initialisieren...und umgekehrt!


Programmsprung - Koch - 11.02.2009 18:55

genau wie achim es sagt habe ich es vor. ich probiere mir mal was zu basteln. werde es hier posten