Technical Doc Prostar Modbus Specification en
Technical Doc Prostar Modbus Specification en
MODBUS® Specification
v2.0
22 March 2017
Morningstar Corporation
8 Pheasant Run
Newtown, PA 18940
www.morningstarcorp.com
[email protected]
General Information
The ProStar PWM supports the industry standard MODBUS® application protocol via its Meter RJ-11
interface. A Meterbus to Serial Converter (MSC) is required to adapt the Meter interface to an isolated RS-232
interface**. This document assumes the user is familiar with the MODBUS® protocol and its terminology.
Please refer to the documents listed in the References section for more information.
** The MSC adapter is a Morningstar accessory. Contact your dealer for more information.
MODBUS® is a registered trademark of Modbus-IDA (www.modbus-ida.org)
Parameters
The ProStar PWM supports RTU mode only.
16bit MODBUS® addresses (per the modbus.org spec)
The serial communication parameters are
BPS: 9600 baud
Parity: None
Data bits: 8
Stop bits: 2
Flow control: None
All addresses listed are for the request PDU.
The ProStarPWM default server address: 0x01.
RAM
PDU Logical Variable name Variable description Units Scaling or
Addr Addr Range
0x0000 1 sw_ver Software Version -
0x0001 2 n_sys_v Battery Voltage Settings multiplier (1 for 12V nominal, 2 -
for 24V nominal)
0x0002 -
3-4 RESERVED
0x0003
RAW ADC
0x0004 5 vdd_actual 3.3V Supply Voltage V Float16
0x0005 6 adc_fgdrive Gate Drive Voltage V Float16
0x0006 7 adc_pmeter MeterBus Supply Voltage V Float16
0x0007 8 adc_vrefint Internal Reference Voltage V Float16
0x0008 9 adc_FN3 Negative Supply rail for current measurement V Float16
0x0009 10 adc_gload Load FET gate voltage V Float16
0x000A 11 adc_gatepv Array FET gate voltage V Float16
0x0009 -
12-16 RESERVED
0x000F
FILTERED ADC
0x0010 17 RESERVED
0x0011 18 adc_ia Array Current A Float16
0x0012 19 adc_vbterm Battery Terminal Voltage V Float16
0x0013 20 adc_va Array Voltage V Float16
0x0014 21 adc_vl Load Voltage V Float16
0x0015 22 RESERVED
0x0016 23 adc_il Load Current A Float16
0x0017 24 adc_vbsense Battery Sense Voltage V Float16
0x0018 25 adc_vb_f_1m Battery Voltage, slow filter (60s) V Float16
0x0019 26 adc_ib_f_1m Battery Current (net), slow filter (60s) A Float16
TEMPERATURES
0x001A 27 T_hs Heatsink Temperature ºC Float16
0x001B 28 T_batt Battery Temperature (Either Ambient or RTS if connected) ºC Float16
0x001C 29 T_amb Ambient (local) Temperature ºC Float16
0x001D 30 T_rts Remote Temperature Sensor Temp. ºC Float16
0x001E-
31-33 RESERVED
0x0020
CHARGER STATUS
0x0021 34 charge_state Charge State -
0x0022 35 array_fault Array Fault Bitfield -
0x0023 36 vb_f Battery Voltage, slow filter (25s) V Float16
0x0024 37 vb_ref Battery Regulator Reference Voltage V Float16
0x0025 38 RESERVED
0x0026 39 Ahc_r_HI Ah Charge Resettable, HI word Ah n*0.1
0x0027 40 Ahc_r_LO Ah Charge Resettable, LO word -
0x0028 41 Ahc_t_HI Ah Charge Total, HI word Ah n*0.1
0x0029 42 Ahc_t_LO Ah Charge Total, LO word -
EEPROM
PDU Logical Variable name Variable description Units Scaling or
Addr Addr Range
CHARGE SETTINGS
0xE000 57345 EV_reg Regulation Voltage @ 25ºC V Float16
0xE001 57346 EV_float Float Voltage @ 25ºC V Float16
(Set to zero to disable float)
0xE002 57347 Et_float Time Before Entering Float (Absorption Time) sec 0 to (216-1)
0xE003 57348 Et_floatlb Time Before Entering Float due to Low Battery sec 0 to (216-1)
(Absorption Extension Time)
0xE004 57349 EV_floatlb_trip Voltage Trigger for Low Battery Float Time V Float16
0xE005 57350 EV_float_cancel Voltage to Cancel Float V Float16
0xE006 57351 Et_float_exit_cum Exit Float Time sec 0 to (216-1)
0xE007 57352 EV_eq Equalize Voltage @ 25ºC (Set to zero to disable equalize) V Float16
0xE008 57353 Et_eqcalendar Days Between EQ Cycles days 0 to 255
0xE009 57354 Et_eq_above Equalize Time Limit above EV_reg sec 0 to (216-1)
0xE00A 57355 Et_eq_reg Equalize Time Limit at EV_eq sec 0 to (216-1)
0xE00B - 57356 -
RESERVED
0xE00F 57360
0xE010 57361 Evb_ref_charge_lim Reference Charge Voltage Limit V Float16
0xE011 - 57362 -
RESERVED
0xE012 57363
0xE013 57364 RESERVED
0xE014 - 57365 -
RESERVED
0xE019 57370
0xE01A 57371 EV_tempcomp Temperature Compensation Coefficient V Float16
0xE01B 57372 EV_hvd High Voltage Disconnect @ 25ºC V Float16
(Set to zero to disable HVD)
0xE01C 57373 EV_hvr High Voltage Reconnect V Float16
0xE01D 57374 Evb_ref_lim Maximum Charge Voltage Reference (0 disables) V Float16
0xE01E 57375 ETb_max Max Battery Temp Compensation Limit ºC -128 to +127
0xE01F 57376 ETb_min Min Battery Temp Compensation Limit ºC -128 to +127
0xE020 - 57377 -
RESERVED
0xE021 57378
LOAD SETTINGS
0xE022 57379 EV_lvd Low Voltage Disconnect V Float16
0xE023 57380 EV_lvr Low Voltage Reconnect V Float16
0xE024 57381 EV_lhvd Load High Voltage Disconnect V Float16
(Set to zero to disable HVD)
0xE025 57382 EV_lhvr Load High Voltage Reconnect V Float16
0xE026 57383 ER_icomp LVD Load Current Compensation Ω Float16
0xE027 57384 Et_lvd_warn LVD Warning Timeout sec 0 to (216-1)
0xE028 - 57385 -
RESERVED
0xE02F 57392
MISC SETTINGS
0xE030 57393 EV_soc_g_gy LED Green to Green&Yellow Limit V Float16
0xE031 57394 EV_soc_gy_y LED Green&Yellow to Yellow Limit V Float16
0xE032 57395 EV_soc_y_yr LED Yellow to Yellow&Red Limit V Float16
0xE033 57396 EV_soc_yr_r LED Yellow&Red to Red Flashing Limit V Float16
0xE034 57397 Emodbus_id Modbus ID - 1 to 247
0xE035 57398 Emeter_id Meterbus ID - 1 to 15
PWM SETTINGS
0xE036- 57399- RESERVED
0xE037 57400
0xE038 57401 Eic_lim Charge Current Limit A Float16
0xE039 - 57402 -
RESERVED
0xE03F 57408
READ ONLY SECTION
0xE040 57409 Ehourmeter_LO Hourmeter, LO Word hours 0 to (232-1)
0xE041 57410 Ehourmeter_HI Hourmeter, HI Word
0xE042 57411 EAhl_r_LO Ah Load Resettable, LO Word Ah n*0.1
0xE043 57412 EAhl_r_HI Ah Load Resettable, HI Word -
0xE044 57413 EAhl_t_LO Ah Load Total, LO Word Ah n*0.1
0xE045 57414 EAhl_t_HI Ah Load Total, HI Word -
0xE046 57415 EAhc_r_LO Ah Charge Resettable, LO Word Ah n*0.1
0xE047 57416 EAhc_r_HI Ah Charge Resettable, HI Word -
0xE048 57417 EAhc_t_LO Ah Charge Total, LO Word Ah n*0.1
0xE049 57418 EAhc_t_HI Ah Charge Total, HI Word -
0xE04A 57419 EkWhc_r kWhc Resettable kWh n*0.1
0xE04B 57420 EkWhc_t kWhc Total kWh n*0.1
0xE04C 57421 EVb_min Battery Voltage Minimum V Float16
0xE04D 57422 EVb_max Battery Voltage Maximum V Float16
0xE04E 57423 EVa_max Array Voltage Maximum V Float16
0xE04F 57424 Etmr_eqcalander Time Since Last Equalize days
Logged Data
The PS-PWM stores up to 256 days of data. This data is stored in a circular buffer where the oldest data is over-
written by the newest data. The log data must be requested and sorted into correct order before the data will be
useful.
Read Coils (0x01), Read Discrete Inputs (0x02), Write Single Coil (0x05)
PDU Logical Variable description
Addr Addr
0x0000 1 Equalize triggered
0x0001 2 Load disconnect (1 will force load into a disconnect state)
0x0002 3 Charge disconnect (1 will force charger into a disconnect state)
0x0003 - 4 - 16
RESERVED
0x000F
0x0010 17 Clear Ah Resettable (set only, will always read 0)
0x0011 18 Clear Ah Total (set only, will always read 0)
0x0012 19 Clear kWh Resettable (set only, will always read 0)
0x0013 20 RESERVED
0x0014 21 Clear Faults
0x0015 22 Clear Alarms
0x0016 23 Force EEPROM Update (set only, will always read 0)
0x0017 24 RESERVED
0x0018 25 Clear kWh Total (set only, will always read 0)
0x0019 26 Clear Vb (Battery Voltage) Min/Max
0x0020 27 Lighting Mode Test - when lighting mode is enabled, turns on load output for 10
minutes (set only, will always read 0).
0x0021 - 28 - 254
RESERVED
0x00FD
0x00FE 255 Factory Reset - revert settings to factory defaults (display settings are not reset)
0x00FF 256 Reset Control
ver_sw
[1][0x0000] (-). 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.
n_sys_v
[2][0x0001] (-). Battery Voltage Settings Multiplier.
Multiplication factor for charging and load voltage settings. Voltage settings are stored as 12V nominal
in the controller. A value of 1 indicates these settings are used unmodified. A value of 2 indicates these
settings are multiplied by 2 for use in a 24V nominal battery system.
RAW ADC
vdd_actual
[05][0x0004] (V). Internal 3.3V Supply Voltage.
Voltage of the internal 3.3V power supply.
adc_fgdrive
[06][0x0007] (V). Internal Gate Drive Voltage.
Voltage of the internal MOSFET gate drive.
adc_vmeter
[07][0x0008] (A). Internal MeterBus Supply Voltage.
Voltage of the MeterBus supply.
adc_vrefint
[07][0x0008] (A). Internal voltage Reference
Voltage of the internal voltage reference.
adc_FN3
[07][0x0008] (A). Negative supply rail for current measurement
Voltage on the Negative supply rail for current measurement.
adc_gload
[07][0x0008] (A). Load FET gate drive
Voltage on the Load FET gate drive
adc_gatepv
[07][0x0008] (A). Array FET gate drive
Voltage on the Array FET gate drive
FILTERED ADC
adc_ia
[18][0x0011] (A). Array Current.
Current into the array terminal connections of the ProStar PWM.
adc_vbterm
[19][0x0012] (V). Battery Terminal Voltage.
Voltage measured at the battery terminal connections of the ProStar PWM.
adc_va
[20][0x0013] (V). Array Voltage.
Input voltage measured at the array terminal connections of the ProStar PWM.
adc_vl
[21][0x0014] (V). Load Voltage.
Output voltage measured at the load terminal connections of the ProStar PWM.
adc_il
[23][0x0016] (A). Load Current.
Current out of the load terminal connections of the ProStar PWM.
adc_vbsense
[24][0x0017] (V). Battery Sense Voltage.
Voltage measured at the battery sense connections of the ProStar PWM.
adc_vb_f_1m
[25][0x0018] (V). Battery Voltage, slow filter.
Slow filtered value of the battery voltage. 60 second filtering time.
adc_ib_f_1m
[26][0x0019] (A). Battery Current (net), slow filter.
Slow filtered value of the net battery current into / out of the battery terminal connections of the
ProStar PWM. 60 second filtering time.
TEMPERATURES
T_hs
[27][0x001A] (C). Heatsink Temperature.
ProsStar PWM Heatsink temperature. Reported in degrees C.
T_batt
[28][0x001B] (C). Battery Temperature.
Battery temperature measured by the ambient temperature sensor or the optional RTS (if connected).
Reported in degrees C.
T_amb
[29][0x001C] (C). Ambient (local) Temperature.
Ambient temperature measured by the local ambient temperature sensor. Reported in degrees C.
T_rts
[30][0x001D] (C). RTS Temperature.
Temperature measured by the optional Remote Temperature Sensor(RTS). Reported in degrees C.
CHARGER STATUS
charge_state
[34][0x0021] (-). Charge State.
Reports the present charge state.
array_fault
[35][0x0022] (bit-field). Solar Input Self-Diagnostic Faults.
Reports faults identified by self diagnostics. Each bit corresponds to a specific fault.
vb_f
[36][0x0023] (V). Battery Voltage, slow filter.
Slow filtered value of the battery voltage. 25 second filtering time.
vb_ref
[37][0x0024] (V). Battery Regulator Reference Voltage.
Present target battery voltage. The controller is attempting to charge the batteries to this voltage.
kWhc_r
[43][0x002A] (kWh). kiloWatt-Hours Charge Resettable.
Resettable counter which reports charging kilowatt-hours. Reset of this counter is achieved with a Coil
Command (see Coil information section above).
kWhc_t
[44][0x002B] (kWh). kiloWatt-Hours Charge Total.
Counter which reports total charging kilowatt-hours. This counter can also be reset using a Coil
Command (see Coil information section above).
Tb_lo_limit_100
[45][0x002C] (C). Battery Temp Foldback 100% Output Limit.
Upper limit for low temperature charging foldback. At this temperature, 100% charging output is
provided to the batteries.
Tb_lo_limit_0
[46][0x002D] (C). Battery Temp Foldback 0% Output Limit.
Lower limit for low temperature charging foldback. At this temperature, 0% charging output is provided
to the batteries.
LOAD STATUS
load_state
[47][0x002E] (-). Load State.
Reports the present load output state.
load_fault
[48][0x002F] (bit-field). Load Output Self-Diagnostic Faults.
Reports faults identified by self diagnostics. Each bit corresponds to a specific fault.
V_lvd
[49][0x0030] (V). Load LVD Voltage.
Low voltage disconnect setpoint, current compensated.
V_lvd
[50][0x0031] (V). Load HVD Voltage.
High voltage disconnect setpoint.
Ahl_r_HI / Ahl_r_LO
[51, 52][0x0032, 0x0033] (Ah). Load Amp-Hours Resettable.
Resettable counter which reports load amp-hours. Reset of this counter is achived with a Coil Command
(see Coil information section above).
Ahl_t_HI / Ahl_t_LO
[53, 54][0x0034, 0x0035] (Ah). Load Amp-Hours Total.
Counter which reports load amp-hours. This counter can also be reset using a Coil Command (see Coil
information section above).
MISCELLANEOUS
hourmeter (HI / LO)
[55,56][0x0036, 0x0037] (hrs). Hourmeter.
Reports total hours of operation since installed.
Alarms Table
BIT ALARM
0 RTS Open
1 RTS Shorted
2 RTS Disconnected
3 Ths (heatsink temp sensor) Open
4 Ths (heatsink temp sensor) Shorted
5 Heatsink Hot (active temp limiting)
6 Current Limit
7 I Offset
8 Battery Sense Out of Range
9 Battery Sense Disconnected
10 Uncalibrated
11 Battery Temp out of range
12 FP10 Supply Out of Range
13 FET Open
14 IA Offset
15 IL Offset
16 3V Supply Out of Range
17
Reserved
18
19 Reset
20 LVD
21 Log Timeout
22 EEPROM Access Failure
dip_switch
[59][0x003A] (bit-field). DIP Switch Settings.
Each bit in the bit-field corresponds to an individual DIP switch setting. Useful for remote applications
where access to ProStar PWM to verify DIP positions is not feasible. Bit 0 (LSB) corresponds to
settings switch 1. (Only valid for DIP settings at controller power-up)
LED_state
[60][0x003B] ( ).
Reports the State-of-Charge LED state.
22 G/Y/R x2 – RED x2
LOGGER
Vb_min_daily
[66][0x0041] (V). Today’s minimum battery voltage.
Minimum battery voltage measured today (value resets after dark).
Vb_max_daily
[67][0x0042] (V). Today’s maximum battery voltage.
Maximum battery voltage measured today (value resets after dark).
Ahc _daily
[68][0x0043] (Ah). Today’s total charge amp-hours.
Total charging amp-hours accumulated today (value resets after dark).
Ahl _daily
[69][0x0044] (Ah). Today’s total load amp-hours.
Total load amp-hours accumulated today (value resets after dark).
Array_fault_daily
[70][0x0045] (bit-field). Today’s solar input self-diagnostic faults (sticky).
Reports array 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 Array_fault
bitfield.
Load_fault_daily
[71][0x0046] (bit-field). Today’s load output self-diagnostic faults (sticky).
Reports load 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 Load_fault
bitfield.
time_ab_daily
[74][0x0049] (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
[75][0x004A] (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
[76][0x004B] (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.
Va_max_daily
[77][0x004C] (V). Array Voltage max today.
Reports the maximum array voltage seen today. Value resets after dark.
MISCELLANEOUS 2
LED_state
[78][0x004D] ( ).
Reports the Status LED state.
lighting_should_be_on
[79][0x004E] ( ). Lighting (load) on/off indication
A non-zero value here indicates that the load output should be ON. A zero value indicates the load
output should be OFF.
CHARGING SETTINGS
EV_reg
[57345][0xE000] (V). Regulation voltage (absorption), @ 25ºC.
The battery will charge at 100% charge current until battery voltage reaches this setpoint. The controller
will begin to taper input current so that this setpoint is maintained, but not exceeded. See diagram A.
EV_float
1. [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. See diagram A.
Set to zero to disable float stage
Et_float
[57347][0xE002] (s) Time before entering float.
Defines the length of time in absorption before transitioning to the float stage. See diagram A.
Et_floatlb
[57348][0xE003] (s) Time before entering float due to low battery.
If the battery voltage drops too low during the previous night, this value allows the user to specify a
longer period of time before entering float stage.
EV_floatlb_trip
[57349][0xE004] (V). Voltage that triggers low battery float time.
Battery voltage that will trigger a longer period of time before entering float. - See Et_floatlb -
EV_float_cancel
[57350][0xE005] (V). Voltage that cancels float.
Specify the battery voltage that will cancel float for 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] (V). 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. Periodic equalization equalizes cell voltages, bubbles the electrolyte, and helps
prevent sulfation of the battery. See diagram A.
Set to zero to disable equalization
Et_eqcalendar
[57353][0xE008] (days). Days between equalize cycles.
Specify the number of days between equalizations. Equalizing on a calendar basis ensures proper
maintenance of batteries.
Et_eq_above
[57354][0xE009] (s) 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. See diagram A.
Et_eq_reg
[57355][0xE00A] (s) Equalize time limit at Veq.
Equalization will stop after the specified number of seconds at the equalization setpoint voltage. See
diagram A.
EVb_ref_charge_lim
[57361][0xE010] (V). Reference charge limit.
Battery charge voltage limit.
EV_tempcomp
[57371][0xE01A] (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
[57372][0xE01B] (V). High Voltage Disconnect, @ 25ºC.
Flag a fault/alarm if the battery voltage exceeds this setpoint. Also attempts to open the MOSFETs to
stop charging. Set to zero to disable HVD
EV_hvr
[57373][0xE01C] (V). High Voltage Reconnect.
The HVD fault/alarm will be cleared once the battery voltage drops below this setpoint.
Evb_ref_lim
[57374][0xE01D] (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.
ETb_max
[57375][0xE01E] (C). Maximum temperature compensation limit.
Maximum temperature to clamp temperature compensation.
ETb_min
[57376][0xE01F] (C). Minimum temperature compensation limit.
Maximum temperature to clamp temperature compensation.
ETb_lo_limit_100
[57377][0xE020] (C). Battery current limit upper temperature.
Battery temperature limit for 100% charging output to batteries. Battery temperatures above this value
will allow for up to 100% charging current. Linear charging current taper from ETb_lo_limit_100 to
Etb_lo_limit_0. ETb_lo_limit_100 must be greater that ETb_lo_limit_0 to operate.
ETb_lo_limit_0
[57378][0xE021] (C). Battery current limit low temperature.
Battery temperature limit for 0% charging output to batteries. Battery temperatures below this value will
provide 0% charging current. Linear charging current taper from ETb_lo_limit_100 to ETb_lo_limit_0.
ETb_lo_limit_100 must be greater that ETb_lo_limit_0 to operate.
LOAD SETTINGS
EV_lvd
[57379][0xE022] (V). Low Voltage Disconnect.
Setpoint to determine the load turn off voltage. When the battery has discharged too far, the load should
be turned off to prevent over-discharge of the battery.
EV_lvr
[57380][0xE023] (V). Low Voltage Reconnect.
Battery setpoint that determines when the load will be reconnected. After the battery recharges to this
setpoint, the load will be reconnected.
EV_lhvd
[57381][0xE024] (V). Load High Voltage Disconnect.
Disconnect the loads if the battery voltage rises too high. This function can protect DC loads that are
sensitive to high input voltage. Set to zero to disable HVD
EV_lhvr
[57382][0xE025] (V). Load High Voltage Reconnect.
Setpoint at which the loads will reconnect after a high voltage condition.
ER_icomp
[57383][0xE026] (V/A). LVD Load current compensation.
The LVD setpoint can be compensated in proportion to load current, lowering the disconnect value
when the battery is under load. Note that the LED setpoints are also compensated accordingly.
Et_lvd_warn
[57384][0xE027] (s). LVD warning timeout.
Defines the period of time to wait before disconnecting the loads, once battery voltage has dropped to
the Low Voltage Disconnect setpoint.
MISCELLANEOUS SETTINGS
EV_soc_g_gy
[57393][0xE030] (V). LED green to green/yellow limit.
LED transition setpoint. Specifies the battery voltage at which the LED state will change from Green to
Green/Yellow.
EV_soc_gy_y
[57394][0xE031] (V). LED green/yellow to yellow limit.
LED transition setpoint. Specifies the battery threshold voltage at which the LEDs will change from
Green/Yellow to Yellow indication.
EV_soc_y_yr
[57395][0xE032] (V). LED yellow to yellow/red limit.
LED transition setpoint. Specifies the battery threshold voltage at which the LEDs will change from
Yellow to Yellow/Red indication.
EV_soc_y2r0
[57396][0xE033] (V). LED yellow/red to blinking red limit.
LED transition setpoint. Specifies the battery threshold voltage at which the LEDs will change from
Yellow/Red to Blinking Red indication.
Emodbus _id
[57397][0xE034] ( ). MODBUS ID.
MODBUS address which uniquely identifies the controller on the MODBUS network.
Emeter _id
[57398][0xE035] ( ). 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
Warning: do not change this value unless necessary.
PWM SETTINGS
Eic _lim
[57401][0xE038] (A). Charge current limit.
Specify a battery charging current limit. 0-15A for 15A models, 0-30A for 30A models.
EkWhc_r
[57419][0xE04A] (kWh). Charge Kilowatt hours resettable.
Cumulative charging kilowatt hours typically used for short-term logging. Resettable.
EkWhc_t
[57420][0xE04B] (kWh). Charge Kilowatt hours total.
Cumulative charging kilowatt hours for long term logging. Can be reset if needed.
EVb_min
[57421][0xE04C] (V). Minimum battery voltage.
Minimum battery voltage over last 24 hours. Written once every 24hrs.
EVb_max
[57422][0xE04D] (V). Maximum battery voltage
Maximum battery voltage over last 24 hours. Written once every 24hrs.
EVa_max
[57423][0xE04E] (V). Maximum array voltage.
Maximum array voltage over last 24 hours. Written once every 24hrs.
Etmr_eqcalendar
[57424][0xE04F] (V). Equalize calendar timer.
Number of days since last equalize.
COILS
Equalize Triggered
[01] [0x0000]
Trigger an equalize charge. Controller must be configured to a battery type that has equalization stage
and the equalize DIP switch must not be set to “disabled”. After the equalize charge has been
administered, the equalize calendar will be reset.
Load Disconnect
[02] [0x0001]
Forces load controller into disconnect state. Load will remain off until this coil is cleared.
Values:
0 = normal operation
0xFF00= load disconnect
Charge Disconnect
[03] [0x0002]
Forces charge controller into disconnect state. Charging will cease until this coil is cleared.
Values:
0 = normal charging
1= charging stopped
Clear Ah Resettable
[17] [0x0010]
Resets solar and load Ah (resettable) counters back to 0.
(set only, will always read 0)
Clear Ah Total
[18] [0x0011]
Resets solar and load Ah (total) counters back to 0.
(set only, will always read 0)
Clear Faults
[21] [0x0014]
Clears active faults
(set only, will always read 0)
Clear Alarms
[22] [0x0015]
Clears active alarms
(set only, will always read 0)
Clear VB Min/Max
[26] [0x0019]
Resets battery voltage minimum and maximum.
Lighting Test
[27] [0x0020]
If lighting is enabled, turns on lighting output for 10 minutes.
(set only, will always read 0)
Factory Reset
[255][0x00FE]
Reverts controller back to Factory Default settings.
Reset control
[256] [0x00FF]
Reset control will force a reboot of the processor software.
Examples
Read Holding Register, 2 Word values
Variable (RAM): hours (hourmeter)
LO Register Address: 0x0037
HI Register Address: 0x0036
Scaling for this variable: none
unsigned sign = (f16 & 0x8000) >> 15; //extract out the sign
unsigned exponent = ((f16 & 0x7C00) >> 10); //extract out the exponent
float fraction = (f16 & 0x03ff) / 1024.0; //extract out the fraction
return f32;
if (e == 0) { // zero or subnormal
if (currentVal == 0) return(0); // zero
return (currentVal);
}
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