A Forum run by Enthusiasts of MidNite Solar

The Open Source software/hardware corner => General info => Topic started by: greydove on April 25, 2015, 11:50:19 AM

Title: Interpreting data read from Register 4120 via pymodbus
Post by: greydove on April 25, 2015, 11:50:19 AM
I've been reading data from my Classic 250V (rev 4) with pymodbus and dumping the data into a mysql database.  I'd like to interpret the data I'm getting from register 4120 (which I pull by accessing register 4121), but the data I'm getting doesn't make sense based on the data in http://www.midnitesolar.com/pdfs/classic_register_map_Rev-B3-May-28-2013.pdf.

For instance, right now, I'm getting the value 336.  My current power is 39,  My battery Voltage is at 12.5.  If I look at it from the little android app, it says "Max power point tracking until absorb voltage reached".  I've seen the forum listing talking about newmodbus where they get:

4120 1027 (0x403) 

If I interpret the 336 I'm getting currently as 0x336 then another app should interpret it as "Regulating battery voltage at Equalize Set point" which I don't think makes sense.  I should be seeing something like 436, not 336.

If I interpret the 336 as a decimal number which translates to 0x150, then the Battery Charge State is value 1 which isn't in the table.

On the charge controller, I'm sitting at the following firmware versions:

Firmware:     
- Classic Rev: 1181
- Network Rev: 1122

I'm using the following in my program:
client = ModbusTcpClient(IP Of My Charge Controller)
base = 4114
rq = client.read_holding_registers(base,40)
ChargeState = rq.registers[4121-base]


Does anyone have any suggestions on how to interpret the data I'm getting from this register using pymodbus?
Title: Re: Interpreting data read from Register 4120 via pymodbus
Post by: Westbranch on April 25, 2015, 07:19:20 PM
Hi Greydove,  you ill probably have to wait for one of the modbus gurus from down-under to wake up, ~ 12 hrs off PST ...

In the mean time you could update the FW to 1839 (network)/1849(Classic)

cheers
Title: Re: Interpreting data read from Register 4120 via pymodbus
Post by: dgd on April 25, 2015, 08:40:18 PM
In that modbus PDF at table 4120-1  Battery Charge Stage, the text part for Name=ABSORB Value=3 should say
Regulating battery voltage at ABSORB set point
instead of
Regulating battery voltage at EQUALIZE set point

Little documentation errors like this are sprinkled throughout this pdf.

dgd
Title: Re: Interpreting data read from Register 4120 via pymodbus
Post by: boB on May 17, 2015, 06:14:23 PM
Quote from: dgd on April 25, 2015, 08:40:18 PM
In that modbus PDF at table 4120-1  Battery Charge Stage, the text part for Name=ABSORB Value=3 should say
Regulating battery voltage at ABSORB set point
instead of
Regulating battery voltage at EQUALIZE set point

Little documentation errors like this are sprinkled throughout this pdf.

dgd


OK, well, that's an easy one to fix.

You have more like that, DGD ?