Modbus Funktions Codes
Hex Data | Funktion | ||||
---|---|---|---|---|---|
adr | fc | data ..... | |||
.. | 01 | .. | .. | .. | Lese Ausgangsbit Status |
.. | 02 | .. | .. | .. | Lese Eingangsbit Status |
.. | 03 | .. | .. | .. | Lese Holding-Register Analog Ausgang |
.. | 04 | .. | .. | .. | Lese Input-Register Analog Eingang |
.. | 05 | .. | .. | .. | Schreibe Ausgangsbit |
.. | 06 | .. | .. | .. | Schreibe Holding-Register Analog Ausgang |
.. | 0F | .. | .. | .. | * Funktion noch offen |
.. | 10 | .. | .. | .. | wird bei den China Modulen zum Anpassen der UID benutzt |
.. | 15 | .. | .. | .. | Schreibe mehrfach Ausgangsbit |
.. | 16 | .. | .. | .. | Schreibe mehrfach Holding-Register (Daten für >16-bit) Analog Ausgang |
.. | 23 | .. | .. | .. | * Funktion noch offen |
- das sind wohl noch nicht alle Modbus Funktion Codes
es gibt wohl auch Sonderfunktionen die nur bei bstimmten Geräten vorhanden sind hier z.B. 0x10h setzten der UID
adr -> device Adress 1 Byte
fc -> Function Code 1 Byte
data -> n Bytes
- das sind wohl noch nicht alle Modbus Funktion Code
Modbus Rtu 2
Hardware Resources: Data register address
* RS485 communication interface * TTL communication interface * 2 optocoupler isolation input * 2 way optocoupler isolation output * A user button * A user LED * A power indicator * A STM32F030F4 microcontroller * 2 relay status indicators LED lights * Power supply terminal interface (12V power supply)
Modbus RTU Instructions:
Baud rate: 9600 8 NONE 1
Hexadecimal send
hexadecimal receive
Operation steps:
1. Software settings communication baud rate
2. Set the address (communication using the device address, the default address is 01)
Set the address from 01 to 09 or from Broadcast to 09
Hex Byte | Funktion |
---|---|
00 10 00 00 00 01 02 00 01 6A 00 | Broadcast Address Modified to 01 |
00 10 00 00 00 01 02 00 02 2A 01 | Broadcast Address Modified to 02 |
00 10 00 00 00 01 02 00 03 EB C1 | Broadcast Address Modified to 03 |
Read Address
Hex Byte | Funktion |
---|---|
00 03 00 00 00 01 85 db | Send to Device |
00 03 02 00 01 44 44 | Receive from Device 01 for Address |
00 03 02 00 02 04 45 | Receive from Device 02 for Address |
00 03 02 00 03 C5 85 | Receive from Device 03 for Address |
Meaning of each byte:
Byte 1: address
byte 2: function
byte 3 4: register address
byte 5 6: register data
byte 7 8: CRC check
[address 1]
Switch Single
Hex Data | Funktion | |||||||
---|---|---|---|---|---|---|---|---|
Adresse | Funktion | Reghigh | Reglow | Data 1 | Data 2 | CRChigh | CRClow | Funktion |
01 | 05 | 00 | 00 | FF | 00 | 8C | 3A | 0 relay ON |
01 | 05 | 00 | 00 | 00 | 00 | CD | CA | 0 relay off |
01 | 05 | 00 | 01 | FF | 00 | DD | FA | No. 1 relay ON |
01 | 05 | 00 | 01 | 00 | 00 | 9C | 0A | No. 1 relay off |
01 | 05 | 00 | 02 | FF | 00 | 2D | FA | No. 2 relay ON |
01 | 05 | 00 | 02 | 00 | 00 | 6C | 0A | No. 2 relay off |
Switch all
Hex Data | Funktion | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Adresse | Funktion | Reghigh | Reglow | Data 1 | Data 2 | Data 3 | Data 4 | CRChigh | CRClow | Funktion |
01 | 0F | 00 | 00 | 00 | 08 | 01 | 00 | FE | 95 | Full off |
01 | 0F | 00 | 00 | 00 | 08 | 01 | FF | BE | D5 | Full on |
01 | 01 | 00 | 00 | 00 | 08 | BE | D5 | Send : Read all relay states | ||
01 | 01 | 01 | 00 | 51 | 88 | Return : Relay fully closed | ||||
01 | 01 | 01 | 03 | 11 | 89 | Return : All relays are on | ||||
01 | 02 | 00 | 00 | 00 | 08 | 79 | CC | Send : Read all input switch status | ||
01 | 02 | 01 | 00 | A1 | 88 | Return : 8 input states |
Modbus Rtu 4
Specifications:
* RS485 communication interface * TTL communication interface * 4 optocoupler isolation input * 4 way optocoupler isolation output * A user button * A user LED * A power indicator * A STM32F030F4 microcontroller * 4 relay status indicators LED lights * Power supply terminal interface (12V power supply)
Modbus RTU command
Baud Rate: 9600 8 NONE 1
Hex Byte | Funktion |
---|---|
00 06 40 00 00 01 5c 1b | Setting address is: 01 |
00 06 40 00 00 02 1c 1a | Setting address is: 02 |
00 03 40 00 00 01 90 1b | Read address |
Read the software version | |
00 03 00 04 00 01 c4 1a | [month] broadcast read (only by one device to address all practical, easy to test) |
Read the hardware version (PCB version) | |
00 03 00 04 00 01 c4 1a | broadcast read (only by one device to address all practical, easy to test) |
[address 1]
Hex Byte | Funktion |
---|---|
01 05 00 01 01 00 9d 9a | No. 1 relay ON |
01 05 00 01 00 00 9c 0a | No. 1 relay off |
01 05 00 02 01 00 6d 9a | No. 2 relay ON |
01 05 00 02 00 00 6c 0a | No. 2 relay off |
01 05 00 03 01 00 3c 5a | No. 3 relay ON |
01 05 00 03 00 00 3d ca | No. 3 relay off |
01 05 00 04 01 00 8d 9b | No. 4 relay ON |
01 05 00 04 00 00 8c 0b | No. 4 relay off |
01 05 00 ff 00 00 fd fa | Quanmie |
01 05 00 ff ff ff fc 4a | All light |
[address 2]
Hex Byte | Funktion |
---|---|
02 05 00 01 01 00 9d a9 | No. 1 relay ON |
02 05 00 01 00 00 9c 39 | No. 1 relay off |
02 05 00 02 01 00 6d a9 | No. 2 relay ON |
02 05 00 02 00 00 6c 39 | No. 2 relay off |
02 05 00 03 01 00 3c 69 | No. 3 relay ON |
02 05 00 03 00 00 3d f9 | No. 3 relay off |
02 05 00 04 01 00 8d a8 | No. 4 relay ON |
02 05 00 04 00 00 8c 38 | No. 4 relay off |
02 05 00 ff 00 00 fd c9 | Quanmie |
02 05 00 ff ff ff fc 79 | All light |
[address 1]
Hex Byte | Funktion |
---|---|
01 01 00 01 00 04 6c 09 | Send : No. 1 relay 1 channel status |
Return ...... | |
01 01 00 02 00 04 9c 09 | Send : No. 1 Relay 2 channel status |
Return ...... | |
01 01 00 03 00 04 CD C9 | Send : No. 1 Relay 3 channel status |
Return ...... | |
01 01 00 04 00 04 7C 08 | Send : No. 1 Relay 4 channel status |
hacktronics.co.in/4-channel-relay-module
github Board-C0135
Modbus_RTU_4_Way_Relay_Module.pdf
DDS578R Energy Meter
MODBUS-RTU communication protocol Description:
1.the data format:
Address + function code + data + CRC check code
2.the register type
This meter uses two types of registers, individually addressed
The first is the data register, read-only, using the command code 0x04 to read.
The second category is the parameter register, readable and writable, using the command code 0x03
read, write parameters using 0x10
3.the data format
Float type data: Read the internal data within the meter in line with IEEE-754 standardv
floating-point number, data format is 32-bit 4-byte single-precision floating-point data format.
4、Data register list
Data register address | Register Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
adr | fc | highByte | lowByte | Description | unit | Format | Mode | ||
xx | 03 | 00 | 00 | A phase voltage | V | Floating point | Read-only | ||
xx | 03 | 00 | 02 | B phase voltage | V | Floating point | Read-only | ||
xx | 03 | 00 | 04 | C phase voltage | V | Floating point | Read-only | ||
xx | 03 | 00 | 08 | A line current | A | Floating point | Read-only | ||
xx | 03 | 00 | 0A | B line current | A | Floating point | Read-only | ||
xx | 03 | 00 | 0C | C line current | A | Floating point | Read-only | ||
xx | 03 | 00 | 10 | Total active power | KWh | Floating point | Read-only | ||
xx | 03 | 00 | 12 | A phase active power | KWh | Floating point | Read-only | ||
xx | 03 | 00 | 14 | B phase active power | KWh | Floating point | Read-only | ||
xx | 03 | 00 | 16 | C phase active power | KWh | Floating point | Read-only | ||
xx | 03 | 00 | 18 | Total reactive power | KWh | Floating point | Read-only | ||
xx | 03 | 00 | 1A | A phase reactive power | Var | Floating point | Read-only | ||
xx | 03 | 00 | 1C | B phase areactive power | Var | Floating point | Read-only | ||
xx | 03 | 00 | 1E | C phase reactive power | Var | Floating point | Read-only | ||
xx | 03 | 00 | 2A | A phase power factor | Floating point | Read-only | |||
xx | 03 | 00 | 2E | B phase power factor | Floating point | Read-only | |||
xx | 03 | 00 | 2C | C phase power factor | Floating point | Read-only | |||
xx | 03 | 00 | 36 | frequency | frequency | Floating point | Read-only | ||
xx | 03 | 01 | 00 | Total active electricity power | KWh | Floating point | Read-only | ||
xx | 03 | 04 | 00 | Total reactive electricity power | KWh | Floating point | Read-only |
The second category register (parameter register) read and operate read the meter Address:
(HEX):01 03 00 08 00 02 45 C9
Date descriptions
Data | Detailed description |
---|---|
0x01 | Instrument address ( adr ) |
0x03 | Function code, read parameter register ( fc ) |
0x00 0x08 | reading the data from the 00 08 meter internal register address |
0x00 0x02 | Read data length for two words( four bytes )of data |
0x45 0xC9 | CRC checksum data for the front, where the high front and low in the post |
Returns Data (HEX) 01 04 03 40 00 00 00 EF F3
Data | Detailed description |
---|---|
0x01 | Instrument address |
0x03 | Function code, read parameter register |
0x04 | Returned data length is 4 bytes of data length |
0x40 0x00 0x00 0x00 | TUSB To RS485 Converterhe data returned as a 4-byte data type float |
0xEF 0xF3 | CRC checksum data for the front, where the high front and low in the post |
USB To RS485 Converter
USB-To-RS485-Converter
ll /sys/class/tty/*/device/driver
lrwxrwxrwx 1 root root 0 Dez 21 19:30 /sys/class/tty/ttyUSB0/device/driver -> ../../../../../../../../bus/usb-serial/drivers/pl2303/
lsusb
Bus 003 Device 014: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port