LabVIEWForum.de - Daten zwischen zwei while-Schleifen austauschen

LabVIEWForum.de

Normale Version: Daten zwischen zwei while-Schleifen austauschen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe in einem VI zwei while-Schleifen unabhängig voneinander parallel am laufen. Wie kann ich am besten von einer dieser Schleifen einen Wert (boolean) an die andere senden? Mit einem Notifier oder gibt es da irgendetwas besseres? Eine normale Verbindung funktioniert nicht.

Vielen Dank schonmal für die Hilfe!

Gruß
freezer
Notifier ist schon mal gut. Variable (oder Property->Value) sind einfacher, haben aber bestimmte Nachteile (Race Conditions). Es gibt noch Queue, User Events, TCP (lokal) und noch ne Möglichkeit es mit Schieberegister und Timeout in einer Schleife zu machen.

Alles hat seine Vor- und Nachteile, da musst du dich damit auseinandersetzen und erkennen, was dir am besten passt.
Hallo,

danke für die schnelle Antwort. Da ich noch nicht so erfahren in LabVIEW bin, entschuldige bitte meine dummen Fragen:
- Wie erstelle ich denn eine Variable? Ich habe bis jetzt nur lokale Variablen gefunden und die sind immer an irgendein FP-Element gebunden. Wo finde ich Variablen, in welche ich beliebige Werte schreiben kann?
- Was meinst du mit "Property->Value"?

Die Race Conditions bekomme ich denke ich mal in den Griff.

Gruß
freezer
Um beliebige Daten übertragen zu können musst du einen variablen Datentyp wählen (normalerweise):
String
Byte Array
Variant

Dabei musst du noch bei der Übertragung angeben um welchen Datentyp es sich handelt, damit der "Empfanger" diese daten entschlüsseln kann. Dazu sind Type Cast, Data To Variant oder Flatten To String oder ähnliches zu empfehlen.

Um sowas mit Variablen zu machen, kannst du z.B. einen zusätzlichen String-Control erstellen und dorthin das eingeflattene in der einen Schleife reinscheiben und in der anderen entpacken. Aber ich persöhnlich empfehle Queues, Notifiers oder User Events dazu.
Achso, danke. Dann habe ich dich wohl beim ersten mal falsch verstanden. Ich dachte, dass es ein Element "Variable" gibt, wie z.B. in Programmiersprachen "int a;" in welches ich einfach daten schreibe und die woanders abrufen kann. Ich denke, dass ich das mit einem Notifier machen werde.
' schrieb:Die Race Conditions bekomme ich denke ich mal in den Griff.

Um Race Condisions in den Griff zu kriegen brauchst du noch ne Semaphore dazu. Einfacher ist es wirklich direkt mit der Synchronisationspalette zu arbeiten.
Puh, du, danke! Ich habe es mit nem Notifier wunderbar lösen können. Wenn ich nicht mehr so unter Zeitdruck stehe, werde ich mir das mal in Ruhe anschauen! Danke für die Hilfe!
Habe gerade etwas passendes zum Thema veröffentlicht:
http://www.LabVIEWforum.de/Tasking-Library-t11433.html
Referenz-URLs