# Modbus Plugin Limitations and Considerations

When using the Modbus plugin to set up Modbus communications in your project, consider the following factors:

Limitation / Consideration | Description
Calling Published Methods | The published API of the Modbus Client or Server Devices (that performs the Modbus read and write operations) executes only when the project is deployed or is in Test Mode.
Modbus Task Block Execution | The Modbus Task Blocks perform their Modbus communications operations only when the project is deployed or is in Test Mode.
Reading and Writing Registers | The Modbus Client device can only read and write a certain amount of registers or bits in each operation. The maximum values correspond to the Modbus Protocol, and are the following: The maximum number of registers to read: 125 The maximum number of registers to write: 123 The maximum number of bits to read: 2000 The maximum number of bits to write: 1968 Note: These limits apply to the Modbus Client device only. The local data of a Modbus Server device can be read and written without limitation.
Modbus Implementation Considerations | The Cognex Designer Modbus Plugin is a software-based implementation over the TCP/IP port, and not a hardware-based solution through the PLC port found on Cognex communications hardware (such as the Cognex VC5 Vision Controller or the CC24 Cognex Communication Card). As such, communication performance (such as throughput, speed, latency, or response time) highly depend on the following factors: The underlying hardware. The software environment. The capabilities of the lower network layers and network devices. Because of this, latency might occur that might be unacceptable for high-speed applications. Therefore, if your application requires more predictable external performance, develop communications between Cognex Designer and other hardware using one of the supported hardware-based PLC communication protocols (such as PROFINET or SLMP) available for Cognex Designer.
Coil and Register Addressing | The Modbus Protocol does not define whether the addressing of the coils and registers are 0-based or 1-based. 0-based addressing is used in the Modbus Plugin.