Instructions
UM-0085-B09 DT80 Range User Manual Page 181
RG
So the setup for this application might be something like:
Mimic
Element
Modbus Reg Data Type Device Range Display Range Units Comments
"temp1"
3:00001
signed 16-bit
-3276 to 3276
-327.6 to 327.6
degC
1CV (input reg)
"temp2"
3:00002
signed 16-bit
-3276 to 3276
-327.6 to 327.6
degC
2CV (input reg)
"temp3"
3:00003
signed 16-bit
-3276 to 3276
-327.6 to 327.6
degC
3CV (input reg)
"setpt" 4:00004 signed 16-bit -3276 to 3276 -327.6 to 327.6 degC 4CV (output reg)
"num_data" 3:00005
signed 32-bit,
MSW first
-1 to 1000000 -1 to 1000000 recs 5CV (input reg)
"num_alm" 3:00007
signed 32-bit,
MSW first
-1 to 1000000 -1 to 1000000 recs 7CV (input reg)
"fan_rpm"
3:00009
signed 16-bit
0 to 32767
0 to 32767
rpm
9CV (input reg)
"fan_state"
0:08001
n/a
n/a
n/a
on/off
1DSO (coil)
"water"
0:08002
n/a
n/a
n/a
on/off
2DSO (coil)
Notice how input register numbers are prefixed by "3", output registers by "4" and coils (output bits) by "0".
Note: Different Modbus client packages may specify Modbus register numbers in different ways. For example, register 3:0001 may be
specified as "30001", "300001", "input register 0001", or "input register, address 0000". In all cases the message transmitted to the
DT80 is identical; the difference is just in how you enter it into the software.
Troubleshooting
Setting P56=4 will enable the output of diagnostic messages which allow you to see received and transmitted Modbus
messages as they occur. For example:
P56=4
Modbus RX <192.168.1.60:1168: 00000000000601 0400000008 (12)
Modbus TX >192.168.1.60:1168: 00000000001301 041000000000000000000000000000000000 (25)
Modbus RX <192.168.1.60:1168: 00010000000601 0400000008 (12)
Modbus TX >192.168.1.60:1168: 00010000001301 041000000000000000000000000000000000 (25)
Modbus RX <HOST: 01 0400000008f1cc (8)
Modbus TX >HOST: 01 041000000000000000000000000000000000552c (21)
This shows a message received from a Modbus client at IP address 192.168.1.60 (port 1168) which has total length of
12 bytes. The data is shown in hexadecimal form. The first part is the TCP/IP-specific header, which comprises: a
transaction identifier (0000, used to match up requests and replies), a protocol identifier (0000 indicates Modbus), the
number of following bytes (0006) and the slave address (01 – not applicable for TCP/IP). The actual Modbus frame
follows: 04 for "read input registers" function code, starting address 0000 and length 0008. This is therefore a request to
read the values of 1CV to 8CV.
The DT80 then replies with the same function code (04), the byte count (10), and 8 x 16-bit data values (all zero in this
case).
This exchange is then repeated; notice that the client has incremented the transaction identifier, which is now 0001.
A serial Modbus message is then received on the host port, addressed to slave ID 01. Again, this is a request to read
1CV to 8CV. Note that serial Modbus also includes a checksum on the end (f1cc).
Assuming that the DT80 has been configured for address 1, using
PROFILE MODBUS_SERVER HOST_ADDRESS=1
then it will respond to the message as shown.