LabVIEWForum.de - Datenkommunikation zwischen mehreren Vi´s

LabVIEWForum.de

Normale Version: Datenkommunikation zwischen mehreren Vi´s
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

wie ist es möglich, Daten von einem Vi in ein anderes zu schieben ohne eine direkte Verbindung.
praktische Anwendung: verschiedene Vi´s produzieren Datenpunkte für ein xyGraph welcher in dem Ziel-Vi platziert ist.

Ich dachte dies mit Queues zu lösen, aber ist dies das richtige?
Wie kann ich mit Queues zwischen "nicht direkt verbundenen" Vi´s kommunizieren?

Das Ziel Vi, also der xyGraph soll erkennen wann ein neuer Wert angekommen ist u. diesen dann darstellen.
Evtl. mit einer Event Structur?
In dem Ziel Vi verwende ich ein Shift Register um die bisherigen Daten zu speichern, neue Daten hänge ich dementsprechend an.

Hoffentlich weiss jemand wie so etwas gelöst werden kann.
Hey,
Ich gebe nur mal Stichworte..."Referenzen und userevents"
Hallo echtzeit,

ok, was mir dann nicht klar ist wie kann ich ein User event mittels Referenz übergeben?
Konnte auch keine UserEvent über Referenz ...Beispiel finden.
' schrieb:wie ist es möglich, Daten von einem Vi in ein anderes zu schieben ohne eine direkte Verbindung.
Eben mit Queues.

Zitat:Ich dachte dies mit Queues zu lösen, aber ist dies das richtige?
In deinem Falle ausreichend, wenn nicht sogar ideal.

Zitat:Wie kann ich mit Queues zwischen "nicht direkt verbundenen" Vi´s kommunizieren?
Guckst du Beschreibung der Queues in der LV-Hilfe ?

Queues sind dafür da, zwischen genau solchen VIs Daten auszutauschen. Eine Queue ist ein "virtueller Zwischenspeicher im Sinne eines FIFOs". Der eine schreibt rein, ein anderer ließt aus. Eine explizite Verbindung muss zwischen beiden nicht bestehen. Beide greifen über den selben Namen, nämlich den Namen der Queue, auf die Queue zu.

Der Lesende kann feststellen, ob sich in der Queue was befindet. Ist was drinnen => auslesen und abarbeiten.
Hallo IchSelbst,

danke, dass mit den Queues funktioniert. Ich kann Daten in einem Vi schreiben, und im anderen auslesen in dem ich die Queue polle.
Wie kann ich nun noch vervollständigen in dem ich über ein Event Werkzeug erkenne ob sich in der Queue etwas getan hat, somit muss ich nicht
mehr pollen...
' schrieb:Wie kann ich nun noch vervollständigen in dem ich über ein Event Werkzeug erkenne ob sich in der Queue etwas getan hat, somit muss ich nicht mehr pollen...
Du musst gar nichts machen.

Am Element "Queue lesen" gibt es einen Eingang Timeout, der das Lesen abbricht, wenn sich nichts im Queue-Puffer befindet. Diesen Eingang setzt du auf -1 (oder entsprechend). Dann wartet das Lese-Element solange, bis sich was im Puffer befindet. Ist was im Puffer liefert der Errorausgang des Lese-Elementes "Kein Fehler".

Hinweis:
Das an sich unendlich dauerne Warten bei -1 wird dann beendet, wenn die Queue geclosed wird. Dann liefert der Errorausgang des Lese-Elemetes einen entsprechenden Fehler.
Referenz-URLs