Magnum Energy | MM-R | Magnum Networking Communications Protocol (2009-10-15)

Magnum Networking Communications Protocol (2009-10-15)
Filename = Magnum Networking Communications Protocol.XLS
7-May-03 Update 10-Oct-03
Update 23-May-05 add 0% charge rate and 250 VAC Dropout for ac disconnect for EMS support
Update 28 March 2006 for new fault codes and new VAC dropout values
Update Oct 06 for sending VACin and VAC output and new fault codes:
RELAY_FAULT
CHARGER_FAULT
Update Nov 06 for new battery sizes and new TCO FAULT
Update Jan 23-07 added EOF (0xFF) value and third party notes.
Update Apr-23-07 added (Ox91) CB3 open fault
Update Aug-13-07 corrected VAC dropout values
Update Oct-15-09 Added new packet information
Owned by Magnum Energy, Permission is required to use this document and this protocol. Copyright 2003-2009 Magnum Energy
Magnum Energy, Inc reserves the right to change the network specifications without notice.
Software definition of comm system:
This is a definition of the "TCS" (Temp Comm Sys) for the "Charger"
part of the Magnum Energy Inverter/Charger/Remote pair.
TCS-C is the "Charger/Inverter" end.
TCS-R is the "Remote" end.
OVERVIEW:
This implementation works as:
"Charger/Inverter" is the MASTER of communications, and will
transmit its data once every 100ms. During this time
TCS-C will:
1. Enable the RS-485 transmit driver
2. (internally) disable the Receiver (RE)
3. Reset the RECEIVE DATA POINTER
4. Reset the TRANSMIT DATA POINTER, and transmit
16 bytes of data.
At the "end" of the transmission:
1. Disable the RS-485 transmit driver
2. (internally) ENABLE the Receiver (RE)
On reception of bytes (from the Remote):
1. Store data sequentially
2. advance the RECEIVE DATA POINTER
3. after the 16th byte,
(internally) disable the Receiver (RE).
(repeat)
"Remote" is the SLAVE and responds to messages by transmitting
its own message 10ms after the MASTER's message ends.
TCS-R operates in the following manner:
1. Receives bytes of data, storing to ram,
advancing the RAM_POINTER, and RESETTING
the Rx_CLOCK (2ms step) to ZERO.
When Rx_CLOCK reaches 5 (10ms) do:
1. (internally) disable Receiver (RE),
2. enable the RS-485 transmit driver
3. reset the TRANSMIT DATA POINTER
4. reset the RECEIVE DATA POINTER
5. trigger the TRANSMITTER
6. Every fourth send extends data transmission with AGS or BMK settings
When the transmitter is complete:
1. disable Transmitter
2. disable the RS-485 transmit driver
3. (internally) enable the Receiver (RE)
When AGS clock reaches 10ms, or BMK clock reaches 14ms:
1. "Remote" receives bytes of data, storing to ram
* Note: AGS and BMK do not communicate on every cycle
* After sending an AGS a hex A0, or hex A1, the AGS will respond in the next cycle.
(repeat)
Hardware definition of comm system:
This is a simple communications systems, where the physical
link is RS-485, which is defined as:
true 2 wire only
5V differential,
half-duplex,
multi-drop up to 32 connected transceivers.
RJ-11 wiring on inverter is (from top to bottom) :
1 = "B" RS485 comm
2 = +14
3= GND
4 = "A" RS485 comm
Comm rate = 19.2K BPS
Each bit time = about 50usec
Each byte = about 500usec
All 16 bytes = about 8 msecs
Time each packet is sent = about every 100 msecs
Communications from inverter and remote:
Every 100 msecs, the inverter sends a packet of data, one right after the other,
whether remote is connected or not.
MS rev 3.9 and earlier / All ME, RD, MM, MMS series
MS rev 4.0 and later
Inverter sends 16 bytes of data
Inverter sends 21 bytes of data
If remote is connected it will receive the packet and then after a short delay will begin
sending a packet back to the inverter.
ME-RC rev 1.4 and earlier / All MM-R, MM-RC, ME-RB, and ME-MR
Remote sends 16 bytes of data
ME-RC rev 1.5 and later / All ME-ARC
Remote sends 21 bytes of data
The definition of remote byte order:
Scope picture of comm string:
10 msec
10 msec
10 msec
INVERTER
REMOTE
Variable Length Not always present
8-14msec
AGS / BMK
Inverter sends
----------------------Byte order Data name
bits
value assignments
Value sent to remote
remote (hex)
0x00
0x01
0x02
0x04
0x08
0x09
0x10
0x20
0x40
0x50
0x80
0 Inverter status
8 Charger Standby
EQMODE
FLOATMODE
ABSORBMODE
BULKMODE
BATSAVERMODE
CHARGEMODE
Off
INVERTMODE
Inverter Standby
SEARCHMODE
1 Inverter fault
8 No Fault on inverter
0x00
STUCKRELAY
0x01
DC_OVERLOAD
0x02
AC_OVERLOAD
0x03
DEAD BAT
0x04
BACKFEED
0x05
LOWBAT
0x08
HIGHBAT
0x09
HIGHACVOLTS
0x0A
BAD_BRIDGE
0x10
NTC_FAULT
0x12
FET_OVERLOAD
0x13
INTERNAL_FAULT4
0x14
STACKER_MODE_FAULT
0x16
STACKER_CLK_PH_FAULT 0x18
STACKER_NO_CLK_FAULT 0x17
STACKER_PH_LOSS_FAULT0x19
OVERTEMP
0x20
RELAY_FAULT
0x21
CHARGER_FAULT
0x80
HIBATEMP
0x81
OPEN_SELCO_TCO
0x90
CB3 OPEN FAULT
0x91
2,3
4,5
6,7 (was)
6 (is)
7 (is)
8
9
10
DC volts
16*
DC amps
16*
Ac amps NOT IMPLEMENTED16*
AC volts output
8
AC volts input
8
Inverter LED
8
Charger LED
8
Inverter Revision
8
11 Battery temp
12 Transformer temp
13 FET temp
8
8
8
0-64K
0-64K
0-64K
0 to 256
Comments
AC in, charging disabled
// unit is eq'ing with ac
// unit is float charging w/ac
// unit is charging in absorb w/ ac
// unit is charging in bulk mode with ac applied
// unit is charge mode but no charge current since bat is full
// unit is in charge mode, no ac applied
// inverter off, charger off waiting for user input (no AC pass through)
// inverter on (charger on or off)
MS rev 4.0 or later only (PAE)
// searching for load (charger on or off)
// not used
// DC bridge overload fault
// AC output overload fault
// charging a dead battery
AC Backfeed
// low bat cutout
// high bat cutout
// high ac output voltage
// Remote displays = Internal Fault 1 = bad fet bridge
// Remote displays = Internal Fault 2 = fets too hot (>20C step)
// Remote displays = Fet Overload = FETS too hot too fast (6C over 4 sec)
// Not used
// Stacker fault, both units not in same mode, problem with "other" inverter
// Stacker sync clocks are not in phase
// Stacker does not detect other stackers sync clock
// Stacker AC output voltage is not properly phased
// overtemp shutdown
// Transfer relay is not closed in chg mode
// Bridge fault in chg mode = max PWM, no ac amps, Vbat < FloatV
// high battery temp
// open transformer TCO temperature cutout
// open input 30 amp AC Breaker CB3
0-64K = 0 - 6400.0V or 1 count/ 0.1V (real range = 0-100.0V)
0-500 amps DC
NOT Implemented
0-150 Volts ac RMS
MS Inverter rev 3.0 and later
0-255 Volts ac peak
MS Inverter rev 3.0 and later
IF = 0, then INV LED is off else INV Led on remote ON
IF = 0, then CHG LED is off else CHG Led on remote ON
i.e. 10 = 1.0
Non-zero is mandatory for remote
i.e. 11 = 1.1
start up
0-150 = 0-150 deg C
0-150 = 0-150 deg C
0-150 = 0-150 deg C
14 Inverter Model
8 Model
Dec
MM612
MM612-AE
MM1212
MMS1012
MM1012E
MM1512
ME1512
ME2012
ME2512
ME3112
MS2012
MS2012E
MS2812
MS2712E
MM1324E
MM1524
RD1824
RD2624E
MM1x24E
RD2824
RD4024E
RD3924
MS4124E
MS2024
MS4024
MS4024AE
MS4024PAE
MS4448AE
MS3748AEJ
MS4448PAE
MS3748PAEJ
15 Not used
6
7
8
9
10
11
15
20
25
30
35
40
45
47
53
54
55
59
60
63
69
74
90
91
105
106
107
111
112
115
116
Hex
0x06
0x07
0x08
0x09
0x0A
0x0B
0x0F
0x14
0x19
0x1E
0x23
0x28
0x2D
0x2F
0x35
0x36
0x37
0x3B
0x3C
0x3F
0x45
0x4A
0x5A
0x5B
0x69
0x6A
0x6B
0x6F
0x70
0x73
0x74
Not a currently release model
0
15 Stack mode
8 Standalone unit
Parallel stack - master
Parallel stack - slave
Series stack - master
Series stack - slave
16 AC Input Amps
8
1 count = 1 Amp AC
17 AC Output Amps
8
1 count = 1 Amp AC
18,19 AC Hz
0x00
0x01
0x02
0x04
0x08
MS rev 3.9 and earlier / All ME's
16*
20 Not used
MS rev 4.0 and later
1 count = 0.1Hz
8
0
16* = NOTE that for all 16 bit variables, they are sent in two bytes, the high byte sent first. So for DC volts, high byte is sent in third position (byte 2) and
low byte is sent in fourth position or byte 3.
Remote sends
-----------------Byte order Data name
0 Inverter ON/OFF
Charger ON/OFF
Future use
EQ Mode
Future use
bits
value assignments
4, low order
4, high order
1 Search watts
2 Battery size
8 Defeated
5W
5 - 50 Watts
3 Battery Type
Absorption, if set to Custom
(default)
0
5
5 - 50
(default)
(default)
40
20
8
400Ah
200Ah
4 Charger Amps
Value sent to
inverter (decimal)
Bit 0, momentary high
Bit 1, momentary high
Bit 2 = 0
Bit 1 & 3(0x0A), momentary high
Bit 4 - 7 = 0
8 Gel
Flooded
AGM
AGM2
Custom
8
(default)
0%
10%
20%
30%
40%
50%
60%
70%
80% (default)
90%
100%
2
4
8
10
100+
0
10
20
30
40
50
60
70
80
90
100
Comments
Toggle inverter on/off
Toggle charger on/off (only when AC is in use)
Not used
Toggle EQ mode (only when AC is in use, only in float mode)
Not used
1 count = 10Amp hours; Inverter accepts increments of 20, from 20-160
ME-RC
MM-RC / MM-R 3.6
This becomes Absorption; 144 = 14.4 volts.
Must be in steps of 10
Inv rev x.x and later
0% in Inv rev x.x and later
Maximum, inverter will default to 80 if any other value is sent
5 AC shore amps
8 30A
6 Remote revision
8
7 Ambient temp
7 Parallel threshold /
Force Charge
8 Auto Genstart
9 Low Battery Cut Out
(LBCO)
** 24 volt values
*** 48 volt values
(default)
1.0
30
Range is 5 - 60, in steps of 1
10
i.e. 10 = 1.0
* MM-R & MM-RC starts at 3.6
** ME-RB starts at 8.0
*** If using a BMK, the revision must be greater than 1.8, or the BMK will not communicate
8
4, low order
4, high order
0-150 = 0-150 deg C
BIT 0-3
BIT 4
BIT 5
BIT 6
BIT 7
8 Off
(default)
Enable
Test
Enable with Quiet Time
On
0
1
2
4
5
Parallel threshold 1 count = 10% of unit capacity
Disable Refloat
Force Silent
Force Float
Force Bulk
Allow Auto Gen Start
Don't start during quiet time hours
Only in AGS rev 5.0 and later
8 10.0 volts
(default)
100
Range 9.0 to 16.0 (90 to 160 sent to Inverter)
20.0 volts
40.0 volts
(default)
(default)
200
200
Range 19.0 to 25.5 (190 to 255 sent to inverter)
Same range as 24volt, display shows double the value sent.
8 60VAC
65V
70V
75V
80V
(default)
85V
90V
95V
100V
"EMS over-ride- open relay"
110
122
135
145
155
165
175
182
190
255
Range is 0 to 255, but is not linear
Export models (230 VAC/50 Hertz) have the same range, just
double the displayed AC voltage
11 Float Volts
8 13.2 volts
(default)
132
Scaled to 12 volt numbers; 0.1 = 1
12 EQ Volts
8 15.6 volts
(default)
12
Range is 0 - 2.0 volts (0 - 20), this is added to Absorption voltage
13 Absorb Time
8 2.0 hrs
(default)
20
x.x hrs; 0-255, 25 would be two and half hours; 0.1 hr = 6 minutes
14 Hours
8
0 - 23 hours
Remote always sends Hours
15 Minutes
8
0 - 59 minutes
and minutes, unless otherwise noted
10 VAC cut out voltage
Bytes 16-20 were added for AGS in ME-RC Rev 1.5 and later.
16 Gen run time
8 2.0 hrs
(default)
17 Start Temp
8 Off
(default)
18 Start VDC
8 Off
11.0 volts
Default
19 Quiet time hours
20 Footer
8 Off
Default
9pm to 7am
9pm to 8am
9pm to 9am
10pm to 8am
11pm to 8am
8
Bytes 14-20 were added for AGS in ME-ARC.
14 AGS Start Time
8 12:00A
15 AGS Stop Time
8 12:00A
16 AGS Vdc Stop
18 AGS V Stop Delay
8 14.4v
Float
8 120 Sec
120 Min
8 120 Sec
19 AGS Max Run Time
20 Footer
8 12.0 hrs
8
17 AGS V Start Delay
Bytes 14-20 were added for AGS in ME-ARC
14 AGS SOC Start
8 Off
15 AGS SOC Stop
8 90%
16 AGS Amps Start
17 AGS Amps Start
Delay
18 AGS Amps Stop
19 AGS Amps Stop
Delay
20 Footer
Works with AGS revision 3.5 and later
20
x.x hrs; 0-255, 25 would be two and half hours; 0.1 hr = 6 minutes
0
Range 33 to 104 Fahrenheit (33 - 104); cooling only
0
Scaled to 12 volt numbers; 0.1 = 1
110
Range, 1 to 255
0
1
2
3
4
5
0xA0 Hex
** AGS revision 5.0 and later use this byte to enable quiet time
Bytes 14 through 19 can be used to communicate to other
network devices. Byte 20 is used to address the device.
Works with AGS revision 5.0 and later
Default
0
0 = 12:00 AM one count = 15 minutes
Default
0
* If start/stop are set the equal, function is disabled
Default
Default
Default
Default
144
255
120
248
120
120
0xA1 Hex
Voltage scaled in 12 numbers
Stop on inverter float mode
MSB bit controls minute/second selection; Range 0 - 127
MSB = 1 = Minute; MSB = 0 = Seconds
All "delays" use the above format
x.x hrs; 0-255, 25 would be two and half hours; 0.1 hr = 6 minutes
Works with AGS revision 5.0 and later
Default
0
1 count = 1%
Default
90
1 count = 1%
8 Off
8 120 Sec
Default
Default
0
120
8 5 amps
8 120 Sec
Default
Default
5
120
8
This will cause inverter to ignore AC input
0xA2 Hex
1 count = 1 Amp
MSB bit controls minute/second selection; Range 0 - 127
MSB = 1 = Minute; MSB = 0 = Seconds
1 count = 1 Amp
MSB bit controls minute/second selection; Range 0 - 127
MSB = 1 = Minute; MSB = 0 = Seconds
Bytes 14-20 were added for AGS in ME-ARC
14 AGS Quiet Time begin
8 8:00P
15 AGS Quiet Time end
8 10:00A
16 AGS Exerise Days
17 AGS Exerise Start
Time
18 AGS Exerise Runtime
8 Off
8 8:00A
19 Top off
20 Footer
8 Off
8
Works with AGS revision 5.0 and later
Default
80
0 = 12:00 AM one count = 15 minutes
Default
40
0 = 12:00 AM one count = 15 minutes
** Byte 19 in footer A0 must be set to 1 to enable function
* If begin/end are set equal, function is disabled
Default
0
1 Count = 1 Day; Range 0 - 255
Default
32
0 = 12:00 AM one count = 15 minutes
8 1.0 hrs
10
Default
Bytes 14-20 were added for AGS in ME-ARC
14 AGS Warm up
8 60 Sec
15 AGS Cool down
8 60 Sec
16
17
18
19
20
8
8
8
8
8
Empty / Not used
Empty / Not used
Empty / Not used
Empty / Not used
Footer
ME-AGS Sends
------------------
8 400Ah
8
8
Default
2 Revision
8 5.0
3 Temperature
4 Gen Runtime
8 33 to 104
8 0.0 Hours
5 AGS vdc
8
40
0
0x80 Hex
8 0 days
Value sent
0xA1 Hex
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
50
12.6
** Only revision 3.5 and later communicates on the network
0 Header
8
1 Days since last
generator run
Empty / Not used
Empty / Not used
Empty / Not used
Empty / Not used
Works with BMK revision 1.0 and later
0
1 count = 1%
0
Normal running
1
Reset minimum volts DC
2
Reset maximum volts DC
3
Reset Amp Hour "Trip"
4
Reset KAmp Hours
1 count = 10 Amp Hours; 200 amp hour minimum
AGS transmits every time a remote transmits a footer 0xA0 or 0xA1 hex
** Only revision 3.5 and later communicates on the network
Byte order Data name
bits
value assignments
0 Header
8
1 Status
8 Not valid
Off
Ready
Manual Run
AC In
In quiet time (hours)
Start in test mode
Start on temperature
Start on voltage
Fault start on test
Fault start on temp
Fault start on voltage
Start Time of Day
Start State of charge
Start Exercise
Fault start Time of Day
Fault start State of charge
Fault start Exercise
Start on Amp
Start on Topoff
Not used
Fault start on Amp
Fault on Topoff
Not used
Fault max run
Gen Run Fault
Gen in Warm up
Gen in Cool down
2
3
4
5
1 count = 1 minute; Range 0 - 255
Works with AGS revision 5.0 and later
Default
60
MSB bit controls minute/second selection; Range 0 - 127
MSB = 1 = Minute; MSB = 0 = Seconds
Default
60
MSB bit controls minute/second selection; Range 0 - 127
MSB = 1 = Minute; MSB = 0 = Seconds
0
Possible future settings
0
0
0
0xA4 Hex
Bytes 16-20 were added for BMK in ME-RC Rev 1.7 and later.
16 Battery efficiency
8 Auto
Default
17 Resets
8
18 Battery size
19 Empty / Not used
20 Footer
0
0xA3 Hex
x.x hrs; 0-255, 25 would be two and half hours; 0.1 hr = 6 minutes
0
126
Comments
No Comm on remote
Not enabled
Enabled
Generator manually started
Inverter is in charge mode
30 second run, then shutdown
SOC comes from BMK
Max run time exceeded
i.e. 10 = 1.0
In degrees Fahrenheit (33-104F)
Gen running for h.m, so 2.5 would be two and half hours
x.x hrs; 0-255, 25 would be two and half hours; 0.1 hr = 6 minutes
xx.x VDC (Scaled to 12V numbers)
0xA2 Hex
0
Started TX at 3.5
0 - 255 days
ME-RTR Sends
-----------------Byte order Data name
0 Header
bits
value assignments
8
2 Revision
8 1.0
Value sent
0x91 Hex
Comments
10
i.e. 10 = 1.0
i.e. 11 = 1.1
RTR TX every 0.5 seconds with a deadtime of 18msec after
ME-BMK Sends
-----------------Byte order Data name
0 Header
bits
value assignments
8
1 State of Charge
Value sent
0x81 Hex
8
0-100 - 0 - 100% or 1 count / 1%
16* 12.60 volts
4,5 DC amps
16*
6,7 Min Volts
16* 12.61 volts
1261 gVDC
0-64K = 0 - 640.00V or 1 count/ 0.01V (real range = 0-70.00V)
8,9 Max Volts
16* 12.59 volts
1259 gVDC
0-64K = 0 - 640.00V or 1 count/ 0.01V (real range = 0-70.00V)
10,11 AmpH in/out
16* 220 Amp Hr
12,13 AmpH Trip
16*
10.1
220.2
1260
(255 = Think'n)
2,3 DC volts
101
220
2202
14,15 Cumulative AmpH out of Battery
16*
16,17
Comments
8 means ME-BMK
Number of Discharge Cycles
16*
18 Software Ver
16 Revision
17 Fault
8 0 to 256
Version
8 0 to 256
8 Reserved
0
Normal
1
Fault start
2
BMK TX every 0.5 seconds with a deadtime of 14msec after a ME-RC revision 2.0 or more
0-64K = 0 - 640.00V or 1 count/ 0.01V (real range = 0-70.00V)
0-64K = -3.2K to 3.2KAmps or 1 count/ 0.1A (real range +-1000A)
0-64K = -32K to 32KAmpH or 1 count/ 1AmpH
(real range = -9999 to 9999 AmpH)
0-64k = 0 to 6.4kAmpH or 1 count/ 0.1AmpH
0-64k = 0 to 6.4MAmpH or 1 count/ 100AmpH
0-64k , 1 count / 1Discharge Cycle
i.e. 10 = 1.0
16* = NOTE that for all 16 bit variables, they are sent in two bytes, the high byte sent first. So for DC volts, high byte is sent in third position
(byte 2) and low byte is sent in fourth position or byte 3.
Third Party Notes
If your company is considering building a product to connect to the Magnum Network:
1 Please contact someone in the Engineering Department at Magnum for approval.
2 Understand that no power is available for third party devices on the network.
3 You should design your product so that it looks like a "wire" to the network. This is so that the timing of the data is not affected adversely and so that the
devices on the network will operate properly. Also, when your product is off or not operational, it will not affect existing communication on the network.
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