
16
5. Modbus TCPIP Data Sets
5.1 Overview.
Only the register spaces for coils, input registers and holding registers are used by this system.
Modbus defines each of these spaces as having 65536 possible 16 bit registers. These registers
are numbered 1 to 65536 but are accessed in modbus messages by their addresses, which are
always one less - so the addresses range from 0 to 65535. To attempt to avoid confusion, this
document refers to both the number and address of each register.
Sometimes modbus register numbers are preceded by a number such as 0xxxx for coils, 4xxxx
for holding registers and 3xxxx for input registers. This notation is not part of the modbus
standard and is not used in this document as it fails to account for registers greater than 9999.
The modbus register map for modbus TCP is DIFFERENT to the register map used by 6000 series
products with modbus RTU via RS485.
The following Modbus register types are supported :
•Coils (0 or 1) - These registers can be written to by a Modbus TCP master to provide control of
certain ON/OFF functions such as turning the burner off, or selecting the night-setback setpoint.
In addition these registers can be read to interrogate the last value written to them.
•Input registers (32 bit floating point, sent as two consecutive registers, low word first) - These
can be read by a Modbus master to monitor combustion and other variables. Pairs of 16 bit mod-
bus registers are used to give 32 bit floating-point registers. The value 1.205 (IEE754 =
3F9A3D71) would be sent as two holding registers, the first one containing 3D71 and the sec-
ond one containing 3F9A.
Alternatively, the same data is available as 16 bit integers in the holding registers map, if required.
•Holding registers (16 bit integer) - Some of these registers provide access to the same read-only
values as the input registers described above. Others can be written to by a Modbus master to
change modulation control of the boiler. As with Coils, these registers can be read to interrogate
the last value written. Decimal values are transferred 'multiplied up' as required to maintain pre-
cision so, 1.234, 12.34, 123.4 and 1234 are all sent as 1234.
•Read Discrete Inputs (Modbus Function code 2) - NXTSD104 and NX6330 ONLY These regis-
ters provide the status of the digital inputs, relay outputs and a few other status flage. Addition-
ally, these registers can be used to read the status of the line voltage status inputs on the touch
screen itself, if present. Note that the NX6110 and NX6220 displays do not support the use of
these registers because it does not have the input hardware to which they relate.
The system will attempt to provide up-to-date data for all values read. However, values from the
'engineers key' lists can become out of date and if required should be requested frequently (or at least
twice in succession with two or three seconds between) to ensure up-to-date data is returned. The
expected scenario would be that the master would poll values once every 10 seconds or more fre-
quently.
Values from the 'display values' list will always be up-to-date no matter how infrequently they are
read.
Control functions initiated by writing to coils and holding registers are remembered permanently
while modbus TCP communications are active (values being read or written). If there is no modbus
TCP activity for one minute, the control functions will time-out and the system will revert to default
automatic operation. If subsequently modbus TCP communications resume, the control functions
previously set will resume also.
Note : NXTSD104 Displays prior to version 2.205 were subject to a one minute timeout per function
meaning each control function required frequent refresh to remain operative. This behaviour has now
been changed.