LabVIEWForum.de - SubVis parallel laufen lassen

LabVIEWForum.de

Normale Version: SubVis parallel laufen lassen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe in einem Meßprogramm zwei while schleifen. Die eine wird alle zwei Sekunden durchlaufen und schreibt alle Meßdaten in eine Datei. Die andere enthält zwei SubVis die jeweils eine Temperatur regeln. Die beiden SubVis starten zuerst einen Heizer und regeln danach in einer while Schleife die beiden Temperaturen. Da das Programm nicht funktioniert hat, habe ich einige Haltepunkte gesetzt um zu sehen, wo der Fehler liegt. Einerseits werden keine Meßwerte erfasst und von den beiden Temperaturreglern wird nur einer angesteuert.
Ach ja: Die Meß-while-Schleife benutzt das gleiche SubVi zur Temperaturberechnung (und frägt somit auch das gleiche VISA Instrument ab) wie es auch in den Subvis zur Regelung verwendet wird.
Hat jemand ne Idee wie man das lösen kann?
Mit dieser allgemeinen Beschreibung etwas schwierig zu sagen. Eventuell lade dochmal einen Screenshot oder noch besser die Vis hoch.

Ansonsten (was mir auf die schnelle so einfällt):

- Dein Regelungs SubVi hat eine Whileschleife, die verhindert, dass gleichzeitig andere Funktionen ausgeführt werden.
- Du hast den Zugriff auf Visa der beien Schleifen nicht synchronisiert und bekommst daher keine sinnvollen Antworten zurück.


Grüße
Hmm ok ich habe tatsächlich eine while-Schleife in den SubVis, aber ich dachte die SubVis seien genauso zu handhaben wie eine Funktion in einer Textbasierten Programmiersprache (ich glaub ich hab da irgendwo etwas falsch verstanden und eigentlich wärs ganz einfach ;-) )...

Die Stopp-Taste habe ich über eine globale Variable realisiert, aber die wird komischerweise auch nur abgefragt, wenn die beiden Subs grade fertig sind

Hier ist mal der stark vereinfachte Code dazu:
Lv82_img
Hallo Fysi,

Ich denke mal, das Problem hier ist die Verwendung der Globalen Variablen.
Was mir direkt aufgefallen ist: Die zweite While-Schleife ist über einen "Draht" mit der ersten Verbunden. Das heist aber, Schleife 2 wird erst ausgeführt, wenn Schleife 1 beendet wird. Wenn du eine zweite Abfrage der Globalen Variablen in Schleife 2 machst, währe das Problem schon mal gelöst.
Außerdem werden beide deine SubVIs ausgeführt wie sie sollen, jedoch werden die Ergebnisse erst angezeigt, wenn das Programm beendet wird. Was du dagegen unternehmen kannst, kann ich dir jetzt auch nicht sagen, da ich nicht so ganz verstanden habe, was du willst... Benutze einfach mal die Highlight Funktion, dann siehst du wie dein Datenfluss läuft. Ich denke das wird dir einiges erklären.

Viel Erfolg,

MFG,
Snoop
Vielen Dank! Ja das mit den verdrahteten while-Schleifen hat mir schon einiges weiter geholfen.
Und die Ergenbisse gebe ich jetzt einfach in einem extra thread über globalen Variablen aus. So funktioniert alles.
Referenz-URLs