我们正在寻找直接的 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 的不可靠部分在本地主机上可能足够可靠。 这可以大大简化两端。
您找到的示例看起来必须始终存在双向交换,但我很确定这就是示例的编写方式。
现在是几奌?UDP 套接字示例
动态消息在 JSL 中创建服务器的示例(我建议相反,在 LabVIEW 中创建服务器)
这并不是第一次“只是去上班”。 计划学习一些关于 TCP 和套接字的知识;当它不起作用时,没有太多迹象表明出了什么问题。
您可能想首先构建一个基于文件的原型。 通过在 LabVIEW 中将文件保存到磁盘并在 JMP 中读取该文件(或相反,或两者兼而有之),您可以了解正在发生的情况。 如果速度足够快,你就可以完成。