在系统之间发送消息
- 更新时间2025-12-03
- 阅读时长3分钟
使用消息在系统和应用程序之间发送命令、状态更新或数据(如JSON)。消息以网络队列的方式运行,使用的是发布/订阅模式。
使用的对象
可在LabVIEW、LabVIEW NXG Web模块、G Web开发软件的数据通信选板上找到SystemLink 消息和配置API。
备注 该范例使用G Web开发软件的消息和配置 API。可在LabVIEW中使用相同的代码在系统间发送消息。
操作步骤
- 在VI中创建下列程序框图以订阅并读取消息。
根据您的具体编程目标自定义灰色部分的内容。

1 打开配置启动与SystemLink服务器的连接。 2 “打开”节点创建与服务器的消息会话,从而允许订阅消息队列。 3 “订阅”节点将端点(例如Web应用程序)注册到特定主题。 备注 主题的订阅方从订阅一刻起开始接收发布到该主题的每条消息。其无法接收或访问在此之前发送的消息。4 “读取”节点返回队列中的消息。 如果队列中没有消息,则将同步阻止调用,阻止时间最长为指定的超时时间或Web服务器定义的最大超时时间(以较小者为准)。如果超时毫秒输入端未连线,则“读取”节点的默认超时时间为100毫秒。本例中,超时时间设置为2000毫秒。备注NI Web服务器的最大超时时间为10秒。可编辑NI Web服务器的超时。
如要调整NI Web服务器的超时时间,请编辑服务器的配置文件。详细信息见配置NI Web服务器。
使用“读取”节点时可配合使用“从JSON还原”节点,以便更容易地解析来自Web浏览器的消息。
使用While循环继续读取消息,直至满足条件。本例中,节点持续读取消息,直至出现错误。
- 在VI中创建下列程序框图以发布消息。
根据您的具体编程目标自定义灰色部分的内容。

1 打开配置启动与SystemLink服务器的连接。 2 “打开”节点创建与服务器的消息会话,从而允许将消息发布到消息队列。 3 “发布”节点将消息写入主题。如果发布了多个消息,则订阅方按照接收的顺序读取消息。 使用“发布”节点时可配合使用“平化至JSON”节点,以便将LabVIEW数据类型转换为字符串(消息支持的唯一数据类型),同时便于在LabVIEW及其他支持JSON的语言中读取消息时与数据轻松交互。
使用条件结构设置发布的时间条件。本例中,“发布”节点持续写入消息,直至前面板上的“发布”开关切换到OFF位置。
使用While循环继续发布Tag,直至满足条件。本例中,“发布”节点持续写入消息,直至出现错误。
4 “关闭”节点终止与服务器的消息会话。 5 “关闭配置”节点使所有指向已创建对象的打开引用失效,从而清除与配置关联的连接。
故障分析
如果遇到错误,请尝试以下问题排除方法:
- 调用“读取”节点之前先调用“订阅”节点。必须先订阅主题,然后程序才能读取消息。
- 确保在运行代码之前已订阅了正确的主题。
备注 主题区分大小写。
相关内容
- SystemLink API参考
- 使用Tag传输数据
使用Tag在系统间接收和发送数据。
- 配置NI Web服务器