Modbus TCP Server Address Table Edit

From Control Solutions IoTServer Documentation
Jump to navigation Jump to search

There are two forms of the Modbus server address edit page. When you click on the pencil icon on the address table page to change a map, you will arrive at the following version of the address table edit page:

Modbus TCP server address edit.jpg


If you click on the Add Maps button at the bottom of the address table page, you will arrive at this version of the address table edit page:

Modbus TCP server address add.jpg


LocalObj – Specifies the local object number that contains the data that will be provided to external Modbus clients or masters requesting this Modbus “register”.

RegAddr – Raw 0-indexed address to be assigned to this register.

RegFormat – Format of the data contained in the Modbus register(s), not used by the protocol, but used by the gateway to interpret what the raw increments of 1 or 16 bits should mean. Select format from the following table.

Format Label Format description
“None” No format defined
“Bit” Single bit, used ONLY for RegType Coil or Disc
“Int” Integer (size and whether signed are defined by labels below)
“Real” Floating point (single or double precision)
“Char” Character string with 2 ASCII characters per register
“Mod10” Mod10 format, can be 2, 3, or 4-register, specific to Schneider Electric meters

RegSize – Register size refers to the number of consecutive input or holding registers should be read for a value greater than 16 bits. A 16-bit value would have size of 1, a 32-bit value would have size of 2, and a 64-bit value would have size of 4. Single precision Real (32-bit IEEE 754 floating point) would be size 2, and double precision Real (64-bit IEEE 754 floating point) would be size 4. If format is Mod10, then valid sizes are 2, 3, or 4 – check manufacturer’s documentation if Mod10 is noted. Register “size” for a character string will be character count divided by 2 (plus 1 of string length is an odd number). RegSize is not used for Coil or Disc types.

IMPORTANT: If the register size is more than 1, then the next assigned register address must be incremented by this count.

Unsigned – Indicate “Y” if unsigned, or “N” if signed. Defaults to signed integer. Has no effect on RegFormat other than Int.

LittleEnd – Used when RegSize is greater than 1 to indicate what order the registers should be interpreted in. Enter “Y” to indicate that the lowest numbered register contains the least significant portion of data. Enter “N” or omit to indicate that the lowest numbered register contains the most significant portion of data. Although Modbus protocol itself is not inherently “Little Endian”, many devices operate that way due to Intel processors being inherently Little Endian. Modbus protocol does not stipulate what the register order should be when multiple registers are treated as a single data entity. Therefore, the user is required to pay attention to this.


Modbus server rebuild button.jpg

The Rebuild button is a special case button for rebuilding the entire address map. This is the easiest way to create a default address table. Only the format information is used in this case, for example: Modbus server address add 3a.jpg

When using the Rebuild button, the starting number will always be Modbus register 1, and the starting local object will always be object 1. The rebuild will automatically assign the correct number of Modbus registers, as determined by the format, to each local object. Modbus register numbers will be assigned to all available local objects.