Difference between revisions of "Modbus TCP Server Address Table"

From Control Solutions IoTServer Documentation
Jump to navigation Jump to search
Line 6: Line 6:
  
 
[[File:Modbus server primary address table page.jpg]]
 
[[File:Modbus server primary address table page.jpg]]
* Click on the register number or pencil icon to jump to the editing page for this register.
+
* Click on the register number or pencil icon to jump to the map editing page for this register.
 
* Click on the trash can icon to delete this Modbus register.
 
* Click on the trash can icon to delete this Modbus register.
 
* Click the Add Maps button for a special version of the map editing page.
 
* Click the Add Maps button for a special version of the map editing page.
 +
 +
The address table maps local objects to Modbus registers. Note that in the above example, the Modbus registers skip one or more numbers in some instances. Modbus holding registers are by definition strictly a 16-bit entity. When a data element occupies more than 16 bits, it requires multiple Modbus registers. Therefore a 32-bit value occupies 2 registers, while a 20-character string will occupy 10 registers (character strings are packed 2 characters per register).
 +
 +
Modbus addresses generally refer to holding registers. However, the server will provide access to the same register numbers as input registers (for reading only), or as coils or discrete inputs (for reading only). If a single bit register type such as coil is used to access a register number, the value will be zero if the local object contains a zero, and will provide a one if the local object contains anything other than zero.
 
<hr>
 
<hr>
 
The address table as it will appear for all Secondary Servers is illustrated below. Note that the editing icons and buttons are not available in the secondary address table.
 
The address table as it will appear for all Secondary Servers is illustrated below. Note that the editing icons and buttons are not available in the secondary address table.
  
 
[[File:Modbus server secondary address table page.jpg]]
 
[[File:Modbus server secondary address table page.jpg]]

Revision as of 14:08, 2 May 2019

The server address table is used to define the set of Modbus registers that will be visible to other Modbus clients (masters) when the IoTServer is acting as a Modbus server (slave). The set of Modbus registers that exist in the IoTServer can be defined only once, but you have the option of remapping them to different register numbers that will be accessed by secondary ports on the device. Most often you would use the same register numbers whether they are accessed from Modbus TCP or Modbus RTU, but it is possible to use a completely different set of numbers for each different network port.

The address table can only be defined by the Primary Server. All other instances of Modbus servers or slaves are secondary, and will access the same set of Modbus registers with the option of remapping them to different numbers.


The address table as it will appear for the Primary Server is illustrated below.

Modbus server primary address table page.jpg

  • Click on the register number or pencil icon to jump to the map editing page for this register.
  • Click on the trash can icon to delete this Modbus register.
  • Click the Add Maps button for a special version of the map editing page.

The address table maps local objects to Modbus registers. Note that in the above example, the Modbus registers skip one or more numbers in some instances. Modbus holding registers are by definition strictly a 16-bit entity. When a data element occupies more than 16 bits, it requires multiple Modbus registers. Therefore a 32-bit value occupies 2 registers, while a 20-character string will occupy 10 registers (character strings are packed 2 characters per register).

Modbus addresses generally refer to holding registers. However, the server will provide access to the same register numbers as input registers (for reading only), or as coils or discrete inputs (for reading only). If a single bit register type such as coil is used to access a register number, the value will be zero if the local object contains a zero, and will provide a one if the local object contains anything other than zero.


The address table as it will appear for all Secondary Servers is illustrated below. Note that the editing icons and buttons are not available in the secondary address table.

Modbus server secondary address table page.jpg