Writing Current Limit to Inverters

Hi,

I have been testing a program on my Cerbo GX that writes a new AC current limit to my inverters every 5 seconds. The program itself works fine; however, after doing some research on various forums, I’ve come across information suggesting that this value may be stored in the inverter’s EEPROM, which typically has a limited lifespan of around 100,000 write cycles.

Could anyone confirm whether this is accurate? If so, is there a recommended method for updating the current limit without repeatedly writing to non-volatile memory?

Thank you.

I do think that this is the case, the actual max current limit should be a fixed, not a dynamic value.
In order to get a dynamic current setting, I think it is implied that you should use the “S” command:


Which is used by the pot panel setting, and sent every 0.5s.

The setting you are editing is the cerbo override ac limit, stored locally in flash.
It will be sending this as a volatile parameter to the inverter.
It isn’t stored/persistent.

Thank you for the reply, that’s really helpful insight.

Just to make sure I’m understanding correctly:

When I set the AC current limit via the Cerbo GX, then disconnect the GX device from the inverter and power cycle the inverter, I still see the same current limit reflected when connecting with VEConfigure.

Is this because the inverter is retaining the last active value in volatile memory (e.g. RAM) rather than it being written to persistent configuration?

Sorry John, getting my knickers in a twist with setpoints.
The cerbo is persisting the grid value to the inverter. Let me get some clarity on this.

No problem at all Nick it has me confused as well.

The DBUS address I change with my program is com.victronenergy.vebus.ttyS4/Ac/ActiveIn/CurrentLimit hopefully that helps

Had a quick chat. This behaviour seems to have changed.
If you are going to keep writing that value you will eventually wear out the multi memory.

What specifically are you trying to achieve? There may be another way depending on config and use-case.

When you say behaviour has changed, does that mean the Cerbo used to write the current limit value set by the user to volatile memory in the inverter and now writes it to EEPROM in the inverter instead? If that is case would it be possible to still only write to volatile memory using the MK2-Protocol?

Thank you for your help :slight_smile:

Not entirely sure.
There is no other mechanism to change that behaviour, only other parameters, depending on your configuration and objective.

The concern about writing to EEPROM made one think that ESS mode must only write to volatile memory? (I’m not using ESS mode currently.)

There are numerous volatile parameters that exist, often introduced by features like ESS.
They can be complex, especially adding DESS into the mix as you can end up wrestling with the system.
Trying to use ess in an external control mode might be a better option, but much more complex.
It is unlikely that whatever you are wanting to do hasn’t already been tried.

Basically, I want to be fit to limit the input source of the inverters based on the varying reserve capacity of my external power source. I feel like this can be done by setting the current limit but perhaps there is an alternative method you know of? I.e. volatile power source limit

Ok, so are you’re pulling mains to cover the balance or supplying this primarily from battery?
With ESS in play, we could control a grid power setpoint, we can restrict inverter power (use from battery).

I’m using (or would like to use) the current input limit to force the battery to pick up a certain % of the load and therefore be able to vary the % on the source. The issue that stands in the way is that varying the current input limit too often is prohibited by the EEPROM rewrite limit.

Ideally, just being able to write the current input limit to volatile memory (not EEPROM) would be great.

I recognise that ESS mode might be able to provide this solution but would require a greater deal of implementation.

With ESS you can supply from battery and limit the inverter output power which would automatically balance the rest from grid.
Or you can manipulate the grid setpoint in Watts to force charging or load coverage.
Simpler.

Hi Nick, thank you for all your help thus far, and apologies to keep pestering you but you seem a good source of information.

After doing some reading up on ESS, I read that it should not be used in off grid solutions, do you know what is the reasoning for this?

Yes, it is more of a risk for mobile applications as the grid side connection can briefly become live in changeovers and this would be a safety hazard.
It also has some documented restrictions when using gensets.

Hi Nick, I have been doing some testing since your last post.

Using the Input Current Limit Control Assistant with an analogue input, I was able to have the current limit change without the set value in VeConfigure changing.

What I would like to know is, in your opinion, is this method still writing to EEPROM (from my test, it seems not to).

And also, are you aware of any method of easily adding and removing the Assistant remotely?

Thank you :slight_smile:

If the value doesn’t persist then you should be fine.
Unfortunately no way to fiddle with assistants without changing the config.
What you can do is create a config backup on the cerbo with and without the assistant. This can be restored remotely via the GX.
It will restart the inverters though.
It is also firmware specific, so has to be redone if you update the inverter.