Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
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.
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.)
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.)
' 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.
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 !!
--------------------------------------------------------------------------
' 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.
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 !!
--------------------------------------------------------------------------