NT18B07 Modbus Rtu Protocol
NT18B07 Modbus Rtu Protocol
NT18B07 Modbus Rtu Protocol
Function code
RS485 address Function Register Read number CRC16 (2)
(Station address) (1) address (2)
(1) (2)
03 Read
06 Write
Returns data
RS485 address Functio Number of bytes data (n) CRC16(2
(Station address) n (1) (1) )
(1)
RS485 address:0x01-0xFE
Function code 0x03
Register address:0x0000-0x0006 1-7channel temperature value
Read number:0x0001-0x0007
The return of the temperature data is two bytes,High-bit in the former and
low-bit in the post,convert it to decimal and divided by 10, is the current
temperature value;The highest bit 1 indicates a negative value, this value
directly subtracting 65536,is the current temperature value.
Returns data
RS485 address Functio Number of bytes data (n) CRC16(2
(Station address) n (1) (1) )
(1)
RS485 address:0x01-0xFE
Function code 0x03
Register address:0x0008-0x000E 1-7 channel temperature correction value
Read number:0x0001-0X0007
Return data: Celsius, you need to divide this value by 10.
The temperature sensor may have an error with the actual temperature. This correction value
can correct the error. The unit is 0.1 °C. If the correction value is a positive number, the value is
added at the current temperature, and if it is a negative number, the value is subtracted. Setting
it to 0 disables this feature.
Returns data
RS485 address Function Register Register value CRC16(2
(Station address) (1) address (2) )
(1) (2)
RS485 address:0x01-0xFE
Function code 0x06
Register address:0x0008-0x000E,1-7 Channel temperature correction value
Setting Content:2Bytes
The highest digit indicates a positive or negative sign, 0 indicates positive, and 1
indicates negative, and the unit is 0.1 °C. When the highest bit is 1, it indicates a
negative value. In this case, you need to add 1 to this value. You can also subtract
65536 from the value, which is the current temperature value. Prohibit the
correction value to set the register to "0X0000"
For example 2:CH2 the offset value is set to -3.0 ° C, 65536-30 = 65506 =0XFFE2
Send frame: 01 06 00 09 FF E2 98 71
Return frame: 01 06 00 09 FF E2 98 71 The return frame is the same as the send frame.
For example 3: CH3 Prohibit the correction value and set the register to "0X0000"
Send frame: 01 06 00 0A 00 00 A9 C8
Return frame: 01 06 00 0A 00 00 A9 C8 The return frame is the same as the send frame.
Returns data
RS485 address Functio Number of bytes data (n) CRC16(2
(Station address) n (1) (1) )
(1)
RS485 address:0x01-0xFE
Function code 0x03
Register address:0x00FD
Read number:0x0001
For example:
send data(RS485 address is 1):01 03 00 FD 00 01 15 FA
Returns data:01 03 02 00 00 B8 44
01 RS485 address,03 Function,02 length,00 means query function ,
B8 44 crc16
5. Set temperature automatic reporting function(8 channels set at the same time)
Send data
RS485 address Function Register Setting Content CRC16(2
(Station address) (1) address (2) (2) )
(1)
Returns data
RS485 address Function Register Register value CRC16(2
(Station address) (1) address (2) )
(1) (2)
RS485 address:0x01-0xFE
Function code 0x06
Register address:0x00FD
Setting Content:1Bytes
For example : For example, the current query function should be changed to automatic reporting:
Automatically report in 1 second, send frame (address is 1) 01 06 00 FD 00 01 D9 FA
Automatically report in 2 second, send frame (address is 1) 01 06 00 FD 00 02 99 FB
Automatically report in 3 second, send frame (address is 1) 01 06 00 FD 00 03 58 3B
Automatically report in 4 second, send frame (address is 1) 01 06 00 FD 00 04 19 F9
Automatically report in 5 second, send frame (address is 1) 01 06 00 FD 00 05 D8 39
Automatically report in 10 second, send frame (address is 1) 01 06 00 FD 00 0A 98 3D
Returns data
RS485 address Function Number of bytes data (n) CRC16(2
( Broadcast (1) (1) )
address )
(1)
For example:
send data:FF 03 00 FE 00 01 F0 24
Returns data:FF 03 02 00 01 50 50
FF Broadcast address,03 Function,02 length,01 is the current module RS485
address , 50 50 crc16
Note: When using this command, only one temperature module can be
connected to the RS485 bus, more than one will be wrong!
Returns data
RS485 address Function Register Register value CRC16(2
(Station address) (1) address (2) )
(1) (2)
RS485 address(Slave ID) : 0x01~0xFE
Function code 0x06
Register address:0x00FE
Setting Content:2Bytes(1-247)
For example, The current RS485 address is 1, We need to change the RS485
address to 3:
send data(RS485 address is 1):01 06 00 FE 00 03 A8 3B
Returns data:01 06 00 FE 00 03 A8 3B
Returns data
RS485 address Functio Number of bytes data (n) CRC16(2
(Station address) n (1) (1) )
(1)
RS485 address(Slave ID) : 0x01~0xFE
Function code 0x03
Register address:0x000FF
Read number:0x0001
For example:
send data(RS485 address is 1):01 03 00 FF 00 01 B4 3A
Returns data:01 03 02 00 03 F8 45
01 RS485 address,03 Function,02 length,F8 45 crc16
03 means the current baud rate is 9600bps
Baud rate corresponds to the number: 0: 1200 1: 2400 2: 4800 3: 9600 4: 19200
Returns data
RS485 address Function Register Register value CRC16(2
(Station address) (1) address (2) )
(1) (2)
RS485 address(Slave ID) : 0x01~0xFE
Function code 0x06
Register address:0x00FF
Setting Content:2Bytes(0-4)
MODBUS commands you can use "Modbus Poll" input, as shown below
(CRC check generated automatically)