Wir sind auf der Suche nach einer direkten Labview-Anbindung. Wie es auf MathLab aussieht, handelt es sich um einen TCP/IP-Austausch: https://de.mathworks.com/matlabcentral/fileexchange/42567-matlab-and-labview-data-exchange-over-tcp-ip
Ist es möglich, etwas Ähnliches für JMP zu erstellen, oder existiert es bereits?
Vielen Dank für Hilfe im Voraus!
Markus
Sieht so aus, als ob es möglich sein sollte. https://www.ni.com/en-us/support/documentation/supplemental/06/basic-tcp-ip-communication-in-labview.html ist ein Ausgangspunkt für LabView; Darin heißt es: „LabVIEW-Benutzer können benutzerdefinierte Anwendungen für die TCP/IP-Kommunikation entwickeln.“ Der Programmierer ist für die Entwicklung sowohl des Clients als auch des Servers verantwortlich ."
Ich weiß sehr wenig über LabVIEW und kann Ihnen daher nicht weiterhelfen. Anscheinend würden Sie die LabView-GUI verwenden, um einen Server zu erstellen, mit dem JMP eine Verbindung zum Datenaustausch herstellen könnte. Auf der LabVIEW-Seite wäre dieser Server für das Sammeln und Senden von Daten aus Ihrem LabVIEW-Setup sowie für den Empfang und die Verteilung von Daten an Ihr LabVIEW-Setup verantwortlich.
Der Server ist (für mich) in dem von Ihnen angegebenen Link nicht ersichtlich, aber er muss existieren. Sehen https://www.vut.cz/www_base/zav_prace_soubor_verejne.php?file_id=125490 Seite 21 – dort wird möglicherweise ein Server angezeigt. Es scheint einen Zuhörer (mit einem Ohr) sowie einen Sender (ausgehender Pfeil) und einen Empfänger (eingehender Pfeil) zu haben.
Auf der JMP-Seite schreiben Sie ein JSL-Skript mithilfe von Sockets. Neuere Versionen von JMP >=15 enthalten ziemlich gute Socket-Beispiele im Skriptindex. Sie schreiben Code, der dem Java(?)-Code im Matlab-Beispiel ähnelt.
Speichern Sie Ihre JSL, bevor Sie sie ausführen. Es ist leicht, einen Socket dazu zu bringen, auf Daten zu warten, die der Server niemals senden wird! Sie können die JSL-Sockets so einstellen, dass sie nicht blockierende E/A (NBIO) verwenden, um das Hängenbleiben zu verhindern. Sie müssen den Socket abfragen.
Es ist auch möglich, UDP-Verbindungen zu verwenden, und der unzuverlässige Teil von UDP ist möglicherweise auf localhost zuverlässig genug. Das könnte beide Enden erheblich vereinfachen.
Das Beispiel, das Sie gefunden haben, lässt den Eindruck entstehen, dass es immer einen bidirektionalen Austausch geben muss, aber ich bin mir ziemlich sicher, dass das Beispiel genau so geschrieben wurde.
Wie spät ist es?Beispiel für einen UDP-Socket
Neuigkeiten Beispiel für die Erstellung eines Servers in JSL (ich schlage umgekehrt vor, den Server in LabVIEW zu erstellen)
Das funktioniert nicht gleich beim ersten Mal. Planen Sie ein, etwas über TCP und Sockets zu lernen. Wenn es nicht funktioniert, gibt es nicht viele Hinweise darauf, was falsch ist.
Möglicherweise möchten Sie zunächst einen dateibasierten Prototyp erstellen. Indem Sie eine Datei in LabVIEW auf der Festplatte speichern und sie in JMP lesen (oder umgekehrt oder beides), können Sie sehen, was passiert. Wenn es schnell genug ist, könnten Sie fertig sein.