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, donc je ne peux pas vous aider sur ce point. Il semble que vous utiliseriez l'interface graphique 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 de 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 - cela 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 allez écrire un script JSL à l'aide de sockets. Les versions récentes de JMP >=15 ont de très bons exemples de sockets dans l'index de script. Vous allez écrire du code similaire au code Java (?) dans l'exemple matlab.
Enregistrez votre JSL avant de l'exécuter ; il est facile de bloquer un socket en attendant des données que le serveur n'enverra jamais ! Vous pouvez configurer les sockets JSL pour utiliser 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 en JSL (je suggère l'inverse, créez le serveur en LabVIEW)
Ce n'est pas "juste aller au travail" 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 des fichiers. 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 avoir terminé.