LabVIEWForum.de - Schnellste Kommunikation zwischen CRio und PC zur Synchronisation

LabVIEWForum.de

Normale Version: Schnellste Kommunikation zwischen CRio und PC zur Synchronisation
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
In meinem Aufbau führen sowohl der PC als auch die Compact Rio eine zeitaufgelöste Messungen durch.

Nun will ich die Zeitstempel miteinander in Verbindung setzen oder gleich synchronisieren. Daher frag ich mich, welche schnellste Kommunikation zwischen beiden ist.

Die Datenübertragung nach der Messung läuft derzeit über Ethernet und globale Variablen. Mit globalen Variablen schaffe ich eine Art Ping-Pong innerhalb von 100ms. Meißt liegt diese Zeit zwischen 50 und 100 ms. Ich nehme aber an, dass andere Methoden über Ethernet wesentlich schnellere Ansprechzeiten haben.

Welche Kommunaktionswege sind die schnellsten und welches könnt ihr für die Synchronisation empfehlen. Es wäre großartig, wenn ich garantieren könnte, dass ich die Zeitstempel mit einer genauigkeit von 10ms zuordnen könnte.
Hallo Mark,

herzlich willkommen im Forum!

Zitat:Nun will ich die Zeitstempel miteinander in Verbindung setzen oder gleich synchronisieren. Daher frag ich mich, welche schnellste Kommunikation zwischen beiden ist.
Wenn du zwei Messungen synchronisieren willst, könntest du auch ein Messsignal auf beiden Systemen messen und damit deine Messungen zur Übereinstimmung bringen…

Zitat:Die Datenübertragung nach der Messung läuft derzeit über Ethernet und globale Variablen. Mit globalen Variablen schaffe ich eine Art Ping-Pong innerhalb von 100ms.
Über LAN kann es zu Latenzen kommen - und das auch noch sporadisch. Damit musst du rechnen!
Ich verwende gern UDP-Botschaften, wobei das cRIO als "Server" die Daten von sich aus herausposaunt und der PC als "Client" die Daten einfach einliest. Funktioniert recht gut…

LabVIEW bietet aber auch TCP, NetworkStreams, SharedVariables (die du wahrscheinlich nutzt) - hast du das alles mal ausprobiert und verglichen?
Danke!

(08.11.2016 13:24 )GerdW schrieb: [ -> ]LabVIEW bietet aber auch TCP, NetworkStreams, SharedVariables (die du wahrscheinlich nutzt) - hast du das alles mal ausprobiert und verglichen?

Das hab ich noch nicht. Genau das wollte ich mir ersparen. Ich kann leider nicht so viel Zeit auf die Optimierung solcher Kleinigkeiten geben. Daher habe ich auf die Erfahrungen hier appeliert.

Aber die Idee mit UDP Botschaften klingt auch interessant. Ist das in den Standard Bibliotheken dabei? Hast du da vielleicht ein Beispiel Projekt?

Die Idee mittels eines externen Trigger signals zu arbeiten kam mir auch schon. Aber ist auch recht umständlich zu implementieren, da der PC gerade keinen AD Wandler benutzt. Selbst eine Serielle RS 232 Schnittstelle ist zur Zeit nicht ausgeführt. Was über USB ohne großen Aufwand möglich ist, weiß ich nicht. Aber deswegen ja diese Diskussion.
Hallo Mark,

Zitat:Genau das wollte ich mir ersparen. Ich kann leider nicht so viel Zeit auf die Optimierung solcher Kleinigkeiten geben.
Was du hier unter "Kleinigkeit" verbuchst, sehe ich als einen Punkt, der schon im Lastenheft für deine Anwendung drin stehen sollte!
An anhand einer solchen Anforderung sucht man dann die am besten passende Lösung aus - und nicht andersherum…

Zitat:Hast du da vielleicht ein Beispiel Projekt?
LabVIEW bringt für so ziemlich alles Beispiel-VIs mit. Es gibt welche für UDP-Kommunikation und welche für Network-Streams!
Ich hoffe des Weiteren auf weitere Post mit Erfahrungswerten.

Bei Gelegenheit werde ich wohl UDP mal probieren und die Antwortzeit vergleichen und dann auch hier posten.
Also mit Hilfe von UDP bekomme ich einen Ping Pong Antwort innerhalb von 3-5 ms.
Damit kann man schonmal arbeiten.
Referenz-URLs