question

tenacioustech avatar image
tenacioustech asked

ESS - Mode 3 (External Control) SetPoint wont accept negative number

Hi Guys,


Trying to manually control a Quattro with Cerbo GX via ModBus.

I have followed the ESS mode 2 & 3 documentation.


When ESS mode 3 (external control) is active, the SetPoint wont accept a negative number.

See screen shot to see Charger and Feed-In address status.


Has anyone come across this before?


I have tried -1, -10, -100, -1000 I just get the error as attached. Positive numbers are accepted without issue.



Thanks in advance!


1628050358145.png

Modbus TCPmodificationsess grid setpoint not reached
1628050358145.png (13.6 KiB)
2 |3000

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

3 Answers
juan manuel tirado avatar image
juan manuel tirado answered ·

In case someone would like to know, I have already figured out how to write negative values via ModbusTCP in the CCGX in register 2700 of the Register List. This specific register is int16 and admits values between -32768 and 32768, but .... to write negative values you have to send 65536 minus the absolute value to send. Example: if I want to write -50W in the GridSetPoint, via modbustcp I would have to write 65536-50, I mean, 65486.


Por si a alguien le viene bien saberlo, Ya he averiguado como escribir valoras negativos via ModbusTCP en la CCGX en el registro 2700 del Register List.

Este registro concreto es int16 y admite valores entre -32768 y 32768, pero....para escribir valores negativos hay que enviar 65536 menos el valor a enviar absoluto.

Ejemplo: si quiero escribir -50W en el GridSetPoint, via modbustcp tendria que escribir 65536-50, osea, 65486.

2 |3000

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

Mark avatar image
Mark answered ·

Maybe check if you are currently sending a string or number to the Modbus node, if it's not already a number try converting the msg to a number before sending it through.

1 comment
2 |3000

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

tenacioustech avatar image tenacioustech commented ·

Thanks for the reply, yes the data is being sent as a number/integer already.


1628078148488.png

0 Likes 0 ·
1628078148488.png (5.7 KiB)
tenacioustech avatar image
tenacioustech answered ·

Can anyone let me know what Register and Unit ID they're pushing a negative integer to when using a Cerbo GX? (Note the documentation doesnt list a Unit ID to write to for Cerbo GX)

Thanks

1 comment
2 |3000

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

Mark avatar image Mark ♦♦ commented ·

Look under 'Services' > 'Modbus TCP', the unit ID should be 100. According to the Modbus list, the register for 'ESS power setpoint phase 1' is 37. Sorry I don't have an ESS system available to test this specifically.

0 Likes 0 ·

Related Resources

Additional resources still need to be added for this topic

Modbus TCP Basics

Experiments, Modifications and Adaptions. Mods (Modifications) can be made to Victron Software by the Community. Please use the modifications space for enthusiasts who want to push what is possible, without official Victron Support.