15.07.2008, 22:31
Beitrag #1
|
SchwarzerPeter
LVF-Neueinsteiger
Beiträge: 6
Registriert seit: Jul 2008
8.5
2002
de
79843
Deutschland
|
Datenaustausch zwischen 2 PCs
Hallo zusammen,
Ich habe das Problem, dass ich viele Daten (Zahlenarrays) in möglichst kurzer Zeit, von einem LabVIEW-PC, auf einen 2. LabVIEW-PC bekommen muss. Verbindung über Ethernet Cross-over-Kabel ist vorhanden und funktioniert auch.
Ich wollte das eigentlich über TCP-Protokoll machen, bekomme da aber nur Text-Nachrichten übertragen, und möchte das Zahlen-Text-Umformen vermeiden.
Wie würde das denn noch gehen??
Bin für alle Vorschläge dankbar.
Grüsse Peter
|
|
|
15.07.2008, 22:46
Beitrag #2
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
Datenaustausch zwischen 2 PCs
Ja TCP/IP ist gute Wahl. Die Daten kannst du mit Flatten/Unflatten oder mit Type Cast aus der Numeric->Manipulation Palette umwandeln.
|
|
|
16.07.2008, 07:08
(Dieser Beitrag wurde zuletzt bearbeitet: 16.07.2008 07:10 von Y-P.)
Beitrag #3
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Datenaustausch zwischen 2 PCs
Ich würde Shared Variables nehmen. Da steckt auch TCP/IP dahinter, nur ist das wesentlich einfacher.
Variable erstellen, reinschreiben auf dem einen Rechner, auslesen auf dem anderen Rechner.......... fertig.
Gruß Markus
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
16.07.2008, 19:43
(Dieser Beitrag wurde zuletzt bearbeitet: 16.07.2008 22:01 von jg.)
Beitrag #4
|
SchwarzerPeter
LVF-Neueinsteiger
Beiträge: 6
Registriert seit: Jul 2008
8.5
2002
de
79843
Deutschland
|
Datenaustausch zwischen 2 PCs
Zitat:Ich würde Shared Variables nehmen. Da steckt auch TCP/IP dahinter, nur ist das wesentlich einfacher.
Variable erstellen, reinschreiben auf dem einen Rechner, auslesen auf dem anderen Rechner.......... fertig.
Gruß Markus
Danke für den Tipp, hab zwar schon von den Dingern gehört, aber noch nie damit gearbeitet, werd ich mir mal näher anschauen.
Grüsse Peter
|
|
|
16.07.2008, 19:46
(Dieser Beitrag wurde zuletzt bearbeitet: 16.07.2008 22:02 von jg.)
Beitrag #5
|
SchwarzerPeter
LVF-Neueinsteiger
Beiträge: 6
Registriert seit: Jul 2008
8.5
2002
de
79843
Deutschland
|
Datenaustausch zwischen 2 PCs
Zitat:Ja TCP/IP ist gute Wahl. Die Daten kannst du mit Flatten/Unflatten oder mit Type Cast aus der Numeric->Manipulation Palette umwandeln.
Danke für den Tipp, aber genau diese Umwandelei möchte ich vermeiden, werd's mal mit den "shared variablen" versuchen.
Grüsse Peter
|
|
|
20.07.2008, 18:53
Beitrag #6
|
SchwarzerPeter
LVF-Neueinsteiger
Beiträge: 6
Registriert seit: Jul 2008
8.5
2002
de
79843
Deutschland
|
Datenaustausch zwischen 2 PCs
' schrieb:Ich würde Shared Variables nehmen. Da steckt auch TCP/IP dahinter, nur ist das wesentlich einfacher.
Variable erstellen, reinschreiben auf dem einen Rechner, auslesen auf dem anderen Rechner.......... fertig.
Gruß Markus
Hallo,
hab das Ganze jetzt mit Shared Variablen getestet, ist wirklich einfach, eigentlich ist das nur ein parametrieren, und kein programmieren! - Wenn das Netzwerk, die Firewalls und die Variablen entsprechend eingerichtet sind gibts eigentlich gar nichts mehr zu programmieren, die Variablen werden auf dem einen Rechner ganz normal beschrieben, so wie lokale Variablen, und auf dem anderen Rechner ganz normal ausgelesen.
Nur für ausfürbare .exe -Dateien muss man das "Variablen verteilen" extra programmieren.
Nochmals Danke für den Tipp - Grüsse Peter
|
|
|
20.07.2008, 19:12
Beitrag #7
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
Datenaustausch zwischen 2 PCs
Wie sieht es mit Race Conditions aus? Ich bin gegen Variablen in LabVIEW, egal ob Local, Global oder Shared. Es ist alles grosse Sch...
Alle Variablen sind LabVIEW fremd, die sind nur für Anfänger und Umsteiger von NI implementiert.
Aber klar, wenn es dir gefällt, kein Problem.
|
|
|
21.07.2008, 06:45
(Dieser Beitrag wurde zuletzt bearbeitet: 21.07.2008 06:46 von Y-P.)
Beitrag #8
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Datenaustausch zwischen 2 PCs
Ich hab' damit einen Prüfstand programmiert und bis jetzt klappt es problemlos (Race Conditions kann man vermeiden, wenn man weiß wie). Der Aufwand mit der ganzen TCP/IP-Sch.... ist viel zu riesig. Mit SV kann ich Strings, Arrays, Numerics,..... innerhalb kürzester Zeit übertragen. Und da ich viele Geräteparameter habe (für viele unterschiedliche Geräte) würde ich nie glücklich. Und dass Variablen nur für Anfänger und Umsteiger sind halte ich für ein Gerücht. Das ist meiner Meinung nach eher für die fortschrittlichen LabVIEW-Programmier und nicht für alteingesessene Programmierer, die nicht offen für was Neues sind.
Gruß Markus
' schrieb:Wie sieht es mit Race Conditions aus? Ich bin gegen Variablen in LabVIEW, egal ob Local, Global oder Shared. Es ist alles grosse Sch...
Alle Variablen sind LabVIEW fremd, die sind nur für Anfänger und Umsteiger von NI implementiert.
Aber klar, wenn es dir gefällt, kein Problem.
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
21.07.2008, 15:41
Beitrag #9
|
eg
LVF-SeniorMod
Beiträge: 3.868
Registriert seit: Nov 2005
2016
2003
kA
66111
Deutschland
|
Datenaustausch zwischen 2 PCs
' schrieb:Ich hab' damit einen Prüfstand programmiert und bis jetzt klappt es problemlos (Race Conditions kann man vermeiden, wenn man weiß wie). Der Aufwand mit der ganzen TCP/IP-Sch.... ist viel zu riesig. Mit SV kann ich Strings, Arrays, Numerics,..... innerhalb kürzester Zeit übertragen. Und da ich viele Geräteparameter habe (für viele unterschiedliche Geräte) würde ich nie glücklich. Und dass Variablen nur für Anfänger und Umsteiger sind halte ich für ein Gerücht. Das ist meiner Meinung nach eher für die fortschrittlichen LabVIEW-Programmier und nicht für alteingesessene Programmierer, die nicht offen für was Neues sind.
Gruß Markus
Um die Race Conditions zu vermeiden muss man irgenwelche boolschen Flags benutzen, was die Blockdiagramme und den Programmieraufwand vergössert, bei den Syncronisationstools (Queue, Notifier...) sowie bei Schnittstellenkommunikation (Serial, TCP/IP, CAN ...) ist es schon integriert. Programme ohne Variablen funktionieren eventbasierend, nehmen keine CPU, machen nur das was man programmiert hat und nicht mehr. Solche Progamme haben kein Polling, sind einfacher zu verstehen und sind logischer aufgebaut.
Und so lange programmiere ich in LabVIEW gar nicht (erst 3-4 Jahre), bin also kein alter Fuchs. Auch bin ich für was neues offen, z.B. LVOOP.
Gruß, eg
|
|
|
21.07.2008, 16:20
(Dieser Beitrag wurde zuletzt bearbeitet: 21.07.2008 16:20 von Y-P.)
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
Datenaustausch zwischen 2 PCs
.... und da wären wir beim Problem.
Ich finde TCP/IP nicht einfach und nicht logisch, um mit 2 Rechnern zu kommunizieren (vielleicht auch nur, weil ich es noch nicht gemacht habe).
Shared Variables sind m.E. selbsterklärend und für eine schnelle Kommunikation unterschiedlicher VIs auf unterschiedlichen Rechnern die einfachste Lösung.
Aber ich denke, dass da jeder so seine Vorlieben hat und es gibt bei beiden Dingen Vor- und Nachteile.
Und mit mit Queues, Notifiern, .... musste ich mich bis jetzt zum Glück auch nicht tiefgründiger rumärgern. Klar, die Grundlagen weiß ich schon, aber ich müsste auch wieder nachschauen, wenn ich etwas komplexeres damit machen möchte.
Gruß Markus
' schrieb:sind einfacher zu verstehen und sind logischer aufgebaut.
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
| |