Many SIXNET products can be configured to send and/or receive Modbus protocol. When configuring a hardware device or HMI software to send Modbus commands to SIXNET hardware, specify the appropriate "SIXNET as Modbus" data type number and starting Modbus address. Refer to the "SIXNET as Modbus" columns in the chart below. When configuring a SIXNET programmable station to send Modbus commands (using I/O Transfers) to a non-SIXNET device, you can specify a Modbus data type number and an appropriate starting Modbus address that is anywhere within the "Maximum Modbus Address Range". If a SIXNET programmable station will be sending Modbus commands to another SIXNET station configured to respond to Modbus protocol, specify the appropriate "SIXNET as Modbus" data type number and starting Modbus address. Refer to the "SIXNET as Modbus" columns in the chart below.
Notes:
A colon separator has been placed between the type number and the address for visual purposes only. Do not include a colon when entering Modbus addresses.
Each "Generic Modbus" address range shown is the maximum range of registers supported by the protocol conversion software in the SIXNET station. SIXNET Ethernet and RS485 I/O modules typically report only the I/O that they have.
"SIXNET as Modbus" address ranges for Short Integer Ins / Outs, Long Integer Ins / Outs (register pairs) and Floating Point Ins / Outs (register pairs) do not start at 0. This was done intentionally so the address blocks wouldn’t collide with one another or with the Analog In and Analog Out blocks.
The "SIXNET as Modbus" address ranges can be changed in IPm-based controllers to allocate more or fewer addresses as needed. The address ranges can be changed from within the "Advanced" page of the IPm configuration windows in the SIXNET I/O Tool Kit. Refer to the help for the SIXNET I/O Tool Kit for more information. These settings affect how an IPm controller will respond to Modbus commands. The settings do not affect Modbus I/O Transfer commands sent to Modbus-compatible devices.
|
|
"Generic Modbus" |
"SIXNET as Modbus" |
|
|
Modbus Data |
Maximum Addressing |
Modbus |
Equivalent SIXNET |
|
Type Number |
Type # and Address Range |
Address Range |
Addresses |
|
1 (Discrete In) |
1:0001 … 1:19999 |
1:0001 … 1:19999 |
DI:0 … DI:19998 |
|
0 (Discrete Out) |
0:0001 … 0:19999 |
0:0001 … 0:19999 |
DO:0 … DO:19998 |
|
3 (Analog In) |
3:0001 … 3:31999 |
3:0001 … 3:2999 |
AI:0 … AI:2998 |
|
3 (Short Integer In) |
3:0001 … 3:31999 |
3:3001 … 3:4999 |
AI:0 … AI:1998 |
|
4 (Analog Out) |
4:0001 … 4:31999 |
4:0001 … 4:2999 |
AO:0 … AO:2998 |
|
4 (Short Integer Out) |
4:0001 … 4:31999 |
4:3001 … 4:4999 |
AO:0 … AO:1998 |
|
|
|
|
|
When Using Register Pairs (two 16 bit registers):
|
3 (Long Integer In) |
3:0001 … 3:31999 |
3:5001 … 3:6999 |
LI:0 … LI:998 |
|
4 (Long Integer Out) |
4:0001 … 4:31999 |
4:5001 … 4:6999 |
LO:0 … LO:998 |
|
3 (Floating Point In) |
3:0001 … 3:31999 |
3:7001 … 3:9999 |
FI:0 … FI:1498 |
|
4 (Floating Point Out) |
4:0001 … 4:31999 |
4:7001 … 4:9999 |
FO:0 … FO:1498 |
|
|
|
|
|
When Using Daniel Extensions (one 32 bit register):
|
3 (Long Integer In) |
DLI:0001 … DLI:31999 |
DLI:0001 … DLI:1999 |
LI:0 … LI:1998 |
|
4 (Long Integer Out) |
DLO:0001 … DLO:31999 |
DLO:0001 … DLO:1999 |
LO:0 … LO:1998 |
|
3 (Floating Point In) |
DFI:0001 … DFI:31999 |
DFI:0001 … DFI:2999 |
FI:0 … FI:2998 |
|
4 (Floating Point Out) |
DFO:0001 … DFO:31999 |
DFO:0001 … DFO:2999 |
FO:0 … FO:2998 |
Examples: Modbus data address 1:0001 equates to SIXNET discrete input 0.
Modbus data address 1:0006 equates to SIXNET discrete input 5.
Modbus data address 3:0001 equates to SIXNET analog input 0.
Modbus data address 3:0003 equates to SIXNET analog input 2.
Modbus data address 0:0001 equates to SIXNET discrete output 1.
Modbus data address 0:0006 equates to SIXNET discrete output 5.
Examples for floating point and long integer I/O are shown in the help topics for those I/O types.
See Also: Reading and Writing Long Integer and Floating Point Values