Nous sommes à la recherche d'une connexion labview directe. Comme il apparaît sur MathLab qu'il s'agit d'un échange TCP/IP : https://de.mathworks.com/matlabcentral/fileexchange/42567-matlab-and-labview-data-exchange-over-tcp-ip
Est-il possible de créer quelque chose de similaire pour JMP ou existe-t-il déjà ?
Merci d'avance pour votre aide!
Markus
On dirait que ça devrait être possible. https://www.ni.com/en-us/support/documentation/supplemental/06/basic-tcp-ip-communication-in-labview.html est un point de départ pour LabView ; il dit "Les utilisateurs de LabVIEW peuvent développer des applications personnalisées pour la communication TCP/IP. Le programmeur est responsable du développement du client et du serveur ."
Je connais très peu LabVIEW, je ne peux donc pas vous aider à cet égard. Il semble que vous utiliseriez l'interface graphique de LabView pour créer un serveur auquel JMP pourrait se connecter pour échanger des données. Du côté de LabVIEW, ce serveur serait responsable de la collecte et de l'envoi des données depuis votre configuration LabVIEW, ainsi que de la réception et de la dispersion des données vers votre configuration LabVIEW.
Le serveur n'est pas évident (pour moi) dans le lien que vous avez fourni, mais il doit exister. Voir https://www.vut.cz/www_base/zav_prace_soubor_verejne.php?file_id=125490 page 21 - qui pourrait montrer un serveur. Il semble avoir un auditeur (avec une oreille) et un émetteur (flèche sortante) et un récepteur (flèche entrante).
Du côté de JMP, vous écrirez un script JSL à l'aide de sockets. Les versions récentes de JMP >=15 ont de très bons exemples de socket dans l'index de script. Vous allez écrire un code similaire au code Java(?) dans l'exemple matlab.
Enregistrez votre JSL avant de l'exécuter ; il est facile de faire en sorte qu'un socket se bloque en attendant des données que le serveur n'enverra jamais ! Vous pouvez configurer les sockets JSL pour qu'ils utilisent des E/S non bloquantes (NBIO) pour empêcher le blocage... vous devrez interroger le socket.
Il est également possible d'utiliser des connexions UDP, et la partie non fiable d'UDP peut être suffisamment fiable sur localhost. Cela pourrait grandement simplifier les deux extrémités.
L'exemple que vous avez trouvé donne l'impression qu'il doit toujours y avoir un échange bidirectionnel, mais je suis presque sûr que c'est exactement la façon dont l'exemple a été écrit.
Quelle heure est-il?exemple de socket UDP
Fil d'actualité exemple de création d'un serveur dans JSL (je suggère l'inverse, créez le serveur dans LabVIEW)
Ce n'est pas "juste aller travailler" la première fois. Prévoyez d'en apprendre un peu plus sur TCP et les sockets ; quand cela ne fonctionne pas, il n'y a pas beaucoup d'indications sur ce qui ne va pas.
Vous voudrez peut-être d'abord créer un prototype basé sur un fichier. En enregistrant un fichier sur disque dans LabVIEW et en le lisant dans JMP (ou l'inverse, ou les deux), vous avez un moyen de voir ce qui se passe. Si c'est assez rapide, vous pourriez être fait.