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 revision Previous revision
Next revision
Previous revision
ess:ess_mode_2_and_3 [2019-08-15 12:39]
guy_stewart replace venus-device with GX device
ess:ess_mode_2_and_3 [2020-07-09 14:32] (current)
iburger [3.2 Using ModbusTCP]
Line 5: Line 5:
 The here described functionality builds on top of the normal standalone operation, see [[ess:design-installation-manual|ESS manual]]. The here described functionality builds on top of the normal standalone operation, see [[ess:design-installation-manual|ESS manual]].
  
 +WARNING & DISCLAIMER: whilst publically available, Victron Energy does not offer support in professional customers or end-users that implement features using the here documented functionality, except in real specific situations.
 ===== 1. Overview of ESS operating modes ===== ===== 1. Overview of ESS operating modes =====
  
Line 29: Line 30:
   * Note that there is no AC sensor necessary, since the inverter/charger will act as a 'dumb' bi-directional inverter/charger. It will act on the external command given, which can for example be 'take 2000W from AC in, or feed back 100W through AC in'.   * Note that there is no AC sensor necessary, since the inverter/charger will act as a 'dumb' bi-directional inverter/charger. It will act on the external command given, which can for example be 'take 2000W from AC in, or feed back 100W through AC in'.
  
-Available control points include the switch (on, charger-only, inverter-only, off), a power setpoint in Watts: regulates the power on the ac-input, and more.+Available control points include the switch (on, charger-only, inverter-only, off), a power setpoint in Watts: regulates the power on the ac-input, and more. Similar to Mode 2, there are various ways to access those control points. Refer to the detailed section below. 
 + 
 +=== Mode 3 with a managed battery === 
 +When using Mode 3 with a managed battery, please note that the maximum discharge current sent by the battery will be ignored. The implemented control loop should take care of discharge limits communicated by the battery. 
 + 
 +The maximum charge current sent by a managed battery is however always heeded and cannot be overruled by the setpoint.
  
-Similar to Mode 2, there are various ways to access those control points. 
  
 ===== 2. Mode 2 in detail ===== ===== 2. Mode 2 in detail =====
Line 56: Line 61:
 Note that this settings has a higher priority than the //Grid power setpoint//. Note that this settings has a higher priority than the //Grid power setpoint//.
  
 +=== d) Maximum inverter power - Modbus-TCP register 2704 ===
 +  * -1: No limit
 +  * Any positive number: Maximum power in Watt that the Multi will feed to the loads.
 +
 +=== 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.
 +  * 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.
 +
 +=== f) Maximum system grid feed-in - Modbus-TCP register 2706 ===
 +  * -1: No limit. If feeding in excess PV is enabled, all of it will be fed in. See registers 2707 and 2708 below.
 +  * Any positive number: Maximum power in 100 Watt units to feed into the grid.
 +
 +=== g) Feed excess DC-coupled PV into the grid - Modbus-TCP register 2707 ===
 +  * 0: Excess DC-coupled PV is not fed into the grid.
 +  * 1: Excess DC-coupled PV is fed into the grid
 +
 +=== h) Feed excess AC-coupled PV into the grid - Modbus-TCP register 2708 ===
 +Please note that for historical reasons this register is inverted compared to 2707.
 +  * 0: Excess AC-coupled PV is fed into the grid
 +  * 1: Excess AC-coupled PV is not fed into the grid.
 +
 +=== i) Grid limiting status - Modbus-TCP register 2709 ===
 +When feed-in of excess AC-coupled PV is disabled, or when a limit is set in register 2706, limiting will be active.
 +  * 0: Feed-in of excess power is not limited in any way.
 +  * 1: Feed-in of excess power is limited in some way, either register 2707 is set to 0, or register 2706 is set to a positive number.
 ==== 2.2 Accessing the control points ==== ==== 2.2 Accessing the control points ====
  
Line 64: Line 94:
 For more information, see [[https://groups.google.com/forum/m/#!forum/victron-dev-venus|the developer mailing list]] as well as the [[https://github.com/victronenergy/dbus-mqtt|mqtt github repo]]. For more information, see [[https://groups.google.com/forum/m/#!forum/victron-dev-venus|the developer mailing list]] as well as the [[https://github.com/victronenergy/dbus-mqtt|mqtt github repo]].
  
-MQTT is available both on the local broker on the [[venus-os:start|GX device]], as well as remotely through the secure could 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 CCGX ===
Line 73: Line 103:
   * 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)
 +  * 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 114: Line 150:
   * 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.
  
 +=== 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.  
 +
 +=== 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
 ==== 3.3 Running software on the CCGX and using DBus paths ==== ==== 3.3 Running software on the CCGX and using DBus paths ====
  
Line 256: Line 302:
   * 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 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
  
-===== 5. Response times ===== +===== 5. Response times and ramp speed =====
- +
-Depending on which components are used, and from which point the communication is sent to the inverter, there are several factors involved in the response time: the Color Control GX, ModbusTCP, MK3 microprocessor, the Assistant, and the Multi itself. +
- +
-The (now deprecated) Hub-4 Assistant had no rate limiter.+
  
-The ESS Assistant has a rate limiter. In the currently latest version (162it is at 400W per second+There are multiple factors that determine the response time to a (digital-command to feed in:
  
-Backgroundlate 2016we copied the Hub-4 Assistant, and named the copy "ESS Assistant"And then development on the Hub-4 Assistant was stopped. The reason for the rate limiting is that without that there are regulation problems (overloads and such) when the mains is weak (long cables and such resulting in a relatively high impedance). More information on that [[ve.bus:grid-codes-and-loss-of-mains-detection|here]], as well as in the main ESS manual.+  - Latency and communication speed of all components in the communication chainModbusTCP or MQTTGX Device, MK3 microprocessor, ESS Assistant, internal communication in the Multi itself. 
 +  - Rate limiting imposed by the used Country Grid code. Code "Otherhas no rate limiting, Code "Europe" allows installer configurable rate limiting, many other codes have fixed a powerup ramp up. 
 +  Hard coded rate limiting in the inverter/charger firmware: as per ESS version 162 it is set to 400W per second. The reason for this rate limiter is that without that there are regulation problems (overloads and such) when the mains is weak (long cables and such resulting in a relatively high impedance). More information on that [[ve.bus:grid-codes-and-loss-of-mains-detection|here]], as well as in the main ESS manual.
  
 ===== 6. Further examples for external control ===== ===== 6. Further examples for external control =====
ess/ess_mode_2_and_3.1565865580.txt.gz · Last modified: 2019-08-15 12:39 by guy_stewart