4.4 Example
1. Read Input Registers
Example: read “Total active energy”
Request: 01 04 01 56 00 02 90 27
Where, 01 = Meter address
04 = Function code
01 = High byte of registers starting address
56 = Low byte of registers starting address
00 = High byte of registers number
02 = Low byte of registers number
90 = CRC Low
27 = CRC High
Response: 01 04 04 43 66 33 34 1B 38
Where, 01 = Meter address
04 = Function code
04 = Byte count
43 = Data, (High Word, High Byte)
66 = Data, (High Word, Low Byte)
33 = Data, (Low Word, High Byte)
34 = Data, (Low Word, Low Byte)
1B = CRC Low
38 = CRC High
Note: 43 66 33 34(Hex) = 230.2 (Floating point)
2. Read Holding Register
Example: read“pulse1 width”
Request: 01 03 00 0C 00 02 04 08
Where, 01 = Meter address
03 = Function code
00 = High byte of registers starting address
0C = Low byte of registers starting address
00 = High byte of registers number
02 = Low byte of registers number
04 = CRC Low
08 = CRC High
Response: 01 03 04 42 C8 00 00 6F B5
Where, 01 = Meter address
03 = Function code
04= Byte Count
42 = Data, (High Word, High Byte)
C8 = Data, (High Word, Low Byte)
00 = Data, (Low Word, High Byte)
00 = Data, (Low Word, Low Byte)
6F = CRC Low
B5 = CRC High
Note: 42 C8 00 00 (Hex) = 100 (Floating point)
3. Write Holding Registers
Example: set “Pulse 1 constant” = 100 imp/kWh
Request: 01 10 00 16 00 02 04 3F 80 00 00 7F 75
Where , 01 = Meter address
10 = Function code
00 = High byte of registers starting address
16 = Low byte of registers starting address
00 = High byte of registers number
02 = Low byte of registers number
04 = Byte Count
3F = Data, (High Word, High Byte)
80 = Data, (High Word, Low Byte)
00 = Data, (Low Word, High Byte)
00 = Data, (Low Word, Low Byte)
7F = CRC Low
75 = CRC High