0% found this document useful (0 votes)
109 views17 pages

Modbus-RTU Protocol for Solar Controllers

MPPT PRO Duo Controller modbus communication instruction

Uploaded by

Gothmag
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
109 views17 pages

Modbus-RTU Protocol for Solar Controllers

MPPT PRO Duo Controller modbus communication instruction

Uploaded by

Gothmag
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

MPPT PRO Duo Controller Communication Instruction

Modbus is an application layer packet transmission protocol and it lies in 7 layer

of OSI model. It provides client / server communication between the different

network equipment. Modbus is also a request / response protocol, and provides the

services of function code.

As a master / slave protocol, at the same time, there is only one master and one or

more (Max 247) slave on the bus. Modbus communication is always initiated by the

master, and if no request is received from the master to the slave, no data will be sent.

The slaves can not communicate with each other, at the same time the master can

only initiate one Modbus transaction.

Our product communication protocol has the following characteristics :

1. Communication protocol is standard Modbus-RTU protocol.

2. The default controller ID number is "1", we can modify the ID via PC common

software (Tips: when modify ID, please make sure the bus only connects a controller.

After modifying the ID, please recharge the controller.)

3. Serial communication parameters: baud rate 115200, data bits 8, stop bits 1, no

data flow control.

4. Register address uses hexadecimal format, the base address offset is 0x00.

5. All 32-bit-length data uses two 16-bit registers to represent (L and H register,

respectively), for example, the value of the array rated power is 3000, data multiple is

100, the data of L register (address 0x3002) is 0x93E0 and the data of H

register(address 0x3003) is 0x0004.


Real Time Data:all system’s real time data , real time status and the history

statistics of energy generated and energy consumed.

Numb Addr Function


Variable name Description Unit Times
er ess code
1-The temperature inside the
Over temperature controller is higher than the
A1 2000 02(read)
inside the device over-temperature protection point.
0-Normal

A2 AES status 2002 02(read) 1-Run,0-Stop

A3 Day/Night 200C 02(read) 1-Night,0-Day

PV array input Solar charge controller--PV array


A4 3100 04(read) V 100
voltage voltage
PV array input Solar charge controller--PV array
A5 3101 04(read) A 100
current current
PV array input Solar charge controller--PV array
A6 3102 04(read) W 100
power L power
PV array input Solar charge controller--PV array
A7 3103 04(read) W 100
power H power
A8 Load voltage 310C 04(read) Load voltage V 100

A9 Load current 310D 04(read) Load current A 100

A10 Load power L 310E 04(read) Load power W 100

A11 Load power H 310F 04(read) Load power W 100


Battery
A12 3110 04(read) Battery temperature ℃ 100
temperature
Device
A13 3111 04(read) Device temperature ℃ 100
temperature
The percentage of battery1's
A14 Battery 1 SOC 311A 04(read) % 1
remaining capacity

A15 Battery2 voltage 311C 04(read) Bat2's real rated voltage

Current system rated voltage. 1200,


Battery's real
A16 311D 04(read) 2400, 3600, 4800 represent 12V, V 100
rated voltage
24V,36V,48V
A17 Battery 2 voltage 3130 04(read) Battery 2 voltage V 100
A18 Battery 2 current 3131 04(read) Battery 2 current A 100
Battery 2 100
A18 3132 04(read) Battery 2 charging power L W
charging power L
Battery 2 100
A19 3133 04(read) Battery 2 charging power H W
charging power H
The percentage of battery2's
A20 Battery 2 SOC 3134 04(read)
remaining capacity
D15: 1-Wrong identification for
rated voltage
D8: Battery inner resistance
abnormal 1,
normal 0
D7-D4: 00H Normal, 01H Over
A21 Battery 1 status 3200 04(read) Temp.(Higher than the warning
settings), 02H Low Temp.(Lower
than the warning settings),
D3-D0: 00H Normal ,01H Over
Voltage. , 02H Under Voltage, 03H
Over discharge, 04H Fault

D15-D14: Input voltage status. 00H


normal, 01H No input power
Charging
A22 3201 04(read) connected, 02H Higher input
equipment status
voltage , 03H Input voltage error.
D13: Charging MOSFET is short
circuit.
D12: Charging or Anti-reverse
MOSFET is open circuit.
D11: Anti-reverse MOSFET is short
circuit.
D10: Input is over current.
D9: The load is over current.
D8: The load is short circuit.
D7: Load MOSFET is short circuit.

D6:Disequilibrium in three circuits.

D4: PV input is short circuit.


D3-D2: Charging status. 00H No
charging,01H Float,02H Boost, 03H
Equalization.
D1: 0 Normal, 1 Fault.
D0: 1 Running, 0 Standby.
Maximum battery
A23 3302 04(read) 00: 00 Refresh every day V 100
1 voltage today
Minimum battery
A24 3303 04(read) 00: 00 Refresh every day V 100
1 voltage today
D15-D8 (Battery 1): 00H: No
battery connected,others values:
Battery
A25 3205 04(read) connect.
connection status
D15-D8 Battery 1): 00H: No battery
connected,others values: connect.
Generated energy KW
A28 330C 04(read) 00: 00 Clear every day. 100
today L H
Generated energy KW
A29 330D 04(read) 100
today H H
Generated energy 00: 00 Clear on the first day of KW
A30 330E 04(read) 100
this month L month. H
Generated energy KW
A31 330F 04(read) 100
this month H H
Generated energy KW
A32 3310 04(read) 00: 00 Clear on 1, Jan. 100
this year L H
Generated energy KW
A33 3311 04(read) 100
this year H H
Total generated KW
A34 3312 04(read) 100
energy L H
Total generated KW
A35 3313 04(read) 100
energy H H
A36 Battery1 voltage 331A 04(read) Battery1 voltage V 100
A37 Battery1 current L 331B 04(read) Battery1 current A 100
A38 Battery1 current 331C 04(read) Battery1 current A 100
H
Maximum battery
A39 3320 04(read) 00: 00 Refresh every day V 100
2 voltage today
Minimum battery
A40 3321 04(read) 00: 00 Refresh every day V 100
2 voltage today

Status analysis
Array status: address 3201 bits D15-D10
Charging status:address 3201 bits D3-D2
Battery status: address 3200 bits D7-D0
Load status: address 3201 bits D9-D7, address 3202 bits D13-D8,D6-D4
Device status: address 3200 bit D15 address 3201 bits D6 address 2000

For example
Read real-time battery voltage
Send command: 01 04 33 1A 00 01 1F 49
Analysis :
01 device ID
04 function code
33 1A the start bit of the address
00 01 the number of the address
1F 49 CRC
Receive command : 01 04 02 04 CE 3A 64
Analysis :
01 device ID
04 function code
02 two bytes
04 CE data(0x04CE (Hex) = 1230 (Dec), 1230/100=12.3V)
3A 64 CRC
Battery 1 Parameter:After choosing the battery type , set the

corresponding parameter, and mainly set the reasonable parameter to

the special voltage.

Num Variable Addr Function


Description Unit Times
ber name ess code
Rated
B1 charging 3005 04(read) Rated current to battery A 100
current
Current system rated voltage. 1200,
Battery's real
B3 311D 04(read) 2400, 3600, 4800 represent 12V,24V, V 100
rated voltage
36V,48V
0000H User defined, 0001H Sealed ,
03(read)
B4 Battery1 type 9000 0002H GEL, 0003H Flooded, 0004H
10(write)
Lithium-ion battery
Battery 03(read)
B5 9001 Rated capacity of the battery AH 1
capacity 10(write)
Temperature mV/
03(read)
B6 compensation 9002 Range 0-9 ℃/2 100
10(write)
coefficient V
Over voltage
03(read)
B7 disconnect 9003 V 100
10(write)
voltage
Charging limit 03(read)
B8 9004 V 100
voltage 10(write)
Over voltage
03(read)
B9 reconnect 9005 V 100
10(write)
voltage
Equalize
03(read)
B10 charging 9006 V 100
10(write)
voltage
Boost
03(read)
B11 charging 9007 V 100
10(write)
voltage
Float charging 03(read)
B12 9008 V 100
voltage 10(write)
Boost
reconnect 03(read)
B13 9009 V 100
charging 10(write)
voltage
Low voltage
03(read)
B14 reconnect 900A V 100
10(write)
voltage
Under voltage
warning 03(read)
B15 900B V 100
recover 10(write)
voltage
Under voltage
03(read)
B16 warning 900C V 100
10(write)
voltage
Low voltage
03(read)
B17 disconnect 900D V 100
10(write)
voltage
Discharging 03(read)
B18 900E V 100
limit voltage 10(write)
0, auto recognize. 1-12V,
Battery1 rated 03(read)
B19 9067 2-24V ,3-36V,4-48V,5-60V,6-110V,
voltage level 10(write)
7-120V,8-220V,9-240V,
Default load
03(read)
B20 On/Off in 906A 0-off, 1-on
10(write)
manual mode
Equalize 03(read)
B21 906B Usually 60-120 minutes Min
duration 10(write)
03(read)
B22 Boost duration 906C Usually 60-120 minutes Min
10(write)
Usually 20%-80%. The percentage of
Battery 03(read)
B23 906D battery's remaining capacity when stop % 100
discharge 10(write)
charging
03(read)
B24 Battery charge 906E Depth of charge, 20%-100% % 100
10(write)
Management modes of battery charge
Charging 03(read) and
B25 9070
mode 10(write) discharge, voltage compensation : 0
and SOC : 1

Voltage parameters limit condition for lead acid battery:


1 Over voltage disconnect voltage>Charge limit voltage>Equalize charging voltage>Boost charging
voltage>Float charging voltage>Boost reconnect charging voltage
2 Under voltage warning recover voltage>Under voltage warning voltage>Low voltage disconnect
voltage>Discharging limit voltage
3 Over voltage disconnect voltage>Over voltage reconnect voltage
4 Low voltage reconnect voltage>Low voltage disconnect voltage

Voltage parameters limit condition for lithium-ion battery:


A. Over Voltage Disconnect Voltage>Over charging protection voltage(Protection Circuit
Modules(BMS))+0.2V※;
B. Over Voltage Disconnect Voltage>Over Voltage Reconnect Voltage=Charging Limit Voltage ≥ Equalize
Charging Voltage=Boost Charging Voltage ≥ Float Charging Voltage>Boost Reconnect Charging Voltage;
C. Low Voltage Reconnect Voltage>Low Voltage Disconnect Voltage ≥ Discharging Limit Voltage;
D. Under Voltage Warning Reconnect Voltage>Under Voltage Warning Voltage≥ Discharging Limit Voltage;
E. Boost Reconnect Charging voltage> Low Voltage Reconnect Voltage;
F. Low Voltage Disconnect Voltage ≥ Over discharging protection voltage (BMS)+0.2V※.

WARNING: The voltage parameters of lithium battery can be set, but you must refer to the voltage
parameters of lithium battery BMS.

WARNING: The required accuracy of BMS shall be at least 0.2V. If the deviation is higher than 0.2V, the
manufacturer will assume no liability for any system malfunction caused by this.

Warning
1 When the battery type is Sealed、 Gel or Flooded, the customer only can set Charging mode、battery capacity、
temperature compensation coefficient、equalize duration、boost duration (you cannot set the Equalize duration when
the battery type is Gel). Only when the battery type is User, the customer can set the other parameters (9003~900E the
parameters need to be set at the same time)
2 Battery discharge and battery charge can be set when the charging mode is SOC
3 The battery type and battery rated voltage level cannot be User and Self-recognition at the same time

For example:
Read battery parameter(battery type: user rated voltage level: 12V)
Send command: 01 03 90 00 00 0F 28 CE
Analysis :
01 device ID
03 function code
90 00 the start bit of the address
00 0F the number of the address
28 CE CRC
Receive command: 01 03 1E 00 00 00 C8 01 2C 06 40 05 DC 05 DC 05 B4 05 A0 05 64 05 28 04 EC
04 C4 04 B0 04 56 04 24 72 A5
Analysis::
01 device ID
03 function code
1E the number of the sending data
00 00 00 C8 01 2C 06 40 05 DC 05 DC 05 B4 05 A0 05 64 05 28 04 EC 04 C4 04 B0 04 56 04 24
the sending data(00 00 battery type(User) 00 C8
battery capacity(200) 01 2C temperature compensation
coefficient(3) 06 40 Over voltage disconnect
voltage(16V) 05 DC Charge limit voltage(15V)
05 DC Over voltage reconnect voltage(15V) 05 B4
Equalize charging voltage(14.6V) 05 A0 Boost
charging voltage(14.4V) 05 64 Float charging
voltage(13.8V) 05 28 Boost reconnect charging
voltage(13.2V ) 04 EC Low voltage reconnect
voltage(12.6V) 04 C4 Under voltage warning recover
voltage(12.2V) 04 B0 Under voltage warning
voltage(12V) 04 56 Low voltage disconnect
voltage(11.1V) 04 24 Discharging limit voltage(10.6V)
3C C4 CRC
Send command : 01 03 90 67 00 01 18 D5
Analysis :
01 device ID
03 function code
90 67 the start bit of the address
00 01 the number of the address
18 D5 CRC
Receive command : 01 03 02 00 01 79 84
Analysis :
01 device ID
03 function code
02 the number of the sending data
00 01 the sending data(12V system)
79 84 CRC
Send command : 01 03 90 6B 00 02 98 D7
Analysis :
01 device ID
03 function code
90 6B the start bit of the address
00 02 the number of the address
98 D7 CRC
Receive command : 01 03 04 00 78 00 78 7A 08
Analysis:
01 device ID
03 function code
04 the number of the sending data
00 78 00 78 the sending data(00 78 equalize duration(120Min) 00 78
boost duration (120Min)
7A 08 CRC

Battery2 Parameter:After choosing the battery type , set the

corresponding parameter, and mainly set the reasonable parameter to

the special voltage.

Num Variable Addr Function


Description Unit Times
ber name ess code
Battery 2
0, auto recognize. 1-12V,
rated 03(read)10
C1 908C 2-24V ,3-36V,4-48V,5-60V,6-110V,
voltage (write)
7-120V,8-220V,9-240V,
level
Full
03(read)10
C2 charging 908D V 100
(write)
voltage
Charging
03(read)10
C3 return 908E V 100
(write)
voltage
AES signal 03(read)10
C4 908F Range:0~999 min 1
closed delay (write)
Real Time Clock

Num Variable Addr Function


Description Unit Times
ber name ess code
D7-0 Sec, D15-8Min. (Year, Month,
Real time 03(read)10
D1 9013 Day, Hour,Min, Sec. should be written
clock (write)
simultaneously)
Real time 03(read)10
D2 9014 D7-0 Hour, D15-8 Day
clock (write)
Real time 03(read)10
D3 9015 D7-0 Month, D15-8 Year
clock (write)

For example:
Read the address 0x9013-9015
Send command :01 03 90 13 00 03 D9 0E
Analysis :
01 device ID
03 function code
90 13 the start bit of the address
00 03 the number of the address
D9 0E CRC
Receive command :01 03 06 1A 1B 18 0B 10 02 BC 2E
Analysis :
01 device ID
03 function code
06 six bytes
1A 1B 18 0B 10 02 the receiving data(1A 26(minute), 1B 27(second),18 24(day),
0B 11(hour),10 16(year),02 02(month))
B7 24 CRC
Device parameter settings

Function
Number Variable name Address Description Unit Times
code
Lower Temperature 03(read)
E1 9010 Range: -40-+10 ℃ 100
Charging Limit 10(write)
Lower Temperature 03(read)
E2 9011 Range: -40-+10 ℃ 100
Discharging Limit 10(write)
Battery upper 03(read)10
E3 9017 ℃ 100
temperature limit (write)
Battery lower 03(read)10
E4 9018 ℃ 100
temperature limit (write)
Device over 03(read)10
E5 9019 ℃ 100
temperature (write)
Device recovery 03(read)10
E6 901A ℃ 100
temperature (write)
Close after LCD backlight
03(read)10
E7 Backlight time 9063 light setting the number of S
(write)
seconds

For example
Send the data of 0x9017-0x901A
Send command :01 10 90 17 00 04 08 19 64 F0 60 21 34 1D 4C 70 10
Analysis :
01 device ID
10 function
90 17 the start bit of the address
00 04 the number of the address
08 the sending bytes
19 64 F0 60 21 34 1D 4C the sending data
70 10 CRC
Receive data:01 10 90 17 00 04 5C CE
Analysis :
01 device ID
10 function code
90 17 the start bit of the address
00 04 the number of the address
5C CE CRC

Rated parameter
Numb Function
Variable name Address Description Unit Times
er code
F1 Array rated voltage 3000 04(read) PV array rated voltage V 100

F2 Array rated current 3001 04(read) PV array rated current A 100

PV array rated power (low


F3 Array rated power L 3002 04(read) W 100
16 bits)
PV array rated power (high
F4 Array rated power H 3003 04(read) W 100
16 bits)
F5 Battery rated voltage 3004 04(read) Rated voltage to battery V 100

F6 Battery rated current 3005 04(read) Rated current to battery A 100

Rated power to battery(low


F7 Battery rated power L 3006 04(read) W 100
16 bits)
Rated power to battery(high
F8 Battery rated power H 3007 04(read) W 100
16 bits)

For example:
Read the array rated voltage
Send command :01 04 30 00 00 01 3E CA
Analysis :
01 device ID
04 function code
30 00 the start bit of the address
00 01 the number of the address
3E CA CRC
Receive command :01 04 02 17 70 B7 24
Analysis :
01 device ID
04 function code
02 two bytes
17 70 the receiving data(0x1770 (Dec), 6000,6000/100=60V)
B7 24 CRC

The other switching values


Num Addre Function
Variable name Description Unit Times
ber ss code
Charging device 1 Charging device on
G1 0 05(write)
on/off 0 Charging device off

Battery 2 1 BATT2 connected


G2 1 01(read)
connection status 0 BATT2 not connect
Battery 2 charging 1 Charged full
G3 2 05(write)
full status 0 Not charged full
Battery 2 charging 1 In charging
G5 5 05(write)
status 0 No charging
1 Turn on
Force the load
G6 6 05(write) 0 Turn off (used for temporary
on/off
test of the load)
Restore system 1 yes
G7 13 05(write)
defaults 0 no
Clear generating
1 clear. Root privileges to
G8 electricity 14 05(write)
perform
statistics

For example:
Send restore system defaults command:
Send command :01 05 00 13 FF 00 7D FF
Analysis :
01 device ID
05 function code
00 13 the address of the sending data
FF 00 the sending data(enable restore system defaults)
7D FF CRC
Receive command :01 05 00 13 FF 00 7D FF
Analysis :
01 device ID
05 function code
00 13 the address of the receiving data
FF 00 the receiving data
7D FF CRC

Device ID settings
For example:
[Link] the device ID
Send command :F8 45 00 01 01 F8 89 BE
Analysis :
F8 45 function code
00 01 the reading data length
01 the reading bytes
F8 read the device ID
89 BE CRC
Receive command :F8 45 03 82 AO
Analysis :
F8 45 function code
03 the receiving ID
82 A0 CRC

[Link] the device ID


Send command :F8 45 00 01 01 02 09 FD
Analysis :
F8 45 function code
00 01 the reading data length
01 the reading bytes
02 the sending data
09 FD CRC
Receive command :F8 45 02 43 60
Analysis :
F8 45 function code
02 the receiving data
43 60 CRC

Pin Definition
1. The RJ45 interface pin define for RS485 port of LS-B、VS-B、Tracer-B 、
Tracer-A series controllers is shown below:

Pins define:

Pins Define

1 Power supply output +5V

2 Power supply output +5V

3 RS-485-B
1 2 3 4 5 6 7 8
4 RS-485-B

5 RS-485-A

6 RS-485-A

7 Ground

8 Ground

RJ45 plug pins are sorted by number, the sketch map is as shown above:
2. The interface pin definition for RS485 port of DuoRacer series controllers is

shown below:

Note:

(1)To improve the communication quality, the Ground pins(connected with the

negative terminal of the battery) could be used if necessary. However, the user must

care the common ground problem of the connected devices.

(2)Do not use the Vcc pins (+5v), or the controller may be damaged permanently.

You might also like