Modbus Port on the DeltaV PK controller

DeltaV PK controllers can communicate to a third-party control system through Modbus TCP with the controller acting as a slave device (Modbus server). The DeltaV PK controller supports both simplex and redundant Modbus communication.

The DeltaV PK controller can handle both communications (DeltaV and Modbus) simultaneously by using different IP addresses for Modbus communication and selecting different physical ports for each protocol (configured on the Properties dialog Advanced tab in DeltaV Explorer).

Note

It is important that IP addresses assigned to any device connected either directly or through a switch to any of the ports must be unique. Since IP address verification is done at configuration, if a device is plugged into the network later with an IP address that conflicts with an existing device, it will cause problems on the network due to duplicate IP addresses.

When Modbus is enabled, the primary communications port defaults to any of the left-side physical ports (Primary Network Ports 1-3) of the DeltaV PK controller and the Modbus Server port is set to 502 (and is not configurable).

Redundant server connectivity is accomplished by selecting enabling the secondary port on the Modbus properties dialog. Secondary connection is available on the right-side physical ports (Secondary Network Port 4-6) of the DeltaV PK controller.

Configure the IP address for Modbus TCP through the Modbus Port Properties dialog. Set the number of each type of register on the Data Sets tab. Define Modbus TCP register mapping on the Map Registers or Register mapping dialogs.

Enabling the Modbus Port enables one Modbus stack that makes available (to connected clients) the data mapped into a single Modbus register table. When Modbus TCP is selected as the DeltaV PK controller's data server, the Modbus stack serves register Modbus register table on the enabled ports. The number of TCP connections is limited to 8 across the primary and secondary ports.

Note

The DeltaV PK controller's Modbus server is a Big-Endian device and the clients must be configured accordingly.

The following table shows the register types and their data types and the number of values and register addresses that can be configured.

Table: Modbus Port data configuration
Register type Data type Description Number of values Base register address (read-only and fixed)
coil Boolean For discrete output parameter read/writes 0 to 1000 R1
input status Boolean For discrete input and status parameter reads 0 to 1000 R10001
float input floating point Floating point for analog input parameter reads 0 to 3000

(in increments of 2)

R30001
integer input 8- or 16-bit unsigned Integer for integer value input parameter reads 0 to 3999

(restricted by the last register being 39999)

R36001
float holding floating point Floating point for analog input parameters read/writes 0 to 3000

(in increments of 2)

R40001
integer holding 8- or 16-bit unsigned Integer for integer value input parameters read/writes 0 to 3999

(restricted by the last register being 49999)

R46001
Note

There is only one data set for each register type and the register offset will always be 0. The data set must be sized large enough to account for all register usage required for that type. The base register address shown in the table above is a read-only field and is the start address of that type.

Writes to integer register mapped to a 32bit integer Module parameter of a value over 16bits is not supported. Use a float register for this module parameter.

You map individual parameters to Modbus port registers from the Register mapping and Map Register dialogs in DeltaV Explorer. Use Bulk Edit to easily map large numbers of parameters.