LabVIEW provides Modbus VIs and Modbus I/O servers for establishing Modbus communication between devices connected over different types of buses or networks. You can use both Modbus VIs and Modbus I/O servers to create Modbus masters and slaves and perform read and write operations on Modbus slaves.

The following table compares the attributes of Modbus VIs and Modbus I/O servers.

Attribute Modbus VIs Modbus I/O Servers
Complexity Complex Configuration based and easy to use
Functionality Full-featured Unable to complete certain functions, such as reading exception status
Customization Infinite customization Limited customization

Use the following table to help you decide which method to choose.

Method Typical Use Cases
Modbus VIs
  • Reading exception status of Modbus slaves.
  • Using a TCP Modbus slave to listen to different ports or using a TCP Modbus master to connect to different ports.
  • Building a control system with specific performance or rate requirements. In other words, you want to control the requests that Modbus masters generate, determine when to send these requests, and operate on the responses that Modbus slaves send. For example, you want to read and write five holding registers at 50 Hz and all the other data at 1 Hz.
Modbus I/O Servers
  • Accessing Modbus data tables as floating-point numbers.
  • Establishing Modbus communication between a supervisory control and data acquisition (SCADA) system and devices. You do not have any specific performance requirements on this system or want any deterministic control over devices.

Understanding Modbus Communication in LabVIEW