Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

Technical Information

GoodWe Modbus Protocol of Inverter


HT Series (Customer Version)
VER: 0.1 UPDATED ON MARCH 09th , 2021

Author Zengkun Ning Date November 06, 2020

Audit Feng Jiang Date November 06, 2020

Approve Feng Jiang Date November 06, 2020

GOODWE POWER SUPPLY TECHNOLOGY CO.,LTD. CONFIDENTIAL


CONTENTS

GENERAL INTRODUCTION 02

1. Byte Format 02

2. Communication Data Format 02

3. Frame Format 02

4. Baud Rate of Communication 05

5. Device Address 05

6. Function Code 05

7. CRC Checking of Communication 05

8. Register Address of Device 06

9. Example 14

10. Appendix 15
General Introduction

This MODBUS RTU protocol applies to the communication between GoodWe PV


grid-connected inverters – HT series and the monitoring device.
The protocol can used to read real-time operating data and fault status of the inverter,
and to perform remote control.

Chapter 1. Byte Format

A byte is of 8 binary digits working together with 1 start bit (0) and 1 stop bit (1) in
transmission, 10 bits in total. As illustrated below, D0 is the least significant bit (LSB)
and D7 is the most significant bit (MSB). After the start bit, the 8 bits of the byte are
sent starting with the least significant bit.

Chapter 2. Communication Data Format

Data are exchanged in the form of word or doubleword.

Chapter 3. Frame Format

3.1 Read the Content of Register

Function code: 03H

2
3.1.1 Frame format from host device

3.1.2 Frame format by device (normal data)

3.1.3 Frame format by device (error of first register address or number)

3
3.2 Set the Content of Register

Function code: 10H

3.2.1 Frame format from host device

3.2.2 Frame format by device (write successful)

3.2.3 Frame format by device (data error)

4
3.2.4 Frame format by device (error of register address or number)

Chapter 4. Baud Rate of Communication

9600bps

Chapter 5. Device Address

The range of device address is 1 – 247 with 247 as default setting before delivery.
You may set the address onsite accordingly.

Chapter 6. Function Code

 03H: read
Note: read of one or more consecutive addresses are supported.

 10H: write

Chapter 7. CRC Checking of Communication

7.1 CRC Check Calculation


X16+X12+X5+1

7.2 CRC Check Process


5
The CRC checking is performed from the first byte to the last byte before the MSB of
CRC checksum.

7.3 CRC Check Code

Please refer to chapter 10.

Chapter 8. Register Address of Device

Table 8-1-1. The data in the table is read-only.

Address Name Type Unit Gain Number Range Description

ASCII, 10 bytes, the


30000 Model Name STR N/A 1 15
first 5 registers taken
ASCII, 16 bytes, the
30015 SN STR N/A 1 10
first 8 registers taken
32016 Vpv1 I16 V 10 1

Note:
1. The values of
Vpv1and Vpv2 are the

32017 Ipv1 I16 A 100 1 same, both is the


voltage of MPPT 1.

2. Ipv1 is the current of


string 1, and Ipv2 is the
32018 Vpv2 I16 V 10 1 current of string 2.
32019 Ipv2 I16 A 100 1
3. The values of Vpv3
32020 Vpv3 I16 V 10 1
and Vpv4 are the
32021 Ipv3 I16 A 100 1 same, both is the
32022 Vpv4 I16 V 10 1 voltage of MPPT 2.

32023 Ipv4 I16 A 100 1


4. Ipv3 is the current of
32024 Vpv5 I16 V 10 1
string 3, and Ipv4 is
32025 Ipv5 I16 A 100 1 the current of string 4.

32026 Vpv6 I16 V 10 1


......
32027 Ipv6 I16 A 100 1

32028 Vpv7 I16 V 10 1

6
32029 Ipv7 I16 A 100 1

32030 Vpv8 I16 V 10 1

32031 Ipv8 I16 A 100 1

32032 Vpv9 I16 V 10 1

32033 Ipv9 I16 A 100 1

32034 Vpv10 I16 V 10 1

32035 Ipv10 I16 A 100 1

32036 Vpv11 I16 V 10 1

32037 Ipv11 I16 A 100 1

32038 Vpv12 I16 V 10 1

32039 Ipv12 I16 A 100 1

32040 Vpv13 I16 V 10 1

32041 Ipv13 I16 A 100 1

32042 Vpv14 I16 V 10 1

32043 Ipv14 I16 A 100 1

32044 Vpv15 I16 V 10 1

32045 Ipv15 I16 A 100 1

32046 Vpv16 I16 V 10 1

32047 Ipv16 I16 A 100 1

32048 Vpv17 I16 V 10 1

32049 Ipv17 I16 A 100 1

32050 Vpv18 I16 V 10 1

32051 Ipv18 I16 A 100 1

32052 Vpv19 I16 V 10 1

32053 Ipv19 I16 A 100 1

32054 Vpv20 I16 V 10 1

32055 Ipv20 I16 A 100 1

32056 Vpv21 I16 V 10 1

32057 Ipv21 I16 A 100 1

32058 Vpv22 I16 V 10 1

32059 Ipv22 I16 A 100 1

32060 Vpv23 I16 V 10 1

32061 Ipv23 I16 A 100 1

32062 Vpv24 I16 V 10 1

7
32063 Ipv24 I16 A 100 1

Line voltage of phase


32066 U16 V 10 1
A-to-B (Grid)
Line voltage of phase
32067 U16 V 10 1
B-to-C (Grid)
Line voltage of phase
32068 U16 V 10 1
C-to-A (Grid)
Phase voltage of
32069 U16 V 10 1
phase A (Grid)
Phase voltage of
32070 U16 V 10 1
phase B (Grid)
Phase voltage of
32071 U16 V 10 1
phase C (Grid)
Current of phase A
32072 I32 A 1000 2
(Grid)
Current of phase B
32074 I32 A 1000 2
(Grid)
Current of phase C
32076 I32 A 1000 2
(Grid)

32080 Active Power I32 kW 1000 2

32085 Grid Frequency U16 Hz 100 1


Internal temperature
32087 I16 ℃ 10 1
(cabinet temp)
Cumulative
32106 U32 kWh 100 2
Generation
32114 Daily Generation U32 kWh 100 2

8
Table8-1-2.The data in the table is read-only.

Address Name Type Unit Gain Number Range Description

MSB-year/LSB-mo
35208 U16 N/A 1 1
nth: 13-99/1-12
MSB-day/LSB-hou
35209 RTC Time Setting U16 N/A 1 1
r: 1-31/0-23
MSB-minute/LSB-
35210 U16 N/A 1 1
second: 0-59/0-59

Cabinet
35218 I16 ℃ 10 1
Temperature 2

35710 DSP Error Code U32 N/A 1 2

35712 DSP Alarm Code U32 N/A 1 2

35714 PV String Fault Bit U32 N/A 1 2


Temperature Fault
35716 U32 N/A 1 2
Bit
Slave DSP Error
35718 U32 N/A 1 2
Code

Total Generation
35749 U32 H 1 2
Hour
35751 Safety Code U16 N/A 1 1

35758 Work Mode U16 N/A 1 1 Table 8-2-1

Table 8-1-3. The data in the table is for read and write.
Available function codes:0x03 ,0x10.
Address Name Type Unit Gain Number Range Description

41313 U16 N/A 1 1 13-99/1-12 MSB-year/LSB-month:

41314 RTC Time Setting U16 N/A 1 1 1-31/0-23 MSB-day/LSB-hour

41315 U16 N/A 1 1 0-59/0-59 MSB-minute/LSB-second:

0: ISO checking disable


41322 ISO U16 KΩ 1 1 [0,1000]
1~1000: ISO threshold

9
setting

0: LVRT disable
41323 LVRT U16 N/A 1 1 [0,1]
1: LVRT enable
0: HVRT disable
41324 HVRT U16 N/A 1 1 [0,1]
1: HVRT enable

Power Limit 0: Power limit disable


41327 U16 N/A 1 1 [0,1]
ON/OFF 1: Power limit enable
41328 Set Export Power U32 N/A 1 2 [0,1000000]

Inverter ON
0: OK to grid connection
41330 (self-checking for U16 N/A 1 1 [0,1]
1: NO to grid connection
grid connection)

Inverter OFF
(no self-checking 0: OK to grid connection
41331 U16 N/A 1 1 [0,1]
for grid 1: NO to grid connection
connection)

Restart
41332 U16 N/A 1 1 [0]
(Re-connection)

Grid Connection 0: 3W/PE


41335 U16 N/A 1 1
Type 1: 3W/N/PE

Set Export Power


41336 U16 % 1 1 [0,100]
(percentage)

Set Active Power


41480 U16 % 1 1 [0,100] 0-100% active power
(percentage)

1-20: lagging 0.99-0.9


80-100: leading 0.90-1

Set PF/Reactive
41481 U16 N/A 1 1 [1,20],[80,100] Note: if read command
Power
returns to 0xffff, it means that
the inverter is not in PF
setting mode
Set Reactive Reactive power setting (32
41482 U32 Var 1 2 [0,Prated]
Power bits)

10
Note: if read command
returns to 0xffffffff, it means
that the inverter not in
reactive power setting mode.
Reactive power setting (16
Set Reactive bits)
41484 Power I16 % 1 1 [-60,60]
(percentage) Note: the reactive power
setting is in percentage.

41500 Safety Code U16 N/A 1 1 [0,65635]

*Note: the start address of RTC time setting should be 41313. Three consecutive registers
shall be set accordingly. The setting with any one or two from the addresses of 41313, 41314,
41315 is not allowed.

Table 8-2-1. State of Inverter

Table 8-2-2. Definition of Error – Master DSP


Bit
Decimal Hexadecimal Error Message Description
No.
Internal Communication Communication between
Bit31 2147483648 0x80000000
Failure microcontrollers is failed.
Bit30 1073741824 0x40000000 EEPROM R/W Failure EEPROM read or write is failed.
The grid frequency is out of
Bit29 536870912 0x20000000 Fac Failure
tolerable range.
Bit28 268435456 0x10000000 TBD NA

11
Bit27 134217728 0x08000000 TBD NA
AC/DC terminal temperature is
Bit26 67108864 0x04000000 TBD
too high.
Bit25 33554432 0x02000000 Relay Check Failure Relay check is failed.

Bit24 16777216 0x01000000 Bus Soft-start Failure NA

Bit23 8388608 0x00800000 TBD TBD

Bit22 4194304 0x00400000 TBD TBD

Bit21 2097152 0x00200000 TBD TBD

Bit20 1048576 0x00100000 CPLD Error The CPLD is in error.


The DC injection to grid is too
Bit19 524288 0x00080000 DC Injection High
high.
Isolation resistance of PV plant is
Isolation Failure
Bit18 262144 0x00040000 out of tolerable range or LLC bus
(or LLC Bus High for HF)
is too high for HF.
Grid voltage is out of tolerable
Bit17 131072 0x00020000 Vac Failure
range.
External Fan Failure The external fan is failed or fuse is
Bit16 65536 0x00010000
(or FuseFlag for HF) melt for HF.
GFCI Device Check The GFCI detection circuit is
Bit15 32768 0x00008000
Failure abnormal.
Bit14 16384 0x00004000 TBD TBD

Bit13 8192 0x00002000 Over Temperature Temperature is too high.


Internal Fan Failure
Bit12 4096 0x00001000 (Back-Up Over Load for The fan in case is failed.
ES)
Bit11 2048 0x00000800 DC Bus High Dc bus is too high

Bit10 1024 0x00000400 Ground I Failure Ground current is too high.

Bit9 512 0x00000200 Utility Loss Utility is unavailable

Bit8 256 0x00000100 AC HCT Failure AC HCT check failure 3 times.

Bit7 128 0x00000080 Relay Device Failure Relay check failure 3 times.

Bit6 64 0x00000040 GFCI Device Failure GFCI check failure 3 times.

Bit5 32 0x00000020 DC Bus Low DC bus is too low.

Bit4 16 0x00000010 TBD NA

Bit3 8 0x00000008 TBD NA


Reference Voltage Check The reference voltage is
Bit2 4 0x00000004
Failure abnormal.
The output current sensor is
Bit1 2 0x00000002 AC HCT Check Failure
abnormal.

12
The slave DSP is in error. Please
Bit0 1 0x00000001 Slave DSP Error the following table if you just find
this message.

Table 8-2-3. Definition of Error – Slave DSP


Bit
Decimal Hexadecimal Error Message Description
No.
Bit31 2147483648 0x80000000 TBD TBD
Bit30 1073741824 0x40000000 CPLD Error The CPLD is in error.
PV hardware current One of boost1/3/5/7/9/11 is
Bit29 536870912 0x20000000
over range over-current.
PV hardware current One of the boost2/4/6/8/10/12 is
Bit28 268435456 0x10000000
over range over-current.
Bit27 134217728 0x08000000 TBD NA
AC/DC terminal temperature is too
Bit26 67108864 0x04000000 TBD
high.
Bit25 33554432 0x02000000 TBD TBD

Bit24 16777216 0x01000000 TBD TBD

Bit23 8388608 0x00800000 TBD TBD


PV software current
Bit22 4194304 0x00400000 One of the PV string is over-current.
over range
Bit21 2097152 0x00200000 Model Recognition Error The inverter model is not identified.
Bit20 1048576 0x00100000 TBD TBD
Bit19 524288 0x00080000 TBD TBD
BUS Voltage cannot reach the
Bit18 262144 0x00040000 BUS Soft start Failure
target value in 30 seconds.
Pv input voltage is over the
Bit17 131072 0x00020000 PV Over Voltage
tolerable range.
Pv input voltage can not reach the
Bit16 65536 0x00010000 PV Voltage Low
threshold of inverter startup.
PV Current Zero-Point Pv input current zero point
Bit15 32768 0x00008000
Failure calibration failed.
Bit14 16384 0x00004000 TBD TBD
Bit13 8192 0x00002000 DC Bus Unbalance Dc bus is unbalanced.
Bit12 4096 0x00001000 DC Bus High Dc bus is too high.
PV12 hardware current Current of Boost12 exceeds the
Bit11 2048 0x00000800
over range limitation of inverter hardware.
PV11 hardware current Current of Boost11 exceeds the
Bit10 1024 0x00000400
over range limitation of inverter hardware.

13
PV10 hardware current Current of Boost10 exceeds the
Bit9 512 0x00000200
over range limitation of inverter hardware.
PV9 hardware current Current of Boost9 exceeds the
Bit8 256 0x00000100
over range limitation of inverter hardware.
PV8 hardware current Current of Boost8 exceeds the
Bit7 128 0x00000080
over range limitation of inverter hardware.
PV7 hardware current Current of Boost7 exceeds the
Bit6 64 0x00000040
over range limitation of inverter hardware.
PV6 hardware current Current of Boost6 exceeds the
Bit5 32 0x00000020
over range limitation of inverter hardware.
PV5 hardware current Current of Boost5 exceeds the
Bit4 16 0x00000010
over range limitation of inverter hardware.
PV4 hardware current Current of Boost4 exceeds the
Bit3 8 0x00000008
over range limitation of inverter hardware.
PV3 hardware current Current of Boost3 exceeds the
Bit2 4 0x00000004
over range limitation of inverter hardware.
PV2 hardware current Current of Boost2 exceeds the
Bit1 2 0x00000002
over range limitation of inverter hardware.
PV1 hardware current Current of Boost1 exceeds the
Bit0 1 0x00000001
over range limitation of inverter hardware.

Chapter 9. Example

The following examples for supplementary description.

 Example 1

Function code: 03 (to read grid frequency)


Request from Host device: F7 03 7D 55 00 01 98 E0
Reply from Inverter: F7 03 02 13 88 7D 07
Value of frequency received: 0x1388 (5000 in decimal)
Actual frequency value: 50.00Hz (5000 divided by gain-100)

 Example 2

Function code: 10 (to set single register for export power enable)
Request from Host device: F7 10 A1 6F 00 01 02 00 01 F1 A1
Reply from Inverter: F7 10 A1 6F 00 01 06 BE

14
 Example 3

Function code: 10 (to set more than one register with consecutive addresses for RTC
time modification into 2020/12/3 14:10:00)
Request from Host device: F7 10 A1 61 00 03 06 14 0C 03 0E 0A 00 8F 00
Reply from Inverter: F7 10 A1 61 00 03 E6 BC

Chapter 10. Appendix

 Example of CRC Check Code

INT16U sCRC16(INT8U *puchMsg, INT16U usDataLen)


{
INT8U uchCRCHi = 0xFF ;
INT8U uchCRCLo = 0xFF ;
INT8U uIndex=0 ;
INT8U bTemp=0 ;
while (usDataLen--)
{
bTemp =*(puchMsg++) ;
uIndex = uchCRCHi ^ bTemp;
bTemp = uchCRCLo ^ auchCRCHi[uIndex] ;
uchCRCHi = bTemp;
bTemp =auchCRCLo[uIndex] ;
uchCRCLo = bTemp;
}
return (((INT16U)uchCRCHi << 8) | (INT16U)uchCRCLo) ;
}

15

You might also like