Difference between revisions of "Template:Mobus RTC Relay 16CH Protocol"

From Waveshare Wiki
Jump to: navigation, search
m (Text replacement - "0x0200 is to read the software version, 0x0040 is to read the device address" to "0x4000 is to read the device address, 0x8000 is to read the software version")
 
Line 330: Line 330:
 
|03||03 Command||Read the device address command
 
|03||03 Command||Read the device address command
 
|-
 
|-
|40 00||Command register ||0x0200 is to read the software version, 0x0040 is to read the device address
+
|40 00||Command register ||0x4000 is to read the device address, 0x8000 is to read the software version
 
|-
 
|-
 
|00 01||Bytes number||Fixed 0x0001
 
|00 01||Bytes number||Fixed 0x0001

Latest revision as of 10:49, 11 March 2024

Development Protocol

Function Code Introduction

Function Code Note
01 Read relay status
03 Read the address and version
05 Write a single relay
06 Set baud rate and address
0F Write all relays

Register address introduction

Address (HEX) Address storage content Register value Permission Modbus function code
0x0000
……
0x000F
Relay address of channel 1~channel 16 0xFF00: Relay on;
0x0000: Relay off;
0x5500: Relay flipped;
Read/Write 0x01,0x05,0x0F
0x00FF Operation all registers 0xFF00: All relays are on;
0x0000: All relays are off;
0x5500: All relays are flipped;
Write 0x05
0x0200
……
0x020F
The relays of channel 1~channel 16 are open The delay time is data*100ms
Value: 0x0007, delay: 7*100MS = 700MS
Write 0x05
0x0400
……
0x040F
Doutong 1~channel 16 relay flashes The delay time is data*100ms
Value: 0x0007, delay: 7*100MS = 700MS
Write 0x05
4x2000 Serial port parameters The upper eight bits are the check mode: 0x00~0x02
The lower eight bits are the baud rate mode: 0x00~0x07
Write 0x06
4x4000 Device address Direct storage Modbus address
Device address: 0x0001-0x00FF
Read/write 0x03,0x06
4x8000 Software version Convert to decimal and then move the decimal point two places to the left to indicate the software version
0x0064 = 100 = V1.00
Read 0x03

Single Relay Control

Sending Code: 01 05 00 00 FF 00 8C 3A

Fields Meaning Remarks
01 Device Address 0x00 is the broadcast address; 0x01-0xFF is the device address
05 05 command Control the relay command
00 00 Address Control the register address of the relay, 0x00 - 0x000F
FF 00 Command 0xFF00: relay on
0x0000: relay off;
0x5500: relay flip
8C 3A CRC16 CRC16 checksum of the first 6 bytes of data

Return code: 01 05 00 00 FF 00 8C 3A

Field Meaning Remarks
01 Device Address 0x00 is the broadcast address; 0x01-0xFF is the device address
05 05 command Control the relay commands
00 00 Address Control the register address of the relay: 0x0000-0x000F
FF 00 Command 0xFF00: relay on;
0x0000: relay off;
0x5500: relay flip
8C 3A CRC16 CRC16 checksum of the first 6 bytes of data

For example:
[No. 1 address device]: No. 0 relay on: 01 05 00 00 FF 00 8C 3A
No. 0 relay off: 01 05 00 00 00 00 CD CA
No. 1 relay on: 01 05 00 01 FF 00 DD FA
No. 1 relay off: 01 05 00 01 00 00 9C 0A
No. 2 relay on: 01 05 00 02 FF 00 2D FA
No. 2 relay off: 01 05 00 02 00 00 6C 0A
No. 3 relay on: 01 05 00 03 FF 00 7C 3A
No. 3 relay off: 01 05 00 03 00 00 3D CA
No. 0 relay flip: 01 05 00 00 55 00 F2 9A
No. 1 relay flip: 01 05 00 01 55 00 A3 5A
No. 2 relay flip: 01 05 00 02 55 00 53 5A
No. 3 relay flip: 01 05 00 03 55 00 02 9A

Control All Relays

Sending code: 01 05 00 FF FF 00 BC 0A

Fields Meaning Note
01 Device Address 0x00 is the broadcast address; 0x01-0xFF is the device address
05 05 Command Control relay commands
00 FF Address Fixed 0x00FF
FF 00 Command 0xFF00: relay on
0x0000: relay off
0x5500: relay flip
BC 0A CRC16 CRC16 checksum of the first 6 bytes of data

Return code: 01 05 00 FF FF 00 BC 0A

Fields Meaning Code
01 Device Address 0x00 is the broadcast address; 0x01-0xFF indicates the device address
05 05 command Control the relay commands
00 FF Address Fixed 0x00FF
FF 00 Commands 0xFF00: relay on
0x0000: relay off
0x5500: relay flip
BC 0A CRC16 CRC16 checksum of the first 6 bytes of data

For example:

[No. 1 address device]:

All relays on: 01 05 00 FF FF 00 BC 0A
All relays off: 01 05 00 FF 00 00 FD FA
All relays flip: 01 05 00 FF 55 00 C2 AA

Read the Relay Status

Sending code: 01 01 00 00 00 10 3D C6

Fields Meaning Note
01 Device Address 0x00 is the broadcast address; 0x01-0xFF indicates the device address
01 01 Command Query Relay Status Command
00 00 Relay Start Address Fixed 0x0000
00 10 Relay Numbers Fixed 0x0010
3D C6 CRC16 CRC16 checksum of the first 6 bytes of data

Return code: 01 01 02 00 00 B9 FC

Field Meaning Note
01 Device Address 0x00 is the broadcast address, 0x01-0xFF is the device address
01 01 Command Query Relay Status Command
02 Number of bytes Returns all bytes of the status information
00 00 Status of the query Returned relay status
Bit0: the first relay status;
Bit1: the second relay status;
Bit2: the third relay status;
……
Bit15: the 16th relay status.
B9 FC CRC16 CRC16 checksum of the first 6 bytes of data

For example:

[NO.1 address device]

Send: 01 01 00 00 00 08 3D CC
Return: 01 01 02 00 00 B9 FC //All relays off
Send: 01 01 00 00 00 08 3D CC
Return: 01 01 02 00 01 78 3C //Relay 0 is on, the rest of the relays are off.
Send: 01 01 00 00 00 08 3D CC
Return: 01 01 02 00 41 79 CC //Relays 0 and 6 are on, the rest are off

Write Relay Status

Sending code: 01 0F 00 00 00 10 02 FF FF E3 90

Field Meaning Note
01 Device address 0x00 is the broadcast address; 0x01-0xFF is the device address
0F 0F Command Write relay status command
00 00 Relay start address Fixed 0x0000
00 10 Relay numbers Fixed 0x0010
02 Byte count Fixed 0x02
FF FF Relay status Bit0: control the first relay;
Bit1: control the second relay;
Bit2: control the third relay;
……
Bit15: control the 16th relay
E3 90 CRC16 CRC16 checksum of the first 6 bytes of data

Return code: 01 0F 00 00 00 10 54 07

Field Meaning Note
01 Device Address 0x00 is the broadcast address; 0x01-0xFF is the device address
0F 0F command All register control commands
00 00 Relay start address Fixed 0x0000
00 10 Relay numbers Fixed 0x0010
54 07 CRC16 CRC16 checksum of the first 6 bytes of data

For example:

[No.1 address device]

All relays on: 01 0F 00 00 00 10 02 FF FF E3 90
All relays off: 01 0F 00 00 00 10 02 00 00 E2 20
0-1 ON; 3-15 OFF: 01 0F 00 00 00 10 02 00 03 A2 21

Relay Flash On and Flash Off Command

Sending code: 01 05 02 00 00 07 8D B0

Field Meaning Note
01 Device Address 0x00 is the broadcast address, 0x01-0xFF is the device address
05 05 Command Single control demmand
02 Command 02 is the command for flashing on, 04 is the command for flashing off
00 Relay Address The address of the relay to be controlled: 0x00~0x0F
00 07 Interval time Delay time for data *100ms
Value: 0x0007, Delay: 7*100MS = 700MS
8D B0 CRC16 CRC16 checksum of the first 6 bytes of data

Return code: 01 05 02 00 00 07 8D B0

Field Meaning Note
01 Device Address 0x00 is the broadcast address; 0x01-0xFF is the device adress
05 05 Command Single control command
02 Command 02 is the command for flashing on, 04 is the command for flashing off
00 Relay Address The address of the relay to be controlled: 0x00~0x0F
00 07 Interval time Delay time for data*100ms
Value: 0x0007, delay: 7*100MS = 700MS
8D B0 CRC16 CRC16 checksum of the first 6 bytes of data

Note:

The maximum setting for the flash on/flash off time is 0x7FFF.

For example:

[No.1 address device]

Relay 0 flashes on: 01 05 02 00 00 07 8D B0 //700MS = 7*100MS = 700MS
Relay 1 flashes on: 01 05 02 01 00 08 9C 74 //800MS
Relay 0 flashes off: 01 05 04 00 00 05 0C F9 //500MS
Relay 1 flashes off: 01 05 04 01 00 06 1D 38 //600MS

Set the Baudrate Command

Sending code: 00 06 20 00 00 05 43 D8

Field Meaning Note
00 Device Address 0x00 is the broadcast address, 0x01-0xFF is the device address
06 06 Command Set the baud rate and the device address
20 00 Command Register 0x2000 is the configurable baudrate, 0x4000 sets the device address
00 Checksum Method 0x00: no checksum, 0x01: even parity, and 0x02: odd parity
05 Baudrate value The baud value corrsponding to
0x00: 4800
0x01: 9600
0x02: 19200
0x03: 38400
0x04: 57600
0x05: 115200
0x06: 128000
0x07: 256000
43 D8 CRC16 CRC16 checksum of the first 6 bytes of data

Return code: 00 06 20 00 00 05 43 D8

Field Meaning Note
00 Device address 0x00 is the broadcast address; 0x01-0xFF is the device address
06 06 Command Set the baudrate and the device address
20 00 Command Register 0x2000 is the configurable baudrate, 0x4000 sets the device address
00 Checksum Method 0x00 is no checksum, 0x01 is odd check, 0x02 is even check
05 Baudrate The baud value corrsponding to
0x00: 4800
0x01: 9600
0x02: 19200
0x03: 38400
0x04: 57600
0x05: 115200
0x06 : 128000
0x07: 256000
43 D8 CRC16 CRC16 checksum of the first 6 bytes of data

For example:

[No.1 address device]

Set the baudrate 4800: 00 06 20 00 00 00 83 DB
Set the baudrate 9600: 00 06 20 00 00 01 42 1B
Set the baudrate 115200: 00 06 20 00 00 05 43 D8

Set the Device Address Comand

Sending code: 00 06 40 00 00 01 5C 1B

Field Meaning Note
00 Device Address 0x00 is the broadcast address, 0x01-0xFF is the device address
06 06 Command Configurable baudrate and device address
40 00 Command Register 0x2000 is for setting the baudrate, and 0x4000 is for setting the device address
00 01 Device address Set the device address, 0x0001-0x00FF
5C 1B CRC16 CRC16 checksum of the first 6 bytes of data

Return code: 00 06 40 00 00 01 5C 1B

Field Meaning Note
00 Device Address 0x00 is the broadcast address, 0x01-0xFF is the device address
06 06 Command Set the baudrate and the device address
40 00 Command Register 0x2000 is for setting the baudrate, 0x4000 is for setting the device address
00 01 Device address Set the device address, 0x0001-0x00FF
5C 1B CRC16 CRC16 checksum of the first 6 bytes of data

For example:

[No.1 address device]

Set the device address as 0x01: 00 06 40 00 00 01 5C 1b
Set the device address as 0x02: 00 06 40 00 00 02 1C 1A
Set the device address as 0x03: 00 06 40 00 00 03 DD DA

Read the Device Address Command

Sending code: 00 03 40 00 00 01 90 1B

Field Meaning Note
00 Device address 0x00 is the broadcast address; 0x01-0xFF is the device address
03 03 Command Read the device address command
40 00 Command register 0x4000 is to read the device address, 0x8000 is to read the software version
00 01 Bytes number Fixed 0x0001
90 1B CRC16 CRC16 checksum of the first 6 bytes of data

Return code: 01 03 02 00 01 79 84

Field Meaning Note
00 Device address 0x00 indicates the broadcast address; 0x01-0xFF indicates the device address
03 03 command Read software version, read device address command
02 Byte number Return the number of bytes
00 01 Device address Set device address, 0x0001-0x00FF
79 84 CRC16 CRC16 checksum of the first 6 bytes of data

For example:

[NO.1 address device]

Sending: 00 03 40 00 00 01 90 1B Return: 01 03 02 00 01 79 84 //address 0x01
[NO.2 address device]

Sending: 00 03 40 00 00 01 90 1B
Return: 02 03 02 00 02 7D 85 //Address 0x02
[NO.3 address device]

Sending: 00 03 40 00 00 01 90 1B
Return: 03 03 02 00 03 81 85 //Address: 0x03

Read Software Version Command

Sending code: 00 03 80 00 00 01 AC 1B

Field Meaning Note
01 Device Address 0x00 indicates the broadcast address; 0x01-0xFF indicates the device address
03 03 Command Read software version, read device address command
80 00 Command Register 0x4000 is to read the device address, 0x8000 is to read the software version
00 01 Byte Number Fixed 0x0001
8F CA CRC16 CRC16 checksum of the first 6 bytes of data

Return code: 01 03 02 00 64 B9 AF

Field Meaning Note
01 Device Address 0x00 indicates the broadcast address; 0x01-0xFF indicates the device address
03 03 Command read the software version and the device address commands
02 Byte Number Return code
00 64 Software Version Convert to decimal and move the decimal point two places to the left to indicate the software version
0x0064 = 100 = V1.00
B9 AF CRC16 CRC16 checksum of the first 6 bytes of data

For example:

Sending: 00 03 80 00 00 01 AC 1B
Return: 01 03 02 00 64 B9 AF //0x0064 = 100 =V1.00