SIS Controller Modbus port
For standalone safety systems, the DeltaV SIS controller can communicate to a third-party control system through Modbus TCP with the DeltaV SIS controller acting as a slave device. The DeltaV SIS controller supports both simplex and redundant Modbus communication.
For simplex mode, connect one of the top ports of the DeltaV SIS controller to the DeltaV ACN and the other top port to the Modbus master. You must also enable network redundancy for the controller. To enable redundancy, check the Enable network redundancy for this node check box on the SIS Controller properties dialog.
For redundant Modbus communication, connect the top ports of the DeltaV SIS controller to the Modbus master and to the DeltaV ACN. On a SIS standalone system, the DeltaV ACN enables connectivity to the SIS engineering station (a DeltaV ProfessionalPLUS station). The top ports on the SIS controller handle DeltaV communications and Modbus simultaneously using different IP addresses for Modbus communication.
Configure the IP address for Modbus TCP through the Modbus Port Properties dialog. You also define Modbus TCP registers and mappings through this dialog. The figure below shows an example system.
Connections to third-party control system through Modbus TCP

The following table shows the register types and their data types and the number of values and register addresses that can be configured.
| 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 | 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 parameters | 0 to 3000 | R40001 |
| integer holding | 8- or 16-bit unsigned | Integer for integer value parameters | 0 to 3999 (restricted by the last register being 49999) | R46001 |
There is only one data set for each register type and the data set must be sized large enough for registers of that type that will be used. The register offset is always 0. Each data set starts at the base address for that register type.
You can map parameters to Modbus port registers from the Register mapping and Map Register dialogs. However, because of the possible large number of parameters to map, using Bulk Edit is easier for initial configuration.
Only function block and module parameters can be mapped. There is one mapping table for the SIS Controller.
Supported Modbus TCP Function commands
The following function codes are supported from the Modbus interface.
| Function commands | Description |
|---|---|
|
1 |
Read multiple coils (1 bit per coil) |
|
2 |
Read multiple input statuses (1 bit per status) |
|
3 |
Read holding registers |
|
4 |
Read multiple input registers (2 bytes per register) |
|
5 |
Write single coil (0x0000 = OFF, 0xFF00 = ON) |
| 6 | Write single holding register (2 bytes) |
|
15 |
Write multiple coils (1 bit per coil) |
| 16 | Write multiple holding registers (2 bytes per register) |