Morningstar TriStar TS-MPPT-60-600V-48-DB - Solaris
TriStar 600V MPPT
MODBUS® Specification
V01
14 November 2013
Morningstar Corporation
8 Pheasant Run
Newtown, PA 18940
www.morningstarcorp.com
info@morningstarcorp.com
General Information
The TriStar MPPT 600V supports the industry standard MODBUS® application protocol via its serial RS-232
and EIA-485 interfaces and MODBUS TCP via the Ethernet port. This document assumes the user is familiar
with both MODBUS® protocols. Please refer to the documents listed in the References section for more
information.
MODBUS® is a registered trademark of Modbus-IDA (www.modbus-ida.org)
Parameters
The TriStar MPPT 600V supports RTU mode only.
16-bit MODBUS addresses (per the modbus.org spec)
The serial communication parameters:
 BPS
9600 baud
 Parity
None
 Data bits
8
 Stop bits
1 or 2*
 Flow control
None
*The TriStar accepts either 1 or 2 stop bits. It will send 2 stop bits to provide extra byte padding. The
connected PC can be set to receive either 1 or 2 stop bits.
The default TCP communication parameters:
DHCP
enabled
Port
502
MODBUS ID
1
NETBIOS address
tsmppt600v + serial number (no spaces)
LiveView Web address
http://tsmppt600vXXXXXXX (where X is the serial number)
If DHCP fails, the following default parameters will be assigned:
IP
192.168.1.253
Gateway
192.168.1.1
Primary DNS
192.168.1.1
Secondary DNS
192.168.1.1
Subnet Mask
255.255.255.0
Note: the TCP socket is closed by the TS-MPPT after each MODBUS response (change pending)
All addresses listed are for the request PDU.
TriStar 600V MPPT MODBUS Document
v01
Supported MODBUS Functions
Read Holding Registers (0x03) and Read Input Registers (0x04)
RAM
PDU
Addr
Logical
Addr
0x0000
0x0001
0x0002
0x0003
0x0004
0x0005
0x0006 –
0x0017
1
2
3
4
5
6
Variable name
Variable description
V_PU hi
V_PU lo
I_PU hi
I_PU lo
ver_sw
ver_fpga
Scaling Values
Voltage scaling, whole term
Voltage scaling, fractional term
Current scaling, whole term
Current scaling, fractional term
Software Version
FPGA Version
7-24
Units
Signed
V
A
-
Scaling or Range
-
RESERVED
0x0018
0x0019
25
26
adc_vb_f_med
adc_vbterm_f
0x001A
27
adc_vbs_f
0x001B
0x001C
0x001D
0x001E
0x001F
0x0020
0x0021
0x0022
28
29
30
31
32
33
34
35
adc_va_f_shadow
adc_ib_f_shadow
adc_ia_f_shadow
adc_p12_f
adc_p3_f
adc_pmeter_f
adc_p12ext_f
adc_fp12_f
0x0023
0x0024
0x0025
36
37
38
T_hs
T_rts
T_batt
0x0026
0x0027
0x0028
0x0029
0x002A
0x002B
0x002C
0x002D
0x002E
0x002F
0x0030
0x0031
39
40
41
42
43
44
45
46
47
48
49
50
adc_vb_f_1m
adc_ib_f_1m
vb_min
vb_max
hourmeter_hi
hourmeter_lo
fault_i_h
fault_i_l
alarm_i_h
alarm_i_l
powerboard_status_dipsw
led_state
0x0032
0x0033
0x0034
51
52
53
mb_charge_state
vb_ref
Ahc_r_hi
http://www.morningstarcorp.com
Filtered ADC
Battery voltage, filtered (τ ≈ ?s)
Batt. Terminal voltage, filtered (τ ≈
?s)
Battery Sense voltage, filtered (τ ≈
?s)
Array voltage, filtered (τ ≈ ?s)
Battery current, filtered (τ ≈ ?s)
Array current, filtered (τ ≈ ?s)
12 volt supply, filtered (τ ≈ ?s)
3 volt supply, filtered (τ ≈ ?s)
MeterBus voltage, filtered (τ ≈ ?s)
External 12V supply,filtered(τ ≈ s)
?????
Temperatures
Heatsink temperature
RTS temperature (0x80 = disconnect)
Battery regulation temperature
Status
Battery voltage, filtered (τ ≈ 1min)
Charging current, filtered (τ ≈ 1min)
Minimum battery voltage
Maximum battery voltage
hourmeter, HI word
hourmeter, LO word
Controller faults bit-field - HI
Controller faults bit-field - LOW
Alarm bit-field – HI word
Alarm bit-field – LO word
DIP switch positions bit-field
State of LED indications
Charger
Charging stage
Target regulation voltage
Ah charge – resettable
3/27
V
V
√
√
n·V_PU·2-15
n·V_PU·2-15
V
√
n·V_PU·2-15
V
A
A
V
V
V
V
V
√
√
√
√
√
√
√
√
n·V_PU·2-15
n·I_PU·2-15
n·I_PU·2-15
n·18.612·2-15
6.6·2-15
n·18.612·2-15
n·3·2-15
n·3·2-15
C
C
C
√
√
√
-127 to +127
-127 to +127
-127 to +127
V
A
V
V
h
h
-
√
√
√
√
n·V_PU·2-15
n·I_PU·2-15
n·V_PU·2-15
n·V_PU·2-15
-
V
Ah
√
n·V_PU·2-15
n·0.1
14 Nov 2013
TriStar 600V MPPT MODBUS Document
0x0035
0x0036
0x0037
0x0038
0x0039
54
55
56
57
58
Ahc_r _lo
Ahc_t_hi
Ahc_t_lo
kwhc_r
kwhc_t
0x003A
0x003B
0x003C
0x003D
0x003E
0x003F
59
60
61
62
63
64
mb_power_out
mb_power_in
sweep_Pin_max
sweep_vmp
sweep_voc
0x0040
0x0041
0x0042
0x0043
0x0044
0x0045
0x0046
0x0047
0x0048
0x0049
0x004A
0x004B
0x004C
0x004D
0x004E
0x004F
0x00500x0058
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
vb_min_daily
vb_max_daily
va_max_daily
Ahc_daily
Whc_daily
flags_daily
Pout_max_daily
Tb_min_daily
Tb_max_daily
fault_daily_i_h
fault_daily_i_l
alarm_daily_i_h
alarm_daily_i._l
time_ab_daily
time_eq_daily
time_fl_daily
0x0059
0x005A
0x005B
0x1000 –
0x100E
0x100F
0x1010
0x1011
0x1012
0x1013
0x1014
0x1015
0x1016
0x1017
0x1018
0x10190x101C
0x101D–
0x1024
0x1025
v01
Ah charge – total
kWhr charge resettable
kWhr charge total
MPPT
Output Power
Input Power
Max. Power of last sweep
Vmp of last sweep
Voc of last sweep
RESERVED
Logger – Daily Values
Min. daily battery voltage
Max. daily battery voltage
Max. daily input voltage
Total Ah charge daily
Total Wh charge daily
Daily flags bit-field
Max. Power Out, daily
Min. battery temp. daily
Max. battery temp. daily
Faults, daily
Faults, daily
Daily alarms bit-field
Daily alarms bit-field
Cumulative time in absorption, daily
Cumulative time in equalize, daily
Cumulative time in float, daily
81-89
90
91
92
Ah
kWh
kWh
W
W
W
V
V
n·0.1
√
√
V
V
V
Ah
Wh
W
C
C
s
s
s
√
√
√
V
V
%
√
√
√
√
n·V_PU·I_PU·2-17
n·V_PU·I_PU·2-17
n·V_PU·I_PU·2-17
n·V_PU·2-15
n·V_PU·2-15
n·V_PU·2-15
n·V_PU·2-15
n·V_PU·2-15
n·0.1
n·V_PU·I_PU·2-17
-127 to +127
-127 to +127
RESERVED
vb_ref_slave
va_ref_fixed
va_ref_fixed_pct
Manual Control
battery voltage regulation override
Array V fixed voltage target
Array V % of Voc voltage target
Active TCP Network Settings
n·V_PU·2-15
n·V_PU·2-15
n·100·2-16
RESERVED
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
IPAddrByte [1][0]
IPAddrByte [3][2]
SubNetMask [1][0]
SubNetMask [3][2]
Gateway [1][0]
Gateway [3][2]
PrimaryDNS [1][0]
PrimaryDNS [3][2]
SecondaryDNS [1][0]
SecondaryDNS [3][2]
IP Address Bytes
IP Address Bytes
Subnet Mask Bytes
Subnet Mask Bytes
Gateway Bytes
Gateway Bytes
PrimaryDNS Bytes
PrimaryDNS Bytes
SecondaryDNS Bytes
SecondaryDNS Bytes
-
RESERVED
4125 4132
4133
ControllerID
NetFlags
http://www.morningstarcorp.com
String of 16 bytes, 00 terminates
string
0x4000=DHCP Enabled, 0x0=DHCP
disabled
4/27
-
ASCII
-
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
0x1026
4134
MACAddress[1],[0]
MAC Address Bytes
-
0x1027
0x1028
0x1029–
0x1030
4135
4136
4137 4144
MACAddress[3],[2]
MACAddress[5],[4]
NetBIOS Name
MAC Address Bytes
MAC Address Bytes
String of 16 bytes, 00 terminates
string
-
ASCII
EEPROM
PDU
Addr
Logical
Addr
Variable name
0x151B
0x151C
0x151D
0x151E
0x151F
0x1520
5404
5405
5406
5407
5408
5409
0x1521
5410
HTTPPort
MBIPPort
NetRules
SNMPTrapRecPort
Ethernet Power Save Mode
BETA 8.21
VLAN Enable
BETA 8.21
VLAN Parameters
0x1522 –
0x1528
0x152B –
0x1534
…
0xE000
0xE001
57345
57346
EV_absorp
EV_float
0xE002
0xE003
0xE004
57347
57348
57349
Et_absorp
Et_absorp_ext
EV_absorp_ext
0xE005
0xE006
0xE007
57350
57351
57352
EV_float_cancel
Et_float_exit_cum
EV_eq
0xE008
0xE009
0xE00A
0xE00B
0xE00C
0xE00D
57353
57354
57355
57356
57357
57558
Et_eqcalendar
Et_eq_above
Et_eq_reg
Et_batt_service
0xE00E
0xE00F
0xE010
0xE011
0xE012
0xE013
57359
57360
57361
57362
57363
57364
EV_hvd
EV_hvr
Evb_ref_lim
ETb_max
ETb_min
Variable description
TCP Network Settings
HTTP Port Number
MODBUS IP Port Number
BIT0: IP Bridging Enabled
SNMP Trap Destination NMS Port
Bit0: Power Save On=1
Bit0: Vlan Tagging
regognition/sending = 1
Bit 0-11 VID 0-4094, 4095
reserved,
Bit 12 CFI (usually 0)
Bits 15-13 PCP Priority 0-7
Units
Signed
-
Scaling or Range
1 to 65535
1 to 65535
0 or 1
1 to 65535
RESERVED
…
RESERVED
EV_tempcomp
http://www.morningstarcorp.com
Charge settings
Absorption voltage @ 25ºC
Float voltage @ 25ºC
Set to zero to disable float
absorption time
absorption extension time
absorp. Extension threshold
voltage
Voltage that cancels float
Exit float timer
Equalize V @ 25ºC Set 0 to
disable
days between eq cycles
equalize time limit above Vreg
equalize time limit at Veq
battery service timer
RESERVED
temp. compensation coefficient
Note:2^-16 scaling, negative
assumed
Battery High Voltage Disconnect
Battery High Voltage Reconnect
battery charge reference limit
max. temp comp limit
min. temp comp limit
RESERVED
5/27
V
V
s
s
V
V
s
V
√
√
n·V_PU·2-15
n·V_PU·2-15
√
0-(216-1)
0-(216-1)
n·V_PU·2-15
√
√
days
s
s
days
0-255
0-(216-1)
0-(216-1)
n·V_PU·2-16
V
V
V
V
C
C
n·V_PU·2-15
0-(216-1)
n·V_PU·2-15
√
√
√
√
√
n·V_PU·2-15
n·V_PU·2-15
n·V_PU·2-15
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
0xE014
0xE015
57365
57366
EV_soc_g_gy
0xE016
57367
EV_soc_gy_y
0xE017
0xE018
0xE019
0xE01A
0xE01B
0xE01C
0xE01D
0xE01E
0xE01F
0xE020
0xE021
57368
57369
57370
57371
EV_soc_y_yr
EV_soc_yr_r
Emodbus_id
Emeterbus_id
57374
EIb_lim
57377
57378
EVa_ref_fixed_init
EVa_ref_fixed_pct_init
0xE080
0xE081
0xE082
0xE083
0xE084
0xE085
0xE086
0xE087
0xE088
0xE089
0xE08A
0xE08B
0xE08C
…
0xE0C0–
0xE0C3
0xE0CC
0xE0CD
57473
57474
57475
57476
57477
57478
57479
57480
57481
57482
57483
57484
57485
Ehourmeter_LO
Ehourmeter_HI
EAhc_r_LO
EAhc_r_HI
EAhc_t_LO
EAhc_t_HI
EkWhc_r
EkWhc_t
EVb_min
EVb_max
EVa_max
Etmr_eqcalendar
Etmr_batt_service
57537 –
57540
57548
57549
Eserial
kWh charge resetable
kWh charge total
Vb minimum
Vb maximum
Va maximum
days since last equalize
battery service timer
RESERVED
Serial Number
Emodel
Ehw_version
Model: 0 = 48V, 1=120V version
Hardware version, vMajor.Minor
http://www.morningstarcorp.com
RESERVED
LED threshold: green to
green/yellow
LED threshold: green/yellow to
yellow
LED threshold: yel to yel/red
LED threshold: yellow/red to red
MODBUS slave address
MeterBus address
RESERVED
RESERVED
Battery Current Limit
RESERVED
RESERVED
Array V fixed target voltage
Array V fixed target V (% of Voc)
Read only section
hourmeter
Ah charge resetable
Ah charge total
6/27
V
√
n·V_PU·2-15
V
√
n·V_PU·2-15
V
V
-
√
√
n·V_PU·2-15
n·V_PU·2-15
1-247
1-15
A
√
n·I_PU·2-15
V
%
√
n·V_PU·2-15
n·100·2-16
0 to (224-1)
h
Ah
Ah
kWh
kWh
V
V
V
days
days
n·0.1
n·0.1
√
√
√
n·V_PU·2-15
n·V_PU·2-15
n·V_PU·2-15
-
0 or 1
none
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Read Coils (0x01), Read Discrete Inputs (0x02), Write Single Coil (0x05)
PDU
Addr
0x0000
0x0001
0x0002
…
0x0010
0x0011
0x0012
0x0013
0x0014
0x0015
0x0016
0x0017
0x0018
0x0019
…
0x00F0
…
0x00FF
0x1000
0x1001
0x1002
0x1003
0x10FF
Logical
Addr
1
2
3
4-16
17
18
19
20
21
22
23
24
25
26
27-240
241
242-255
256
4096
4097
4098
4099
4351
Variable description
Equalize triggered
reserved
Charge disconnect (1 will force charger into a disconnect state)
reserved
Clear Ah resettable (set only, will always read 0)
Clear Ah total (set only, will always read 0)
Clear kWh 7esettable (set only, will always read 0)
Reset battery service calendar
Clear faults
Clear Alarms
Force EEPROM update (set only, will always read 0)
reserved
Clear kWh total (set only, will always read 0)
Clear Vb_min and Vb_max (set only, will always read 0)
reserved
test a single phase (test mode only)
reserved
Reset control (respond and then reset?)
Send Test Notification 1
Send Test Notification 2
Send Test Notification 3
Send Test Notification 4
Reset Communications Server
Write Single Register (0x06)
Any write to EEPROM will set an “EEPROM changed” fault. The control must be reset to clear this fault.
Note: No verify is performed on the write.
See EEPROM table in Read Input Registers(0x04).
Read Device Identification (0x2B, subcode 0x0E)
Only supports “basic device identification (stream access)” (ID code 0x01)
Object Id Object Name/Description
Typical Value
0x00
VendorName
“Morningstar Corp.”
0x01
Product Code
“TS-MPPT-60-600V-48”
0x02
MajorMinorRevision
“v01.01.01”
(hardware major.minor. software revision)
http://www.morningstarcorp.com
7/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Variables and Definitions
Variable_name
[Logical Address][PDU Address] (Units). Short description.
Definition.
Read Holding and Read Input Registers
Located in processor RAM, updated continuously.
V_PU hi, V_PU lo
[1,2][0x0000, 0x0001] (V). voltage scaling.
The scaling value for all voltages. The scaling value is defined as:
Vscaling = whole.fraction = [V_PU hi].[V_PU lo]
Example:
V_PU hi = 0x004E = 78
V_PU lo = 0x03A6 = 934
V_PU lo must be shifted by 16 (divided by 2^16) and then added to V_PU hi
Vscaling = 78 + 934/(2^16) = 78.01425
I_PU hi, I_PU lo
[3,4][0x0002, 0x0003] (V). current scaling.
The scaling value for all currents. The scaling value is defined as:
Iscaling = whole.fraction = [I_PU hi].[I_PU lo]
See the V_PU scaling example above
ver_sw
[5][0x0004] (). Software version.
Firmware version for the controller. The value is stored in binary coded decimal (BCD) format.
Decimal version 12 is thus stored as 0x0012 not as 0x000c.
ver_fpga
[5][0x0005] (). FPGA version.
Firmware version for the FPGA chip. The value is stored in binary coded decimal (BCD) format.
Decimal version 12 is thus stored as 0x0012 not as 0x000c.
http://www.morningstarcorp.com
8/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Filtered ADC
Vb
[25][0x0018] (V). battery voltage, filtered.
Battery voltage used for regulation by the TS-MPPT. This voltage will be the same as the Battery Sense
voltage if the sense connections are connected and valid. Otherwise, this value is the same as Vb_term
voltage.
Vb_term
[26][0x0019] (V). battery terminal voltage, filtered.
Voltage measured directly at the battery power connections on the TriStar MPPT.
Vb_sense
[27][0x001A] (V). battery sense voltage, filtered.
Voltage measured by the Battery Sense connections on the TriStar MPPT.
Va
[28][0x001B] (V). solar input voltage, filtered.
Va is the terminal voltage of the solar input connection.
Ib
[29][0x001C] (A). battery charge current, filtered.
Charging current to the battery as measured by on-board shunts.
Ia
[30][0x001D] (A). solar input current, filtered.
Input current from the solar array.
Vp12
[31][0x001E] (V). 12 volt supply, filtered.
12 Volt power supply voltage.
Vp3
[32][0x001F] (V). 3 volt supply, filtered.
3 Volt power supply voltage.
http://www.morningstarcorp.com
9/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Vmeter
[33][0x0020] (V). MeterBus supply voltage, filtered.
MeterBus power supply voltage.
Vp12_external
[34][0x0021] (V). 12 volt external supply, filtered.
12 Volt external power supply voltage.
V_ref
[35][0x0022] (V). ADC reference voltage, filtered.
Voltage reference for ADC converters.
Temperatures
T_hs
[36][0x0023] (C). Heatsink Temperature.
Sunsaver MPPT Heatsink temperature. Reported in degrees C.
T_rts
[37][0x0024] (C). RTS Temperature.
Temperature as measured by the optional Remote Temperature Sensor (RTS). Reported in degrees C.
T_batt
[38][0x0025] (C). Battery Temperature.
Battery temperature as measured by the ambient temperature sensor or the optional RTS (if connected).
Reported in degrees C.
Status
Vb_slow
[39][0x0026] (V). battery voltage, slow filtered (τ ≈ 1min) .
Heavily filtered battery voltage reading. Ideal for use in threshold alarms.
http://www.morningstarcorp.com
10/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Ib_slow
[40][0x0027] (A). battery charge current, slow filtered (τ ≈ 1min) .
Heavily filtered charging current value.
Vb_min
[41][0x0028] (V). minimum battery voltage.
Long-term minimum battery voltage. Resets when Ah (resettable) is reset.
Vb_max
[42][0x0029] (V). maximum battery voltage .
Long-term maximum battery voltage. Resets when Ah (resettable) is reset.
hourmeter_HI / hourmeter_LO
[43, 44][0x002A, 0x002B] (hrs). Hour meter counter.
Reports total hours of operation.
Faults
[45, 46][0x002C, 0x002D] (bit-fields). TS-MPPT self-diagnostic faults.
Reports faults identified by self-diagnostics. Each bit corresponds to a specific fault.
Faults Table
Bit
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Fault
Over-current
FET short
Software bug
Battery HVD
Array HVD
DIP switch changed
Custom Settings Edit
RTS shorted
RTS disconnected
EEPROM re-try limit
Controller Reset
Charge Slave Control Time-out
RS-232 Serial to Meter Bridge
Battery LVD
Fault 15 (undefined)
Power-board communication fault
Fault 17 (software)
Fault 18 (software)
Fault 19 (software)
Fault 20 (software)
Fault 21 (software)
http://www.morningstarcorp.com
11/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Faults Table (Cont.)
Fault
Fault 22 (software)
FPGA Version
Current sensor reference out of range
Ia_ref Slave Mode Timeout
Fault 26 (undefined)
Fault 27 (undefined)
Fault 28 (undefined)
Fault 29 (undefined)
Fault 30 (undefined)
Fault 31 (undefined)
Fault 32 (undefined)
Bit
21
22
23
24
25
26
27
28
29
30
31
Example:
Bit 0 is the LSB
Faults = 0x0013 indicates the following faults have been detected:
[bit 0] over-current
[bit 1] MOSFETs shorted
[bit 4] array HVD
alarm_HI / alarm_LO
[47,48][0x002E, 0x002F] (bit-fields). Controller self-diagnostics alarms.
Reports alarms identified by self-diagnostics. Each bit corresponds to a specific alarm.
Alarms Table
Bit
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Alarm
RTS open
RTS shorted
RTS disconnected
Heatsink temp sensor open
Heatsink temp sensor shorted
High temperature current limit
Current limit
Current offset
Battery sense out of range
Battery sense disconnected
Uncalibrated
RTS mis-wire
High voltage disconnect
Undefined
System mis-wire
MOSFET(s) open
P12 voltage out of range
High array voltage current limit
Maximum ADC input value reached
Controller was reset
http://www.morningstarcorp.com
12/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Alarms Table (Cont.)
Bit
20
21
22
23
24
25
26
27
28
29
30
31
Alarm
Alarm 21 (internal)
P3 voltage out of range
De-rate limit
Array current offset
Alarm 25 (internal)
Ethernet alarm
LVD
Alarm 28 (software)
Alarm 29 (undefined)
Alarm 30 (undefined)
Alarm 31 (undefined)
Alarm 32 (undefined)
dip_switch
[49][0x0030] (bit-field). switch settting positions.
Each bit in the bit-field corresponds to an individual DIP switch setting. Useful for remote applications
where access to the TriStar MPPT to verify DIP positions is not feasible. Bit 0 (LSB) corresponds to
settings switch 1.
LED_state
[50][0x0031] (value).
Reports the LED state.
Value
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
LED State
LED_START
LED_START2
LED_BRANCH
FAST GREEN BLINK
SLOW GREEN BLINK
GREEN BLINK, 1HZ
GREEN_LED
GREEN-YELLOW_LED
YELLOW_LED
YELLOW-RED_LED
Not used
RED_LED
R-Y-G Sequencing ERROR
(R+Y) -G Sequencing ERROR
Not used
Not used
R-G Sequencing ERROR
(R+Y) – (G+Y) Sequencing ERROR
G+Y+R Flashing ERROR
(G+Y+R) Flashing 2 times
http://www.morningstarcorp.com
13/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Charger
Charge_state
[51][0x0032] (value ). Charge state.
Reports the charge state.
Value
0
1
2
3
4
5
6
7
8
9
10
Charge State
START
NIGHT_CHECK
DISCONNECT
NIGHT
FAULT
MPPT
ABSORPTION
FLOAT
EQUALIZE
SLAVE
FIXED
Vb_target
[52][0x0033] (V). Target Voltage.
Voltage to which the battery will be charged at any given time. This value changes with each charge
stage and is temperature compensated.
Ahc_r_HI / Ahc_r_LO
[53, 54][0x0034, 0x0035] (ah). Charge amp-hours (resettable counter).
Reports solar amp-hours since last ah reset.
Ahc_t_HI / Ahc_t_LO
[55, 56][0x0036, 0x0037] (ah). Charge amp-hours (Total cumulative counter).
Reports total solar amp-hours since last total ah reset.
kWhc_r
[57][0x0038] (kWh).Charge kilowatt-hours (resettable counter).
Reports solar kilowatt-hours since last kWh reset.
kWhc_t
[58][ 0x0039] (kWh).Charge kilowatt-hours (total counter).
Reports total solar kilowatt-hours.
http://www.morningstarcorp.com
14/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
MPPT
Power_out
[59][0x003A] (W). Charge output power.
Output power to the battery.
Power_in
[60][0x003B] (W). Array input power.
Input power from the solar array. Input current is not measured by precision shunts, therefore the
reported input power may have significant error.
Sweep_Pmax
[61][0x003C] (W). Maximum array power.
Maximum power output of the solar array found during last sweep.
Sweep_Vmp
[62][0x003D] (V). Solar array Vmp.
Maximum power voltage of the solar array found during last sweep.
Sweep_Voc
[63][0x003E] (V). Solar array Voc.
Open circuit voltage of the solar array found during last sweep.
Logger
Vb_min_daily
[65][0x0040] (V). Today’s minimum battery voltage.
Minimum battery voltage measured today. This value is stored in the daily record at the end of each
charging day. A new daily record is created X hours after NIGHT state.
Vb_max_daily
[66][0x0041] (V). Today’s maximum battery voltage.
Maximum battery voltage measured today. This value is stored in the daily record at the end of each
charging day. A new daily record is created X hours after NIGHT state.
http://www.morningstarcorp.com
15/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Va_max_daily
[67][0x0042] (V). Today’s maximum array voltage.
Maximum array voltage measured today. This value is stored in the daily record at the end of each
charging day. A new daily record is created X hours after NIGHT state.
Ahc _daily
[68][0x0043] (Ah). Today’s total charge amp-hours.
Total charging amp-hours accumulated today. This value is stored in the daily record at the end of each
charging day. A new daily record is created X hours after NIGHT state.
Whc _daily
[69][0x0044] (Wh). Today’s total charge watt-hours.
Total watt-hours accumulated today. This value is stored in the daily record at the end of each charging
day. A new daily record is created at dawn the next day. Reports increments of 10 Whrs.
flags_daily
[70][0x0045] (bit-field). Today’s event flags (sticky).
Reports daily flags, as defined below, that occurred today.
Bit
0 (LSB)
1
2
3
4
5
6
7
Flag
Reset detected
Equalize triggered
Float entered
an alarm occurred
a fault occurred
Flag 5 (undefined)
Flag 6 (undefined)
Flag 7 (undefined)
Pout_max_daily
[71][0x0046] (bit-field). Maximum power out today.
Reports maximum power delivered to the battery today.
Tb_min_daily
[72][0x0047] (bit-field). Today’s minimum battery temperature.
Reports the lowest battery temperature that occurred today.
http://www.morningstarcorp.com
16/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Tb_max_daily
[73][0x0048] (bit-field). Today’s maximum battery temperature.
Reports the highest battery temperature that occurred today.
fault_daily
[74, 75][0x0049, 0x004A] (bit-fields). Today’s self-diagnostic faults (sticky).
Reports faults identified by self-diagnostics that occurred today. Each bit corresponds to a specific fault.
If a bit is set, that fault occurred at least once today. Bit order is identical to the fault bit-field.
alarm_HI_Daily / alarm_LO_Daily
[76, 77][0x004B, 0x004C] (bit-fields). Today’s controller self-diagnostics alarms (sticky).
Reports alarms identified by self diagnostics that occurred today. Each bit corresponds to a specific
alarm. If a bit is set, that alarm occurred at least once today. Bit order is identical to the
alarm_hi/alarm_lo bit-field.
time_ab_daily
[78][0x004D] (s). Cumulative time in Absorption today.
Reports the cumulative number of seconds the battery has been in the Absorption charge stage today.
Counter resets at night.
time_eq_daily
[79][0x004E] (s). Cumulative time in Equalization today.
Reports the cumulative number of seconds the battery has been in the Equalization charge stage today.
Counter resets at night.
time_fl_daily
[80][0x004F] (s). Cumulative time in Float today.
Reports the cumulative number of seconds the battery has been in the Float charge stage today. Counter
resets at night.
Vb_ref_slave
[90][0x0059] (V). Battery regulation override
Write a voltage value to this register to override the battery regulation. This allows for system control of
1 or more controllers via Modbus. Writing a non-zero value to this register forces the controller into
“slave” state. The register value must be updated every 60 seconds or less, else the controller will fault.
Writing to the register after a timeout will exit fault state and resume operation.
http://www.morningstarcorp.com
17/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Va_ref_fixed
[91][0x005A] (V). Array voltage fixed target
Write a voltage value to this register to fix the Array input voltage to a specific value. If this register is a
non-zero value, the MPPT function of the controller will stop (sweeping and tracking are disabled) and
the array input will be fixed to the specified voltage. This value can be written at anytime during
operation to adjust the array voltage target value. On start-up, this value is initialized with the nonvolatile EEPROM value in register 0xE020.
Supported in processor A - V09 firmware and later.
Va_ref_fixed_pct
[92][0x005B] (%). Array voltage percent of Voc voltage target
Write a value to this register to fix the Array input voltage to a percent of the Array open circuit voltage.
If this register is a non-zero value, the MPPT function of the controller will stop (sweeping and tracking
are disabled) and the array target voltage will be fixed to the specified % of array Voc. The controller
will perform periodic Voc checks and move the array voltage if needed to maintain the correct % target.
If this register value is changed, the array voltage will not adjust until the next Voc check.
On start-up, this value is initialized with the non-volatile EEPROM value in register 0xE021.
Supported in processor A - V09 firmware and later.
Note: if the Va_ref_fixed (0x005A) register is non-zero, it will override this setting.
http://www.morningstarcorp.com
18/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
EEPROM
TCP Network Settings
HTTPPort
[5404][0x151B](). HTTP port number
Port number assigned to the web server. Port 80 default.
MBIPPort
[5405][0x151C](). MODBUS IP port number
Port number used for MODBUS IP requests to the controller. Port 502 default.
NetRules
[5406][0x151D](). Enable / Disable IP bridging to EIA-485
Set the register bit 0 = 1 to enable bridging of MODBUS requests via Ethernet to the EIA-485 port. If
this bit is set, any MODBUS requests received through Ethernet that are not addressed to the controller
will be sent out to the EIA-485 port for other devices to receive/respond. All other bits reserved for
future use.
Note: all requests, read and write, will be bridged to the EIA-485 network!
SNMPTrapRecPort
[5407][0x151E](). Trap receive port
Port number on which to broadcast a SNMP message. Port 162 default.
Ethernet Power Save Mode
[5408][0x151F](). “Green Ethernet” feature on/off
Set bit 0 = 1 to turn on the Green Ethernet feature. When on, the Ethernet port will power down unless
an Ethernet connection is detected. The controller will check periodically for an established connection.
Conserves power in systems with no Ethernet connection. Off by default.
http://www.morningstarcorp.com
19/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Charge Settings
EV_absorp
[57345][0xE000](V). Absorption voltage @ 25ºC.
The battery will charge at 100% charge current until battery voltage reaches this set-point. The
controller will begin to taper input current so that this set-point is maintained, but not exceeded.
EV_float
[57346][0xE001](V). Float voltage @ 25ºC
After Et_float seconds in absorption, when the battery is fully charged, the battery will transition to this
lower voltage charge setting to reduce gassing.
Set to zero to disable float stage
Et_absorp
[57347][0xE002](seconds). Time before entering float
Defines the length of time in Absorption charge stage before transitioning to Float stage.
Et_absorp_ext
[57348][0xE003](seconds). Time before entering float due to low battery
If the battery voltage discharges too low during the previous night, this value allows the user to specify a
longer period of time before entering float stage.
EV_absorp_ext
[57349][0xE004](V). Voltage that triggers absorption extension time
Battery voltage that will trigger a longer period of time (Et_absorp_ext) before entering float.
EV_float_cancel
[57350][0xE005](V). Battery voltage threshold to cancel float
A battery voltage threshold that will cancel float on the next charge cycle. If the battery discharged too
low the previous night, the user may want to cancel float for the next day.
Et_float_exit_cum
[57351][0xE006](seconds). Exit float timer
Specify (cumulative) amount of time below float voltage before exiting the float stage. Battery voltage
may drop below the target float voltage due to insufficient charge current or a system load draws more
current from the battery than the array can provide.
EV_eq
[57352][0xE007](V). Equalize voltage @ 25ºC
Battery equalize voltage. Periodically equalizes cell voltages, gases the electrolyte, and helps prevent
sulfation of the battery.
Set to zero to disable equalization
http://www.morningstarcorp.com
20/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Et_eqcalendar
[57353][0xE008](days). Days between EQ cycles
Specify the number of days between equalizations. Equalizing on a calendar basis ensures proper
maintenance of batteries.
Et_eq_above
[57354][0xE009](seconds). Equalize time limit above Vreg.
Equalization will timeout after the specified number of seconds above PWM regulation voltage. If the
battery is charged above absorption voltage but has not yet reached the equalization setting, this value
serves as a safety timeout to prevent partial equalizations for extended periods of time.
Et_eq_reg
[57355][0xE00A](seconds). Equalize time limit at Veq
Equalization will stop after the specified number of seconds at the equalization set-point voltage.
Et_batt_service
[57356][0xE00B](days). Battery service reminder
Specifies the number of days between battery service reminders. Sets an alarm, prompting the user to
check batteries for water, health, etc. Clear the alarm with the push-button, meter, or MODBUS alarm
reset command.
EV_tempcomp
[57358][0xE00D](V/C). Temperature compensation.
Battery chemistry changes with temperature. Temperature compensation coefficient specifies the
amount that regulation voltage will be shifted with temperature. 25ºC reference, the negative is implied
(write a positive value). 12V lead-acid battery temperature compensation is approximately 0.03 V/C
EV_hvd
[57359][0xE00E](V). High Voltage Disconnect @ 25ºC
Flag a fault/alarm if the battery voltage exceeds this set-point. Also attempts to open the MOSFETs to
stop charging. Set to zero to disable HVD
EV_hvr
[57360][0xE00F](V) High Voltage Reconnect
The HVD fault/alarm will be cleared once the battery voltage drops below this set-point.
Evb_ref_lim
[57361][0xE010](V) Maximum regulation limit
An absolute limit on the battery regulation voltage. This is not a temperature compensated value.
Protects high voltage sensitive system loads. Set to zero to disable.
http://www.morningstarcorp.com
21/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
ETb_max
[57362][0xE011](C). Maximum temperature compensation limit
Maximum temperature to clamp temperature compensation.
ETb_min
[57363][0xE012](C). Minimum temperature compensation limit
Maximum temperature to clamp temperature compensation.
EV_soc_g_gy
[57366][0xE015](V). green to green/yellow limit
LED transition set-point. Specifies the battery voltage at which the LED state will change from Green to
Green/Yellow.
EV_soc_gy_y
[57367][0xE016](V). LED Green/Yellow to Yellow limit
LED transition set-point. Specifies the battery threshold voltage at which the LEDs will change from
green/yellow to yellow indication.
EV_soc_y_yr
[57368][0xE017](V). LED Yellow to Yellow/Red limit
LED transition set-point. Specifies the battery threshold voltage at which the LEDs will change from
Yellow to Yellow/Red indication.
EV_soc_yr_r
[57369][0xE018](V). LED Yellow/Red to Red limit
LED transition set-point. Specifies the battery threshold voltage at which the LEDs will change from
Yellow/Red to Red indication.
Emodbus _id
[57370][0xE019](value). MODBUS ID
MODBUS address which uniquely identifies the controller on the MODBUS network.
Emeter _id
[57371][0xE01A](value). MeterBus ID. Address which uniquely identifies the controller on the
Morningstar proprietary Meter Bus network. Devices are daisy-chained on the Meter Bus network via
the RJ-11 connections. Addresses are limited to the range of 1-15
http://www.morningstarcorp.com
22/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
EIb_lim
[57374][0xE01D](A). Battery Current Limit
Set to a non-zero value to limit the maximum battery current. Set to zero to use the default 60 Amp
current limit.
EVa_ref_fixed_init
[57377][0xE020](V). Array Voltage fixed target - initialize
Write a voltage value to this register to fix the Array input voltage to a specific value. If this register is a
non-zero value, the MPPT function of the controller will be disabled (sweeping and tracking are
disabled) and the array input will be fixed to the specified voltage. On start-up, the value in this register
is copied to the volatile RAM register 0x005A, which allows for real-time control of Va.
EVa_ref_fixed_pct_init
[57378][0xE021](%). Array Voltage percent of Voc voltage target - initialize
Write a value to this register to fix the Array input voltage to a percentage of the Array open-circuit
voltage. If this register is a non-zero value, the MPPT function of the controller will be disabled
(sweeping and tracking are disabled) and the array target voltage will be fixed to the specified % of
array Voc. The controller will perform periodic Voc checks and move the array voltage if needed to
maintain the correct % target. On start-up, the value in this register is copied to the volatile RAM
register 0x005B, which allows for real-time control of Va.
Note: if the Va_ref_fixed_init (0xE021) register is non-zero, it will override this setting.
http://www.morningstarcorp.com
23/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Read-Only Variables
Ehourmeter_LO / Ehourmeter_HI
[57473,57474][0xE080,0xE081](hours). Hourmeter
Cumulative hours the controller has been running. Non-volatile, written every 24hrs.
EAhc_r_LO / EAhc_r_HI
[57475,57476][0xE082,0xE083](amp-hours). Charge resettable Ah
Cumulative amp-hours typically used for short-term logging. Resettable.
EAhc_t_LO / EAhc_t_HI
[57477,57478][0xE084,0xE085](amp-hours). Charge total Ah
Cumulative amp-hours for long term logging. Can be reset if necessary.
EkWhc_r
[57479][0xE086](kWh). Energy kilowatt-hours resettable
Cumulative charging kilowatt-hours. Resettable counter.
EkWhc_t
[57480][0xE087](kWh). Energy kilowatt-hours total
Cumulative charging kilowatt-hours. Total counter.
EVb_min
[57481][0xE088](V). Minimum battery voltage
Minimum battery voltage over last 24 hours. Written once every 24 hrs.
EVb_max
[57482][0xE089](V). Maximum battery voltage
Maximum battery voltage over last 24 hours. Written once every 24 hrs.
EVa_max
[57483][0xE08A](V). Maximum array voltage
Maximum array voltage over last 24 hours. Written once every 24 hrs.
http://www.morningstarcorp.com
24/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Etmr_eqcalendar
[57484][0xE08B](days). Equalize calendar timer
Number of days since last equalization.
Etmr_batt_service
[57485][0xE08C](days). Days since last battery service
Reports the number of days since the last battery service reminder.
Eserial
[57537-57540][0xE0C0 – 0xE0C3](ASCII). Controller serial number
ASCII string of characters that represents the serial number.
Example serial number: 01234567
0xE0C0 = 0x3130 [1][0]
0xE0C1 = 0x3332 [3][2]
0xE0C2 = 0x3534 [5][4]
0xE0C3 = 0x3736 [7][6]
Emodel
[57548][0xE0CC](). Controller model flag.
0 = TSMPPT-600V-48, 1= TSMPPT-600V-120
Ehw_version
[57549][0xE0CD](). Hardware version.
Not ASCII. Major version stored in upper byte, minor version stored in lower byte.
0xE0CD = 0x0102  HW version: 1.2
http://www.morningstarcorp.com
25/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
Examples
Read Holding Register, Scaling a voltage value
Read and scale the following value:
Variable (RAM):
Battery Voltage
Register Address:
0x0018
The voltage scaling term is stored in variable V_PU at addresses 0x0000 and 0x0001.
Suppose the following values are read from RAM:
Address
0x0000
0x0001
0x0018
Value(hex)
0x007B
0xE041
0x0DB0
Variable Name
V_PU HI byte
V_PU LO byte
Battery Voltage value
1. Compute voltage scaler
Whole term = 0x007B  123
Fractional term = 0xE041 / 2^16  0.876
Voltage scaler = 123 + 0.876 = 123.876
Scaling for this variable is: n* V_PU * 2-15 (as listed in the table of RAM variables)
2. Convert hexadecimal Vbattery register value to decimal
0x0DB0  3504
3. Scale Vbattery value
Vbattery = ( 3504 * 123.876 ) / 32768 = 13.25 Volts
Read Holding Register, 2 Word values
Variable (RAM):
LO Register Address:
HI Register Address:
Scaling for this variable:
1.
2.
3.
4.
read LO
read HI
combine
Convert
hours (hourmeter)
0x002A
0x002B
none
Register value(hex):
Register value(hex):
register values(hex):
to decimal:
http://www.morningstarcorp.com
0x13D8
0x0022
0x002213D8
2,233,304 hours
26/27
14 Nov 2013
TriStar 600V MPPT MODBUS Document
v01
References
• Visit http://www.modbus-ida.org/ for full protocol documentation, news, and technical resources
• MODBUS® Protocol Reference Guide, Modicon, June 1996, PI-MODBUS-300 Rev.J
• MODBUS® Application Protocol Specification, modbus.org, 8May02,
• Modbus_application_protocol_v1
Document Revision History
V01: First Release
http://www.morningstarcorp.com
27/27
14 Nov 2013
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising