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 

Dieses Thema hat akzeptierte Lösungen:

Nachrichten Handler Problem



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!

19.05.2014, 10:50 (Dieser Beitrag wurde zuletzt bearbeitet: 19.05.2014 11:05 von Maikn..)
Beitrag #1

Maikn. Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Oct 2013

2012
2012
DE

23966
Deutschland
Nachrichten Handler Problem
Moin,

ich bastel gerade an einen Nachrichten Handler zur Datenerfassung.
Dabei treten einige Probleme auf die ich alleine nicht gelöst bekomme.

1. Die Datenerfassung läuft in einem SubVI ab und sendet die erfassten Daten zurück ans HauptVI. Der Aufruf dieses SubVIs läuft über eine Nachricht Queue welche von einer Ereignisstruktur erstellt wird.
Dabei tritt dann das Problem auf, dass die Erfassungschleife genau einmal durchläuft. Diese soll aber kontinuierlich erfassen und die Daten dann ans HauptVI zurück schicken. Ich habe die Vermutung das die Whileschleife auf ein neues Ereigniss aus der nachrichten Queue wartet was natürlich nicht kommt. Sobald ich wieder den Start Button drücke erfolgt ein weiter Schleifen durchlauf, was ja nicht der Sinn der kontinuierlichen Erfassung ist.

Wie kann ich diese Whileschleife in "Daten Erfassen" dauerhaft laufen lassen und trotzdem mit einem Nachrichten Handler steuern ?


2. Leider beendet diese ganze Struktur nicht wie gewünscht. Nach vielen Versuchen bin am Ende meiner "begrenzten Weisheit" Cry

Ich hoffe jemand sieht die grundsätzlichen Fehler die offensichtlich im Aufbau dieser Struktur stecken und kann mir helfen.


Ps: Ich habe dieses Programm in Anlehnung an das Labview Beispeil "Nachrichten Handler" entwicklet. Allerdings finde ich das dortige Beispiel unheimlich kompliziert ( gefühlte 1000 SubVIs)


Angehängte Datei(en)
8.6 .vi  Daten Erfassen 1.2.vi (Größe: 64,04 KB / Downloads: 167)

8.6 .vi  Main VI.vi (Größe: 25,93 KB / Downloads: 150)

8.6 .vi  Erfassen Aufruf.vi (Größe: 6,28 KB / Downloads: 159)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.05.2014, 22:14
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Nachrichten Handler Problem

Akzeptierte Lösung

Prinzipiell hast du deinen Fehler schon richtig erkannt, jetzt musst du ihn nur "sauber" beheben.

Du hast bei allen Dequeue-VIs den Timeout auf dem Standardwert -1 (also unendlich auf das nächste Queue-Event warten) gelassen, somit warten diese bis zum Sankt-Nimmerleins-Tag auf das nächste Queue-Element, welches aber nicht kommt.

Mögliche Lösungen:
1) Timeout von z.B. 100 ms anschließen & Timeout Ausgang des Dequeue entsprechend auswerten.
2) Queue immer wieder "selber" aufrufen, indem man im Messfall immer wieder das Kommando "Messen" in die Queue schiebt.
3) ...

Dann zum Beenden: THINK Dataflow:
Schleife 2 (von oben nach unten gesehen) wird nie beendet, denn:
Du schickst zwar das Kommando "Beenden" an diese Schleife und gibst nur in diesem Fall ein True weiter, ABER gibst das per Schieberegister an den nächsten Schleifendurchlauf. Schleife startet also von vorne, startet das Dequeue, was jetzt auf das nächste Element wartet. Das kommt aber NIE.

Ähnlich ist es bei der 3. Schleife, da du 3 Queues parallel hast, die alle auf ein Element warten. Die Schleife geht erst dann weiter, wenn bei allen Queues 1x ein Element anlag. Ist aber nicht...

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
  CAN-Nachrichten ändern ta1997 5 3.473 05.05.2022 13:38
Letzter Beitrag: GerdW
  CAN Nachrichten in Array verarbeiten und aus Case Struktur weiterverarbeiten Tomate27 4 4.545 17.07.2020 13:30
Letzter Beitrag: Tomate27
  Mehrere Registerkarte in Queue Message Handler entwerfen. galilio 11 7.934 21.07.2016 12:49
Letzter Beitrag: Freddy
  Queued Message Handler Design galilio 3 6.223 14.07.2016 15:34
Letzter Beitrag: Freddy
  Nachrichten-Queues, Exit wird nicht an andere Schleifen weitergereicht dali4u 4 6.167 28.10.2014 11:48
Letzter Beitrag: jg
  mehrere Nachrichten über Schalter verschicken Prama 1 3.461 25.03.2013 11:14
Letzter Beitrag: GerdW

Gehe zu: