question

Student_Remko avatar image

Control the Venus GX controller true Modbus tcp/ip with commands like charge/discharge

Hello,

We are working on a project to charge/discharge a battery by using a PLC. We have seen that the Venus GX supports Modbus tcp/ip but it is not clear to us whether it is possible to control the controller via this protocol. Here we think of for example:

- Charging the battery

- Discharging the battery

- Charging speed of the battery

- Battery Discharge Rate

So we want to get the intelligence out of the controller and control it from the PLC. Is this possible?

Thanks in advance for your efforts!

chargingModbus TCP
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

4 Answers
AnaF avatar image
AnaF answered ·

Have you made it?

Share
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Guy Stewart (Victron Community Manager) avatar image
Guy Stewart (Victron Community Manager) answered ·

I presume you are working with ESS systems here. Please read this documentation: https://www.victronenergy.com/live/ess:ess_mode_2_and_3

Share
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Tom_Croon avatar image
Tom_Croon answered ·

Hey @Danakil,

I have connected with the Venus GX and charging is working. I have troubles to discharge the battery.

The commands I'm using are:

Commands for charging:

Modbus adres

Value

38 (Charge)

0

39 (Feeding)

1

37 (Setpoint charge/Discharge)

1000

Feedback from Venus GX

Bulk


Commands for discharging:

Modbus adres

Value

38 (Charge)

1

39 (Feeding)

0

37 (Setpoint charge/Discharge)

-1000

Feedback from Venus GX

PassTrue


Charging is working by writing these values, but discharging isn't. Do you have any Idea why this isn't working? The values are written every 200ms.

Thank you in advance!

1 comment Share
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Hi @Tom_Croon, exactly the same problem here. Could you find a solution?? Thank you in advance!

Danakil avatar image
Danakil answered ·

Yes it is possible but not that easy ! You need some skills about power flow, battery technologies and electronics.

You can acces all the writtable TCP/Modbus register on this Exel doc and check the Vebus section for a multi/ Quattro. For the Solar Charger, I wrote my own code to overwritte Voltage and current values according to my needs.

For the discharge rate, you cannot do it simply without any external compoments. An easy way would be to set the cadence of a mosfet to control the discharge.

Share
10 |3000 characters needed characters left characters exceeded

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.