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 

VISA Kommunikation mit queues



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!

12.03.2011, 10:48
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: VISA Kommunikation mit queues
(11.03.2011 10:31 )onsight8c schrieb:  - Producer-Loop liest mir die Daten aus der VISA aus
- Packt diese auf ne Queue
- Consumer Loop arbeitet mit verschiedenen States:
Prozesse, also Module, durch Queues zu entkoppeln, ist immer ein richtiger Weg.
In deinem Falle würde ich in den (ersten) Producer-Prozess bereits folgendes einbinden: Hier kann man möglicherweise eine Vorfilterung der Daten machen, insofern, dass ein Queue-Element ein sinnvoll zu bearbeitendes Datenpaket darstellt. Ein Zwischenschritt (also ein Zwischenmodul), das den VISA-Stream in sinnvoll zu bearbeitende Datenpakete umwandelt, würde ich im ersten Ansatz nicht vorsehen.
Zwischen den Zeilen kannst du lesen, dass es ohne weiteres sinnvoll sein kann, wenn sich ein Verarbeitungsweg über mehrere Queues erstreckt.

Zitat:Kann ich dann dort trotzdem noch Event-Cases einbauen, bpsw. wenn ein Schalter betätigt wird, um ein Ventil zu fahren? Und dass nach Abschluss der Interaktion wieder nur die Daten ausgelesen werden?
Gehen tut alles (nur die Frösch' hüpfen).
Man kann einen Ablauf (siehe deine Beschreibung) als Case-Struktur (also Schrittkette) in einer While-Schleife programmieren. Jeder einzelne Schritt sollte dann nur ganz kurz dauern. Nach der Case-Struktur (in der While-Schleife) kann man die Event-Struktur sequenziert einbauen und mit einem Timeout von (z.B. 5ms) laufen lassen. Wenn ein Event eintritt, kann man den synchron in die Case-Sequenz einführen.
Nichtsdestoweniger kann man natürlich auch eine eigenständige Event-Struktur nehmen und per Lokaler Variablen oder auch per Queue Daten an die Case-Struktur senden.

Zitat:Oder muss ich den Weg gehen, dass ich über ne Case-Struktur in der Producer-Loop anwähle ob Daten gelesen oder Befehle gesendet werden?
Das hängt von der Applikation und dem Aufbau des Programmes ab.

Ich mach's immer so (und das ist unabhängig von der Schnittstelle, also ob VISA oder DaqMX etc):
Es gibt ein Modul, das die komplette Schnittstelle bedient. Dieses Modul läuft kontinuierlich, ist also nicht in einen expliziten Datenfluss eingebunden. Gesteuert wird dieses Modul über eine Queue. Daten nach außen geben kann dieses Modul über Queues, Melder oder auch FGVs.
Über die Steuer-Queue kann man dem Modul mitteilen, was es jetzt machen soll: VISA initialisieren, Daten lesen, Daten schreiben, et. etc. Beachte, dass das Modul selbstsicher ist, und genau weis, was es gerade tut und was es daher gerade nicht tun kann: Liegt gerade ein laufender Lese-Zyklus an, muss ein Daten-Schreiben natürlich noch warten - das heißt aber nicht, dass der Befehl hierfür nicht angenommen wird.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: VISA Kommunikation mit queues - IchSelbst - 12.03.2011 10:48

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  LabVIEW Queues Schrankwand 3 3.680 14.12.2023 13:41
Letzter Beitrag: Schrankwand
  Bool Werte über Queues maxil 52 21.794 12.07.2019 14:00
Letzter Beitrag: GerdW
  CANopen VISA kommunikation MarkusS 5 4.216 21.06.2019 14:17
Letzter Beitrag: GerdW
  Queues? flizzer82 14 29.464 23.05.2017 19:58
Letzter Beitrag: jg
  Queues VI übergreifend verwenden mdu 12 15.923 14.03.2015 15:34
Letzter Beitrag: Lucki
  Queues mit FGVs in Polymorphen VI Andre_A 7 6.717 17.05.2014 07:39
Letzter Beitrag: cb

Gehe zu: