2. Using Modbus
2.1. Modbus Capabilities on the CXC HP
A Modbus client connects to the controller over an Ethernet TCP/IP connection to request data. Modbus
RTU is not directly supported, but 3rd party devices are available to translate from TCP/IP to RTU and
vice versa. A Modbus request consists of a device ID, a register code, a register address, and a length.
The controller Modbus agent:
• Supports multiple device IDs. The DC system limited data set ID and a full data set ID for the DC
system and each AMPSHP2 system. The data mapped to these sets are shown in the Modbus
Reference section.
• Represents data in the coil status and input status registers as boolean data (0 or 1)
• Represents data in the input register as 32-bit floating point values. There is one exception to this:
serial numbers of modules like ADIO or rectifiers are displayed as 32-bit integer.
• Value returned for a register that does not contain data is 0.
• Value returned for a register that has unknown data, corresponding to ‘---’ on the CXC HP UI, is
0xFFFFFFFF (or -1).
The Modbus agent supports three of the four common registers per device ID:
1. Coil Status (01) to hold status of relays, range 1 to 9999
2. Input Status (02) to hold status of boolean data like alarms or digital inputs, range 10001 to 19999
3. Input Register (04) to hole numeric values, range 30001 to 39999
The Holding Register (03), commonly used to write data, is not supported.
2.2. Modbus Setup
To enable Modbus TCP/IP on the controller, you need to configure certain parameters.
1. To enable Modbus, go to Controller > Configure Controller > Communications > Modbus, and
then select the byte order.
Page 8 0350114-J0 Rev G