INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Übergabe-Problem zweier While-Schleifen mit Queue



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!

10.10.2014, 16:27 (Dieser Beitrag wurde zuletzt bearbeitet: 10.10.2014 16:36 von jg.)
Beitrag #1

onsight8c Offline
Schwerionenschubser
*


Beiträge: 16
Registriert seit: Mar 2011

2012 12.0f3
2009
DE


Deutschland
Übergabe-Problem zweier While-Schleifen mit Queue
Hallo zusammen,

seit einigen Tagen ärgere ich mich mit einem Problem herum, das wahrscheinlich ganz einfach und elegant gelöst werden kann:

Ich habe zwei unabhängig voneinander kontinuierlich Werte generierende While-Schleifen, die jeweils über TCP/IP einen Sensor abfragen. Dies geschieht zyklisch mit 5ms. Dabei benötigt jeder Sensor (s)eine eigene While-Schleife für Initialisierung, Parametrierung etc. In einer Consumer-While-Schleife soll die Datenverarbeitung der gewonnenen Messdaten aus beiden Sensor-Schleifen stattfinden.

Das angehängte Programm soll das mal rudimentär darstellen: zwei Producer-Schleifen und eine Consumer-Schleife, in der mittels SET-Knopf die Daten aus der Queue gelesen und im eigentlichen Programm weiterverarbeitet werden sollen. Im Detail heißt das:

Bei Drücken des SET-Knopfes/-Tasters in der DV-Schleife soll jeweils genau 1 aktuelles Wertepaar aus den beiden Producer-Schleifen via Queue an die DV-Consumer-Schleife übergeben werden. Der gelatchte SET-true-Wert setzt also den Empfang des akutellen Wertepaares in Gang und dient gleichzeitig als Trigger für die Datenverarbeitung. Möglich wäre auch, dass SET das Schreiben eines Wertepaares aus Producer 1 & 2 auslöst, das Wertepaar über die Queue an die Consumer-Schleife gesendet wird und dann dort, wenn beide Wertepaare anliegen, die Verarbeitung startet. Alternativ wäre vllt auch eine eigene Kommando-Schleife mit Eventstruktur für eine alleinige Ausgabe der Steuerungsbefehle SET und STOP denkbar.

Zum Hintergrund:
In meinem auf einer State-Machine basierenden Datenverarbeitungs-Code wird zuerst das Wertepaar an ein Array angehängt - anschließend werden im nächsten State Berechnungen durchgeführt und im folgenden State graphisch dargestellt. Der SET-Knopf dient dabei als Trigger für diese Routine.

Das Problem:
Sowohl der DV-Code als auch der Code für die Sensoren existiert für sich schon und funktioniert auch wie gewünscht. Einzig die Datenübergabe klappt nicht. Daher habe ich versucht, dieses Problem mit dem angehängten LV-Programm abzubilden. Könnt ihr mir weiterhelfen, wo bei mir der Denkfehler liegt?

Es grüßt und dankt,
onsight8c


Angehängte Datei(en)
12.0 .vi  Queue Multiplexer v01.vi (Größe: 20,13 KB / Downloads: 202)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.10.2014, 16:42
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Übergabe-Problem zweier While-Schleifen mit Queue
Autsch, 1 Queue für eine Read-Write Kommunikation, und dabei auch noch in der einen Richtung von 1 Sender zu 2 Empfängern, das muss schief gehen!

Eine Queue ist prädestiniert für eine 1-zu-1 oder N-zu-1 Kommunikation, aber nur mit großen Klimmzügen für eine 1-zu-N Kommunikation.

Bei dir passiert folgendes: In der DataRetrival Loop hängst du 1 Element "Ready" an. Wer von den beiden Daten-Loops erwischt das jetzt? Zufall! Und wenn das Element weg ist, dann ist es für die 2. Loop nicht mehr sichtbar.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Zeiterfassung zweier Lichtschranken Dsans 12 4.771 26.10.2022 12:10
Letzter Beitrag: Dsans
  Vergleich zweier Zahlen LabViewPete 13 9.800 27.10.2020 12:52
Letzter Beitrag: THL
  Ansteuerung zweier Heizer mittels PID-Regler Christoph1993 2 2.789 25.11.2018 19:53
Letzter Beitrag: Christoph1993
  Kopplung zweier Ereignisse TTT 4 3.701 25.07.2018 15:49
Letzter Beitrag: TTT
  Wie auf abgearbeitete Queue warten mez15 11 6.768 28.09.2017 13:02
Letzter Beitrag: TR61
  Datum Uhrzeit Queue DeleteAll 8 4.663 24.03.2017 15:47
Letzter Beitrag: GerdW

Gehe zu: