What in particular ? - well bare with me and I will
layout the system
explain the need for ESS Mode 3
and (try) to outline what it is I am trying to achieve
Layout of the system
Three MP-2 systems are configured to span up a “3-phase internal grid”. (going forward they are referred to as the MP-2 System)
The “AC-IN” side of the MP-2 system is connected to a BHKW (Heat/Power Generator) as well as the external GRID. Info: Putting the BHKW before AC-IN was demanded by the Utility Provider’s Measurement Regulations.
The “AC-OUT” side supplies to all the Loads as well as hosting a AC-Photovolatic-Inverter.
The “DC-Side” connects to MPPT bound PV Panels as well as a 48V Pylontech Battery System (with CAN-Bus connected BMS).
The “Control Infrastructure” hosts a CERBO GX.
WHY the need for ESS Mode 3
Since the BHKW is on the GRID Side (form the MP-2 perspective) the MP-2 System cannot determine between the GRID and the BHKW. So, virtually speaking, for the MP-2 System it’s 'all GRID". Consequentually-- if the LOADS (on AC-OUT) consume less than the BHKW produces, the BHKW’s surplus (== BHKW Power - AC-OUT Power) will not be considered by the MP-2 System to charge the Batteries, but will be fed back to the GRID !.. which is not desired !!
This triggered me to look into ESS Mode 3, which is nicely explained here:
[ESS mode 2 and 3 [Victron Energy]]
So I started my own ‘Control Loop’ and as a first step focussed on harvesting the BHKW surplus.
Of course prior to that I had configured the ESS Mode 3 in the CERBO’s menu by configuring >>Settings->ESS->Mode<< to ‘External control’
Here is some of the ‘key’ registers and their setup:
Note: the Modbus Register numbers used are in [.] brackets, the actual value in (.) brackets
[71] GRID Feed-IN limited by GRID Power Setpoints: >>AC Power-Setpoint in control (0)
What is it I am trying to achieve ?
As stated in the title I am using Registers [37], [40], [41] to manipulate the Grid Setpoint in order to achieve the following:
use the Registers 37,40,41 to increase the AC-IN Power so that
AC-IN Power - AC-OUT Power becomes larger than 0 (better yet becomes as large as the BHKW surplus) and that difference will be used to charge the batteries.
At least this is how I understood the Mode 3 documentation… meaning AC-IN Power is used to determine whether the batteries are charged or discharged.
Unfortunately I don’t see the effect using Registers 37,40,41… and the AC-IN Power never adjusts to the levels I am setting AND as consequence the battery is not charged with the intended power.
Ok rather than hosing you down with even more details, I am hoping that the community experts will either ask me questions for missing details or may start guide me on what it is I am not seeing.
Hi, Like you, I’ve been trying to get Mode 3 (External control) working with no success.
The use of registers 37 - 41 now seems to be depracted - this has been replaced with registers 2700 - through 2716. However, 2716 conflicts with 2717, as 2716 is written as a signed 32bit number, occupying 2 modbus addresses. I also find that the UID information for the 37-41 register set is incorrect, you have to get the UID for the multi from the CERBO’s modbus services page.
(as an aside, the UID concept stems from RS485-Modbus (RTU), where one needed to diferentiate the same register number running on different units. This practice (using different UID’s) is a bit pointless in accessing a single modbus server via TCP/IP).
I can see values written to this register appearing in dBus-spy, running on the cerboGX, so the Modbus maps onto the dbus correctly. However, these values don’t seem to get written to the Multiplus. I have a much simpler system, an MP2 3kW with a 3.3kWh lithium battery.
Following ESS mode 2 and 3 [Victron Energy], I have resorted to trying to control the multiplus directly with code running on a Beaglebone, accessing the Multi through a Mk3. I find the hex protocol easier to understand than trying to set up a d-bus service, and it cuts out a further unknown.
Long and short of this is, I can find the ESS assistant in the Multiplus Ram Variables, (0x54), and I can write and read-back the power setting from the Ram variables. However, THIS SETTING HAS NO EFFECT ON THE POWER/ FUNCTION OF THE MULTI. Also, the LED’s do not conform to the LED functions shown in the ESS manual, with both the mains and inverter lights on steady, and with either the Bulk or Abs LED also on.
I can set the multi to send 200W to the ‘grid’ (my local microgrid formed by 2 x 3kW multi’s in parallel), but no power is exported. Similarly I can set the multi to take 200W from the microgrid, but it remains in passthru.
My conclusion is that something is broke somewhere in the ESS interface with the Multi’s internal firmware. I even went so far as to replace the ESS assistant with the depracted Hub4 assistant, with identical results.
One partial solution that I could offer you is to use the register 2701to control the charge current of your Multi’s so that the grid current is as close to zero as required (Multi’s taking excess power from the BHKW.
Thanks… good food for thought and experiments. The UIDs I found out early not to be taken from the Victron documentation but rather from the Cerbo’s Modbus services page. I will start experimenting with Reg 2716… again influencing the AC Setpoint of the MP-2 is the only chance I have to harvest excess BHKW power.
I will report back here as I progress on the experiments.
Hi Homa,
Latest update: What was Broke: -the grid code selected did NOT permit export from DC to AC.
Having changed the grid code, the direct control is now working fine - though the LED codes are slightly different. So which grid code is your inverter set to?
Hi Mike,
firstly, I really appreciate you sharing wisdom that obviously I am not able to match… yet
The following shows a snapshot of the grid code setting on my personal MP-2 Setup… which is the same I am using at the client site that this ‘topic’ is all about.
But, just to re-emphasize… the problem I have is not really about feeding back to the grid.
The real problem is that I have generators prior to the MP-2 AC-IN.
With the generators running the MP-2 ‘considers’ everything on AC-IN ‘as GRID’… which in consequence leads under ESS Mode 1 (w/o battery life) to the fact that the battery will not be charged.
that is why I have started to go ESS Mode 3, implementing the control loop where I am trying to use the Grid SetPoint Regs to ‘force’ AC-IN powerwise above AC-OUT… so excess power will be funneled to the Battery… theoretically…
Well, as you had stated before, setting the MB-Regs [37,40,41] works, but these regs DO NOT influence the power on AC-IN [MB-Regs 820,821,822].
So back to the grid code. What do I need to look for regarding the grid code that could help me with what I want to achieve ?
HI, so with your BKHW between the grid and the ESS inverter, you may want to consider using a power meter between the BKHW and the Grid, and telling the ESS mode 1 that this is an AC input coupled PV inverter. This should allow the ESS to load the BKHW to maintain the grid set point at whatever value you set.
Whether you have all loads after the MP, or some before, does not matter, the current feedback can either be a 3 phase power meter or for single phase, a current sensor. -for 3 phase with current sensor on each multi.
I’ve not done anything with this type of set-up, but it should work for what you want.