我们正在寻找直接的labview连接。 正如 MathLab 上显示的那样,它是一个 TCP/IP 交换: https://de.mathworks.com/matlabcentral/fileexchange/42567-matlab-and-labview-data-exchange-over-tcp-ip
是否可以为 JMP 创建类似的东西,或者它是否已经存在?
提前感谢您的帮助!
马库斯
看起来应该是可以的。 https://www.ni.com/en-us/support/documentation/supplemental/06/basic-tcp-ip-communication-in-labview.html是 LabView 的起点;它说“LabVIEW用户可以开发用于TCP/IP通信的自定义应用程序。 程序员负责开发客户端和服务器.”
我对LabVIEW知之甚少,所以我无法帮助你。 您似乎可以使用 LabView GUI 创建一个服务器,JMP 可以连接到该服务器来交换数据。 在 LabVIEW 端,该服务器将负责从您的 LabVIEW 设置收集和发送数据,以及接收和分发数据到您的 LabVIEW 设置。
服务器在您提供的链接中并不明显(对我而言),但它必须存在。 看https://www.vut.cz/www_base/zav_prace_soubor_verejne.php?file_id=125490第 21 页 - 可能显示服务器。 它似乎有一个听者(有耳朵)和一个发射器(出站箭头)和接收器(入站箭头)。
在 JMP 端,您将使用套接字编写 JSL 脚本。 最新版本的 JMP >=15 在脚本索引中有很好的套接字示例。 您将编写类似于 matlab 示例中的 Java(?) 代码的代码。
在运行之前保存您的 JSL;很容易让套接字挂起等待服务器永远不会发送的数据! 您可以将 JSL 套接字设置为使用非阻塞 I/O (NBIO) 来防止挂起……您需要轮询套接字。
也可以使用 UDP 连接,UDP 的不可靠部分在 localhost 上可能足够可靠。 这可以大大简化两端。
您找到的示例使它看起来必须始终存在双向交换,但我很确定这正是示例的编写方式。
现在是几奌?UDP 套接字示例
新闻提要在 JSL 中创建服务器的示例(我建议相反,在 LabVIEW 中创建服务器)
这不是第一次“只是去工作”。 计划学习一些关于 TCP 和套接字的知识;当它不起作用时,没有太多迹象表明出了什么问题。
您可能想先构建一个基于文件的原型。 通过在 LabVIEW 中将文件保存到磁盘并在 JMP(或其他方式,或两者)中读取它,您可以查看正在发生的事情。 如果它足够快,你就可以完成。