diy solar

diy solar

Read/Write Cycle reliability of Solis Modbus Registers

marky0

New Member
Joined
Apr 24, 2022
Messages
36
Location
UK
Like many others on the forum I am talking to my solis hybrid inverter (RHI-6K-48ES-5G) through Modbus daily.
Mainly to set battery charge current to achieve 80% SoC overnight, or to enable export at peak export tariff times.

But it occurs to me that Solis could be using flash memory to store the modbus register map, and daily writes could ultimately end up damaging the inverter.
Does anyone on the forum know how the modbus registers are stored, if this is a significant risk and if I should start to minimise the number of daily writes.

Thanks in advance
 
IIRC @peufeu made some comments about that in one of his many informative postings...

I _think_ he suggested that if you make a change (manually) to a setting, then power down and power up the inverter, then if the setting is remembered you can assume it will be stored in flash. If it forgets the setting, then assume it was just held in RAM.

Having said that, I don't think daily writes to flash memory should be a problem - it is more for the settings that you may want to change every second or minute where you could wear out the memory device.
 
If they are flash, as is probably the case for things like current and time slots, I'd expect at least 10000 writes per register. I'm hoping that is going to be enough for mine to last a good few years past its ROI date while I'm updating the charge times and current about 3-4 times a day on average.
 
I _think_ he suggested that if you make a change (manually) to a setting, then power down and power up the inverter, then if the setting is remembered you can assume it will be stored in flash. If it forgets the setting, then assume it was just held in RAM.
That's a good shout, and I'll do that the next time I power down my inverter, but I have a nasty suspicion that all the modbus registers will be in flash.

If they are flash, as is probably the case for things like current and time slots, I'd expect at least 10000 writes per register.
This will depend on the quality of the IC, it could be in the 1000s if they have gone a low cost route. I have some confidence if as per @SeaGal answer above all the energy data needs a special menu to erase it. This implies that energy data is being flashed at least daily. But I'd be interested if anyone has taken the lid off one of these inverters and examined the control PCB pedigree. I don't have any plans to do this to mine in the near future !
 
... but I have a nasty suspicion that all the modbus registers will be in flash.
I don't think ones like instantaneous power, voltage etc. would be in flash - they are updated every second.

... But I'd be interested if anyone has taken the lid off one of these inverters and examined the control PCB pedigree. I don't have any plans to do this to mine in the near future !
@peufeu has done that - some nice pics from this posting onwards - looks well built to me :)
 
I _think_ he suggested that if you make a change (manually) to a setting, then power down and power up the inverter, then if the setting is remembered you can assume it will be stored in flash. If it forgets the setting, then assume it was just held in RAM.
I think I made that suggestion ?

"Power down" means no mains and no battery, so a real power down. "Turn off" option from the menu or modbus doesn't power down the embedded controller, the screen still works, and you can turn it back on with the menu or modbus...

There is a coin cell battery and a supercapacitor on the controller board though. So who knows if it saves it to flash, or to battery backed RAM. It would make sense that the energy counter would use RAM, because it is updated constantly and saved. Same thing for the clock. If one of the chips is an external SPI flash, only probing that with a scope would answer the question... if it's the micro's internal flash, there's no way to know for sure.
 
I think I made that suggestion ?
(y) I gave you credit for that in my post #2 ...
IIRC @peufeu made some comments about that in one of his many informative postings...

I _think_ he suggested that if you make a change (manually) to a setting, then power down and power up the inverter, then if the setting is remembered you can assume it will be stored in flash. If it forgets the setting, then assume it was just held in RAM.
 
There is a coin cell battery and a supercapacitor on the controller board though. So who knows if it saves it to flash, or to battery backed RAM.
The coin cell is interesting. Storing all stats in battery backed RAM would prevent the issues associated with flash wearing out - but an ordinary coin cell would last maybe 10 years. After that all would be good as long as the inverter was powered, but be lost if is powered down for any reason, and of course even the extended warranty would have expired by then. I can see myself having to replace that cell in 10 years or so. Unless it's rechargeable.
 
Back
Top