LabVIEWForum.de
2 Schleifen Parallel laufen lassen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: 2 Schleifen Parallel laufen lassen (/Thread-2-Schleifen-Parallel-laufen-lassen)



2 Schleifen Parallel laufen lassen - ManuelH - 13.05.2009 13:26

Hallo ihr,

hab da ein problem mit meinem VI
[attachment=18420].
In der unteren Whileschleife liest mein Subvi Recieve wav, kontinuirlich eine wav-datei. Jetzt soll parallel dazu noch oben ein for-schleife laufen die zu bestimmten Zeitpunkten die werte aus meinem Subvi ausliest und in ein Array schreibt, das array weiterverarbeitet und das ganze 30 mal. Mein problem momentan ist, das die obere Whileschleife überhaupt nicht ausgeführt wird, mein programm springt in die unter whileschleife und bleibt dort drin aber meine obere schleife die die werte sammeln soll wird nie gestartet.
Hab ich irgend einen groben Fehler gemacht das es garnicht funktioniern kann oder warum funktioniert das nicht?

Wär toll wenn mir wer helfen könnte,
Beste grüße

Manuel


2 Schleifen Parallel laufen lassen - TSC - 13.05.2009 13:38

schleifen beginnen erst mit der ausführung, wenn alle anliegenden eingänge bereit sind. bei dir verlangt die obere schleife einen wert aus der unteren.dieser wert wird erst dann übermittelt, wenn die untere schleife zuende ist. die bedingung für das beenden wird allerdings in de roberen gesetzt.

das ist dann dumm gelaufen.

Sprich: grober Fehler, es kann nicht funktionieren.

Zur abhilfe könntest du lokale variablen verwenden. anstatt die daten mit direkter verdrahtung auszutauschen.

TIPP: deine schleifen beenden funktion solltest du dir in bezug auf RACECONDITIONS mal genauer ansehen. es ist möglich, dass zuerst die lokale variable in der oberen schleife ausgelesen wird, dann wird sie neu gesetzt. Da ist was faul.

LG
Torsten


2 Schleifen Parallel laufen lassen - BNT - 13.05.2009 13:47

Hi Manuel

Ohne Dir zu nahe treten zu wollen. Ich glaube Du hast noch ein fundamentales Problem mit den Datenfluß-Paradigma von LabVIEW. Schau Dir doch einmal folgende Seiten der LVUG zum Thema Konzepte und fortgeschrittene Programmiertechniken an. Das wird Dir sicher reichlich Ideen geben, wie man mir vielen parallele Prozessen umgegen kann.

Insbesondere empfehle ich Dir die Kapitel Lokale und Globale Variablen und Ereignisse & Multi-Threading.

Gruß Holger


2 Schleifen Parallel laufen lassen - ImExPorty - 13.05.2009 19:44

Hallo ManuelH,
ich habe mal versucht das VI auf die wichtigen Funktionalitäten zu reduzieren...linke Seite ... schaue Dir da mal den Datenfluss genau an
als eine mögliche Alternative wäre die rechte Seite zu nennen:
[attachment=18431]

Lv85_img[attachment=18430]
zusätzlich zu der hier gezeigten Abfrage könnte dann noch die Anzahl kontrolliert werden...
viel Erfolg bei der Umsetzung