LabVIEWForum.de - Welches "Protokoll" wählt man zum Datenaustausch zwischen mehreren PCs...

LabVIEWForum.de

Normale Version: Welches "Protokoll" wählt man zum Datenaustausch zwischen mehreren PCs...
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Community,

Ich habe vor einigen Jahren ein funktionierendes Messprogramm geschrieben, welches als VI auf einem Rechner läuft und von dort diverse Messgeräte ansteuert. Nun wird der Messplatz umgebaut und ich muss einen Teil der Messgeräte in einen anderen Raum stellen.

Nun möchte ich zwei Rechner nutzen, die über das Firmenintranet (separates Messnetz) miteinander verbunden sind und alle Messgeräte steuern.

Mein Problem ist nun die Wahl des "vernünftigsten" Kommunikationsprotokolls. Ich sehe die verschiedenen Möglichkeiten über Shard Variables, DataSocket, TCP-Verbindungen etc. und bekomme auch die Beispiele zum Laufen. Ich habe aber leider kein Gefühl dafür, welches Protokoll für mich am vernünftigsten ist.

Meine Anforderungen:

Da ich nicht allein im Messnetz bin, wäre eine grundlegende Sicherheit wünschenswert. Meine Kollegen wollen mir nichts böses, aber versehentliches "Crosstalk" mit anderen LabView Nutzern wäre blöd.

Die nötige Geschwindigkeit ist ziemlich gering: Ich lese maximal 2 mal pro Sekunde Spannungen aus. Ein "Delay" von einigen hundert Millisekunden stören nicht.

Das ganze sollte einfach umzusetzen sein. Je weniger Zeit ich für die Neuprogrammierung benötige, um so besser. Da die Leseroutinen der Messgeräte bisher als SubVI laufen, wäre es schön, wenn ich diese mit minimalen Modifikationen auf dem Zweitrechner laufen lassen könnte.

Ach ja, ich nutze momentan LV 2012 SP1

Vielen Dank.
Hallo PTB-Mitarbeiter,

ich würde dir hier die SharedVariable empfehlen.
- Die Datenrate ist locker drin.
- "Crosstalk" ist über entsprechend benamte Variablen leicht zu vermeiden.
- Wenn ich mich recht entsinne, kann man den Zugriff auf die Variablen auf IPs etc. begrenzen, auch so kann man "Fremde" aussperren...
Aus dem Bauch heraus:
Mit Shared Variablen bist du am einfachsten und schnellsten am Ziel.
Einfach am "Messplatz-Rechner" den Ist-Wert der Spannung(en) in eine Shared-Variable schreiben. Das kannst du einfach in dein Mess-VI integrieren.

Am zweiten Rechner liest du diese Shared-Variable asynchron wieder aus (da es dir nicht auf genaue Zeit und Delays ankommt).
Bei entsprechender Programmierung kannst du auch das in deine bisherigen Mess-VIs auf einfache Weise integrieren.

Gruß, Jens

EDIT: 2 User, 1 Meinung Wink
An einem meiner Prüfstände mache ich es auch mit Shared Variables und der läuft schon seit Jahren (in inzwischen 7-facher Ausführung). So schlecht kann es also mit SV nicht sein. Big Grin
-> 3 User, 1 Meinung Big Grin

Gruß Markus

(06.01.2014 16:30 )jg schrieb: [ -> ]EDIT: 2 User, 1 Meinung Wink
Ich habe sowas (in etwas komplexer schätze ich) über TCP IP gelöst. Ist schon mit einigem Aufwand verbunden, Asynchrones Lesen und Schreiben zu gewährleisten wird eventuell aufwändig etc.

Der Vorteil ist natürlich das du deinen Datenfluss deutlich genauer Steuern kannst, keine Werte verlierst etc. pp.

Da es darauf aber bei dir nicht ankommt würde auch ich dir eher zu Shared Variables raten.

Gruß Kiesch
-> 4 User, 1 Meinung. Big Grin
Liebe Community,

danke für die Kommentare. Ich werde es dann mit Shared Variables probieren.

Ich habe nun einfach den ersten Beitrag als Lösung markiert. Die anderen Beiträge waren natürlich genauso wertvoll für eine kleine Stichprobenmenge!

PTBist.
-> 5 User, 1 Meinung. Big Grin

Gruß Markus
Referenz-URLs