LabVIEWForum.de
Synchronisation mehrerer Geräte - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Synchronisation mehrerer Geräte (/Thread-Synchronisation-mehrerer-Geraete)



Synchronisation mehrerer Geräte - BenW - 03.04.2016 10:06

Hallo liebes Labview-Forum,

ich möchte eine Prüfstandssteuerung in LV erstellen, in der mehrere Messgeräte angesteuert werden. Das eine Gerät ist per RS232 verbunden, das andere per Ethernet-Kabel (UDP). Mein Problem besteht darin, dass ich das Ethernet-Gerät etwa alle 5-10 ms ansprechen muss, während die RS232-Abtastsequenz bei 1 Hz liegt.

Um Antworten vom RS232-Gerät zu erhalten, brauche ich definitiv mehr als 5-10 ms, sodass ich beide Geräte in unterschiedlichen Schelifen ansprechen möchte, die synchron laufen soll.

Mein Vorschlag für die Lösug des Problems ist im Bild dargestellt. Allerdings vergeht auch Zeit, wenn das Rendezvous erstellt bzw. aufgelöst wird, sodass ich mich frage, ob es eine bessere Möglichkeit zur Synchronisation gibt. Die Programm soll später zeitgesteuert dauerhaft laufen (>100 Stunden). Daher stört mich die Zeit, in der die Schleifen nicht aktiv sind.

[attachment=55541]

Gibt es eine bessere Möglichkeit zur Synchronisation?

Vielen Dank für mögliche Hilfen und einen angenehmen Sonntag!
Ben


RE: Synchronisation mehrerer Geräte - IchSelbst - 03.04.2016 11:19

(03.04.2016 10:06 )BenW schrieb:  sodass ich beide Geräte in unterschiedlichen Schelifen ansprechen möchte
So sollte das sein, weil ja zwei getrennte und autarke Schnittstellen vorhanden sind.

Zitat:, die synchron laufen soll.
Was heißt in deinem Falle "synchron"?
Du meinst doch bestimmt, dass die "gleichzeitig gemessenen aufgetretenen Daten" der einzelnen Messgeräte später dann in deinem Programm auch "denselben Timestamp" haben sollen.

Ich würde das vorerst mal so vorschlagen:
Schicke die Daten, die von der schnelleren Schnittstelle erfasst werden (das ist ja wohl unbestreitbar die UDP-Schnittstelle) per Melder zu der langsameren Schnittstelle. Immer, wenn die langsamere Schnittstelle einen neunen Datensatz erfasst hat, addierst du die aktuell anliegenden Daten aus dem Melder dazu. Das Ergebnis ist ein Datensatz, dessen Samplezeitpunkt dem Zeitpunkt des Eintreffens der RS232-Daten entspricht. Dabei entsteht selbstverständlich besondern für die UDP-Daten eine Ungenauigkeit, auf die ich hier vorerst nicht eingehen will.