User Tools

Site Tools


ess:ess_mode_2_and_3

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ess:ess_mode_2_and_3 [2020-07-08 15:48] – [2.1 Available control points] iburgeress:ess_mode_2_and_3 [2023-02-14 15:25] (current) mvader
Line 9: Line 9:
  
 ==== 1.1 - Mode 1 ==== ==== 1.1 - Mode 1 ====
-The system runs automatically, and uses excess energy harvested during the day to fill the gaps when there is not enough PV power available. Typically in the evening and night. Easy configuration in Assistants and on the Color Control GX. For details refer to the [[ess:design-installation-manual|ESS manual]].+The system runs automatically, and uses excess energy harvested during the day to fill the gaps when there is not enough PV power available. Typically in the evening and night. Easy configuration in Assistants and on the GX device. For details refer to the [[ess:design-installation-manual|ESS manual]].
  
 ==== 1.2 - Mode 2 ==== ==== 1.2 - Mode 2 ====
Line 48: Line 48:
   * This register has range -32768W to 32767W (scale factor=1). Use register 2703 for a larger range (scale factor=0.01).   * This register has range -32768W to 32767W (scale factor=1). Use register 2703 for a larger range (scale factor=0.01).
  
-=== b) Enable/Disable charge - Modbus-TCP register 2701 ===+=== b) Enable/Disable charge - Modbus-TCP register 2701 (deprecated in favour of 2705) ===
  
   * 0: disable charging. This setting may be used for time shifting. For example by disabling charging the battery when feeding back to the grid is profitable, and leaving battery capacity for later.   * 0: disable charging. This setting may be used for time shifting. For example by disabling charging the battery when feeding back to the grid is profitable, and leaving battery capacity for later.
   * 100: unlimited charging. Battery, VEConfigure settings, and BMS permitting. Use value 100 here instead of 1 because this setting was originally designed to be used as a percentage.   * 100: unlimited charging. Battery, VEConfigure settings, and BMS permitting. Use value 100 here instead of 1 because this setting was originally designed to be used as a percentage.
  
-Note that this setting has a higher priority than the //Grid power setpoint//.+Notes: 
 +  * This setting is deprecated and only works when DVCC is disabled. It is retained for backwards compatibility only. Use register 2705 instead to control battery charging. 
 +  * This setting has a higher priority than the //Grid power setpoint//.
  
-=== c) Enable/Disable inverter - Modbus-TCP register 2702 ===+=== c) Enable/Disable inverter - Modbus-TCP register 2702 (deprecated in favour of 2704) ===
   * 0: disable inverter   * 0: disable inverter
   * 100: enabled inverter. Use value 100 here instead of 1 because this setting was originally designed to be used as a percentage.   * 100: enabled inverter. Use value 100 here instead of 1 because this setting was originally designed to be used as a percentage.
  
-Note that this settings has a higher priority than the //Grid power setpoint//.+Notes: 
 +  * This setting is deprecated and only works when DVCC is disabled. It is retained for backwards compatibility only. Use register 2704 instead to control battery discharge. 
 +  * This settings has a higher priority than the //Grid power setpoint//.
  
 === d) Maximum inverter power - Modbus-TCP register 2704 === === d) Maximum inverter power - Modbus-TCP register 2704 ===
Line 66: Line 70:
  
 === e) DVCC maximum system charge current - Modbus-TCP register 2705 === === e) DVCC maximum system charge current - Modbus-TCP register 2705 ===
-  * -1: No limit. Solar Chargers and the Multi will charge to their full capacity or individual configurd limits.+  * -1: No limit. Solar Chargers and the Multi will charge to their full capacity or individual configured limits.
   * Any positive number: Maximum combined current in Ampere for battery charging. This limits the solar chargers and the multi, and takes loads into account. Solar chargers take priority over the Multi.   * Any positive number: Maximum combined current in Ampere for battery charging. This limits the solar chargers and the multi, and takes loads into account. Solar chargers take priority over the Multi.
  
Line 96: Line 100:
 MQTT is available both on the local broker on the [[venus-os:start|GX device]], as well as remotely through the secure cloud connection. MQTT is available both on the local broker on the [[venus-os:start|GX device]], as well as remotely through the secure cloud connection.
  
-=== C) Running your own scripts on the CCGX ===+=== C) Running your own scripts on the GX device ===
 Start reading [[open_source:start|here]]. Start reading [[open_source:start|here]].
  
Line 103: Line 107:
   * com.victronenergy.settings /Settings/CGwacs/MaxChargePercentage    (Enable/Disable charger)   * com.victronenergy.settings /Settings/CGwacs/MaxChargePercentage    (Enable/Disable charger)
   * com.victronenergy.settings /Settings/CGwacs/MaxDischargePercentage (Enable/Disable inverter)   * com.victronenergy.settings /Settings/CGwacs/MaxDischargePercentage (Enable/Disable inverter)
 +  * com.victronenergy.settings /Settings/CGwacs/MaxDischargePower      (Maximum inverter power)
 +  * com.victronenergy.settings /Settings/SystemSetup/MaxChargeCurrent  (DVCC maximum charge current)
 +  * com.victronenergy.settings /Settings/CGwacs/MaxFeedInPower         (Maximum system grid feed-in of excess power)
 +  * com.victronenergy.settings /Settings/CGwacs/OvervoltageFeedIn      (Feed-in excess DC-coupled PV)
 +  * com.victronenergy.settings /Settings/CGwacs/PreventFeedback        (Don't feed in excess AC-coupled PV)
 +  * com.victronenergy.hub4 /PvPowerLimiterActive                       (Read-only value indicating if limiting is active)
  
-Note that the paths are represented as percentage, but should be used as on/off switch (0: off,+Note that the MaxChargePercentage and MaxDischargePercentage paths are represented as percentage, but should be used as on/off switch (0: off,
 100: on). 100: on).
  
Line 144: Line 154:
   * When both Charge and Feed-in is disabled, the Multi will go into Passthru.   * When both Charge and Feed-in is disabled, the Multi will go into Passthru.
  
-==== 3.3 Running software on the CCGX and using DBus paths ====+=== d) Disable overvoltage Feed-in - Modbus-TCP register 65 === 
 +Overvoltage feed-in can be used to feed excess DC-tied PV into the grid. Note that DVCC needs to be enabled to properly use this feature. 
 +  * 0: Feed overvoltage into the grid. 
 +  * 1: Do not Feed overvoltage into the grid.  
  
-When controlling the Multi using software running on the CCGX, you should set //Settings->ESS->Mode// to //external control//. The following dbus paths can then be adjusted on the com.victronenergy.vebus.ttyO1 service.+=== e) Maximum Feed-in power due to overvoltage - Modbus-TCP register 66 to 68 === 
 +When overvoltage feed-in is enabled, these registers can be used to limit how much power is fed in. To disable the limit, write a large number to the register. 
 +  * Register 66: Overvoltage feed-in limit for L1 
 +  * Register 67: Overvoltage feed-in limit for L2 
 +  * Register 68: Overvoltage feed-in limit for L3 
 + 
 +=== f) Power Setpoints acts as limit - Modbus-TCP register 71 === 
 +When this register is set to 1, the Multi will feed in overvoltage up to the value in registers 37, 40 and 41. This is useful when powering loads with excess DC-coupled PV, while still keeping the batteries fully charged. The Power setpoints are then set to match the loads as normal, but the Multi will feed in only excess PV and not energy from the batteries. 
 + 
 +=== g) Overvoltage offset - Modbus-TCP register 72 === 
 +When feeding excess DC-coupled PV to loads or into the grid, the Multi has two possible settings. It can either add a 1V offset to the solar charger charge voltage, or a 100mV offset. These values are for a 12V setup, and must be multiplied by 2 or 4 for a 24V or 48V setup respectively. 
 + 
 +The larger 1V setting is a legacy setting and is now discouraged. When using ESS mode 3 with the overvoltage feed-in feature, it is recommended that you set this register to 1, which will use the lower 100mV offset. 
 +==== 3.3 Running software on the GX device and using DBus paths ==== 
 + 
 +When controlling the Multi using software running on the GX device, you should set //Settings->ESS->Mode// to //external control//. The following dbus paths can then be adjusted on the com.victronenergy.vebus.ttyO1 service.
  
 === a) Grid Power Setpoints - /Hub4/Lx/AcPowerSetpoint === === a) Grid Power Setpoints - /Hub4/Lx/AcPowerSetpoint ===
Line 171: Line 199:
     * When set to -400W, it will feed 400W back through its input. This energy will be taken from the battery. If there is also a 200W AC load connected to AC output the total energy taken from the battery will be 600W. The batteries will always be discharged when the setpoint is negative.     * When set to -400W, it will feed 400W back through its input. This energy will be taken from the battery. If there is also a 200W AC load connected to AC output the total energy taken from the battery will be 600W. The batteries will always be discharged when the setpoint is negative.
     * When set to 400W, it will take 400W from the AC input. When the load on the output is lower than 400W, it will charge the battery with the difference. When the load on the AC output is higher, it will discharge the battery with the difference. So with a positive setpoint charge/discharge depends also on the connected loads.     * When set to 400W, it will take 400W from the AC input. When the load on the output is lower than 400W, it will charge the battery with the difference. When the load on the AC output is higher, it will discharge the battery with the difference. So with a positive setpoint charge/discharge depends also on the connected loads.
-    * **Important note**: The above examples describe operation from the point of view of the CCGX. When communicating directly with the ESS assistant (see further on) you should bear in mind that the CCGX inverts the setpoint: Positive becomes negative and vice versa.+    * **Important note**: The above examples describe operation from the point of view of the GX device. When communicating directly with the ESS assistant (see further on) you should bear in mind that the GX device inverts the setpoint: Positive becomes negative and vice versa.
   * Note that it will always remain within battery and maximum inverter power limits: when the battery is full or when the maximum charge current as configured in VEConfigure is already met, it will not draw more power, and when instructed to discharge with 10000 watt while it only has a 2500W inverter capacity, it will discharge with 2500W until the battery is empty.   * Note that it will always remain within battery and maximum inverter power limits: when the battery is full or when the maximum charge current as configured in VEConfigure is already met, it will not draw more power, and when instructed to discharge with 10000 watt while it only has a 2500W inverter capacity, it will discharge with 2500W until the battery is empty.
   * To force the Multi to Inverter Mode, set the switch to Inverter-only. Note that when you do that, there will be no grid assist. On an overload the Inverter will switch off and signal an overload alarm instead of switching back to the grid.   * To force the Multi to Inverter Mode, set the switch to Inverter-only. Note that when you do that, there will be no grid assist. On an overload the Inverter will switch off and signal an overload alarm instead of switching back to the grid.
Line 184: Line 212:
   * Note that there are various ramp-up and ramp-down restrictions, enforced by grid-codes and compliancy as well as for stability reasons; which might make the system respond slow to large load commands.   * Note that there are various ramp-up and ramp-down restrictions, enforced by grid-codes and compliancy as well as for stability reasons; which might make the system respond slow to large load commands.
   * The 'VE.Bus to VE.Can interface' does not support reading and writing the ESS/grid-parallel setpoint.   * The 'VE.Bus to VE.Can interface' does not support reading and writing the ESS/grid-parallel setpoint.
-  * If your system contains a ESS compatible AC-Sensor which is set up as grid meter, the CCGX will automatically enter mode 1 and start updating the AC power setpoint continuously. You can disable this behavior by setting //Settings->ESS->Mode// to //external control//. This will also disable [[ess:design-installation-manual#batterylife|BatteryLife]]. To do this via D-Bus or MQTT: set the value of /Settings/CGwacs/Hub4Mode in the com.victronenergy.settings service to 3 (=ESS control disabled).+  * If your system contains a ESS compatible AC-Sensor which is set up as grid meter, the GX device will automatically enter mode 1 and start updating the AC power setpoint continuously. You can disable this behavior by setting //Settings->ESS->Mode// to //external control//. This will also disable [[ess:design-installation-manual#batterylife|BatteryLife]]. To do this via D-Bus or MQTT: set the value of /Settings/CGwacs/Hub4Mode in the com.victronenergy.settings service to 3 (=ESS control disabled).
  
-==== 3.6 Using the MK3 directly instead of via CCGX ====+==== 3.6 Using the MK3 directly instead of via GX device ====
  
 === 3.6.1 Introduction === === 3.6.1 Introduction ===
-In this setup, it is not necessary to use a CCGX for the control interface. Instead an MK3 is used. We have both MK2-RS232 and an MK3-USB available, see the pricelist.+In this setup, it is not necessary to use a GX device for the control interface. Instead an MK3 is used. We have both MK2-RS232 and an MK3-USB available, see the pricelist.
  
 The MK3-USB has replaced the MK2-USB. There are no differences in the protocol. The MK3-USB has replaced the MK2-USB. There are no differences in the protocol.
  
-A direct connection to the VE.Bus RS485, without MK3 or CCGX, is not possible.+A direct connection to the VE.Bus RS485, without MK3 or GX device, is not possible.
  
 Note that, as also indicated on the Data Communication whitepaper, the MK2/3 protocol is not an easy protocol. That is unfortunate, but it is what it is. We cannot give support on it unless there is a huge commercial value behind the project, read thousands of Multis or Quattros. Note that, as also indicated on the Data Communication whitepaper, the MK2/3 protocol is not an easy protocol. That is unfortunate, but it is what it is. We cannot give support on it unless there is a huge commercial value behind the project, read thousands of Multis or Quattros.
Line 249: Line 277:
 (Length, 0xFF, ‘W’, 0x85, Lo(ValueA), Hi(ValueA), Lo(ValueB)*, Hi(ValueB)*, Checksum) (Length, 0xFF, ‘W’, 0x85, Lo(ValueA), Hi(ValueA), Lo(ValueB)*, Hi(ValueB)*, Checksum)
  
-ValueA is the contents of RAMID 128. In this example it is 0x0032 which indicates ESS with 2 extra RAMIDs.+ValueA is the contents of RAMID 128. In this example it is 0x0032 which indicates AssistantID = 3 with 2 extra RAMIDs. (3 is the ID of HUB-4 which is the predecessor of the ESS assistant)
  
 //*) Please note  that you will get an extra ValueB. This is a feature of newer Multi firmware versions. Because the IDs range from 0..255 the Hi(ID) field would always be 0. //*) Please note  that you will get an extra ValueB. This is a feature of newer Multi firmware versions. Because the IDs range from 0..255 the Hi(ID) field would always be 0.
Line 284: Line 312:
     * when you do not want to discharge, set the switch to charger-only. Note that when the switch is set to charger-only, and there is no grid available, there will still be a small power draw on the battery to power the control board.     * when you do not want to discharge, set the switch to charger-only. Note that when the switch is set to charger-only, and there is no grid available, there will still be a small power draw on the battery to power the control board.
     * when you do not want to charge, disable charging via the disable-charge flag.     * when you do not want to charge, disable charging via the disable-charge flag.
-  * As an alternative to running the control loop externally, using ModbusTCP, it is also possible to run code on the CCGX itself and update the AcPowerSetpoint via D-Bus. We have one customer that is running a MQTT client on the CCGX, written in Python, that gets the control-loop output as updates from a MQTT broker. And the Python script sends them to the Multi, using D-Bus service com.victronenergy.vebus.ttyO1, and path /Hub4/AcPowerSetpoint+  * As an alternative to running the control loop externally, using ModbusTCP, it is also possible to run code on the GX device itself and update the AcPowerSetpoint via D-Bus. We have one customer that is running a MQTT client on the GX device, written in Python, that gets the control-loop output as updates from a MQTT broker. And the Python script sends them to the Multi, using D-Bus service com.victronenergy.vebus.ttyO1, and path /Hub4/AcPowerSetpoint
  
 ===== 5. Response times and ramp speed ===== ===== 5. Response times and ramp speed =====
Line 351: Line 379:
   * Set register 37 to -1000   * Set register 37 to -1000
  
-===== DISQUS ===== +
-~~DISQUS~~+
  
ess/ess_mode_2_and_3.1594216110.txt.gz · Last modified: 2020-07-08 15:48 by iburger

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki