使用LabVIEW或LabVIEW Real-Time模块进行Modbus通信

更新 Dec 18, 2023

环境

软件

  • LabVIEW Datalogging and Supervisory Control Module
  • OPC Servers
  • LabVIEW
  • LabVIEW Real-Time Module

  • 我需要使用Modbus协议与我的设备进行通信,如何在LabVIEW实现通信。
  • 如何获取具有免费版本的Modbus工具包/ API,或者具有LabVIEW数据记录和监控(DSC)模块附带的Modbus VI库的许可版本。

Modbus I / O服务器

Modbus I / O服务器使您可以轻松地将Modbus寄存器值链接到可在LabVIEW VI中使用的共享变量。 Modbus I / O服务器提供了一种在LabVIEW中访问和写入Modbus数据的简单方法。 LabVIEW DSC模块LabVIEW Real-Time模块中包含Modbus I / O服务器。相对的,在某些应用中Modbus I / O服务器不能像受支持的LabIVEW Modbus API一样很好地对可能需要的Modbus协议进行控制。

受支持的Modbus API (在上面的屏幕截图中以蓝色框出)

受支持的Modbus API可对Modbus协议进行精细控制,并具有很高性能。使用此低层API时,必须手动完成所有操作。 LabVIEW DSC模块LabVIEW Real-Time模块中包含受支持的Modbus API。

NI OPC服务器和DataSocket

如果在Windows上使用LabVIEW,则还可以使用DataSocket同可以与Modbus进行通信的OPC服务器进行通信。如果您没有OPC服务器,NI OPC服务器将提供许多协议的接口,包括Modbus。要了解有关使用DataSockets连接到OPC服务器的更多信息,请阅读有关使用前面板DataSockets将LabVIEW连接到OPC服务器的教程。

不支持的Modbus库(在上面的屏幕截图中以绿色框出)

  • LabVIEW 2012及更高版本
    LabVIEW Modbus API是免费的LabVIEW Modbus库的最新版本。它旨在替代和扩展免费的Modbus库功能,该功能支持2012年前的LabVIEW版本。
  • LabVIEW 7.1及更高版本
    LabVIEWModbus库是VISA命令的包装。用它进行编程需要一定的Modbus函数调用知识。与LabVIEW Modbus API或LabVIEW DSC模块随附的受支持API相比,该库可能不包含所需的功能。

下一步

注: NI不支持不受支持的Modbus库。如果您在NI社区论坛上发表相关问题,可能会得到答复。

附加信息

Modbus是串行通信协议。这意味着也可以基于LabVIEW进行编程,以此通过串行通讯与Modbus设备通讯。相同的原理适用于基于TCP / IP协议的Modbus TCP / IP。