system_integration:hub4_grid_parallel_external_control_loop
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
system_integration:hub4_grid_parallel_external_control_loop [2016-07-15 15:37] – edevries | system_integration:hub4_grid_parallel_external_control_loop [2019-01-22 10:16] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 5: | Line 5: | ||
Note that it is also possible to run a Victron grid parallel storage system without designing and implementing your own control loop, logic or measurements. See the [[system_integration: | Note that it is also possible to run a Victron grid parallel storage system without designing and implementing your own control loop, logic or measurements. See the [[system_integration: | ||
- | For firmware version requirements, refer to the [[system_integration: | + | Note that though this page mentions Hub-4, which is deprecated, it also applies |
- | + | ||
- | Three/ | + | |
- | + | ||
- | {{ : | + | |
===== 1. Overview of Hub-4 operating modes ===== | ===== 1. Overview of Hub-4 operating modes ===== | ||
==== 1.1 Mode 1 - Standard ==== | ==== 1.1 Mode 1 - Standard ==== | ||
- | Standard \\ The system runs automatically, | + | The system runs automatically, |
- | + | ||
- | Necessary Victron equipment: | + | |
- | - Multi or Quattro inverter/ | + | |
- | - Color Control GX | + | |
- | - AC sensor used for control loop | + | |
- | + | ||
- | For details refer to the [[system_integration: | + | |
==== 1.2 Mode 2 - Advanced ==== | ==== 1.2 Mode 2 - Advanced ==== | ||
- | Same as standard operating mode, but more flexibility is given to implement | + | Same as standard operating mode, but customer adds custom control doing time shifting, load management or other energy management optimization algorithms. |
- | + | ||
- | In standard mode the Hub-4 control system tries to keep the power flowing through the grid meter at 0 Watt (so no power is taken in from the grid, nor is any power fed back to the grid). Mode 2 means you set the target for the grid power. Setting the target to 100 Watt means that the system | + | |
- | + | ||
- | In addition you can also control battery charge and discharge. This allows you to control when the battery | + | |
- | + | ||
- | There are two ways to do this: | + | |
- | - Send commands to the CCGX via ModbusTCP: see [[ccgx: | + | |
- | - Run self-implemented code on the Color Control GX: complete flexibility and benefit from the VRM Portal and all other functionality already available on the CCGX, without having to add additional cost of extra PLCs or other control modules. | + | |
- | + | ||
- | Necessary Victron equipment: | + | |
- | - Same as mode 1, Standard. | + | |
- | + | ||
- | Available | + | |
* Grid power setpoint | * Grid power setpoint | ||
* Maximum charge percentage | * Maximum charge percentage | ||
* Maximum discharge percentage | * Maximum discharge percentage | ||
+ | |||
+ | There are two ways access those control points: | ||
+ | - Send commands to the CCGX via ModbusTCP, from an external control module, a PLC for example. | ||
+ | - Run self-implemented scripts on the CCGX, same functionality, | ||
+ | |||
+ | For more information, | ||
+ | |||
==== 1.3 Mode 3 - Custom ==== | ==== 1.3 Mode 3 - Custom ==== | ||
Customer self implements their control loop and grid measurements, | Customer self implements their control loop and grid measurements, | ||
Line 56: | Line 39: | ||
* Disable charge flag | * Disable charge flag | ||
* Disable feedback flag | * Disable feedback flag | ||
+ | |||
+ | For more information, | ||
+ | |||
===== 2. Details of operating mode 2 - Advanced ===== | ===== 2. Details of operating mode 2 - Advanced ===== | ||
- | ==== 2.1 Operation | + | ==== 2.1 Available control points |
- | | + | |
- | * D-Bus: com.victronenergy.hub4 / | + | === a) Grid power setpoint |
- | | + | * Positive: take power from grid. |
- | * Maximum | + | * Negative: |
- | * 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. | + | * Default: 0W. |
- | * 100%: no charge power not limited by CCGX (max charge current on multi still applies). | + | |
- | * >0% and <100%: The maximum allowed AC-In power is\\ '' | + | === b) Max charge current (fractional) - Modbus-TCP register 2701 === |
- | | + | Reduces the charge |
- | * Modbus: Register 2701, unit ID 0 | + | |
- | * Maximum discharge percentage. Can be used to enabled | + | |
- | * D-Bus: com.victronenergy.hub4 / | + | * 100%: unlimited charging. Battery, VEConfigure settings, and BMS permitting. |
- | * Modbus: Register 2702, unit ID 0 | + | * >0% and <100%: The maximum allowed AC-In power is\\ '' |
+ | |||
+ | === c) Enable discharge - Modbus-TCP register 2702 === | ||
+ | Though presented as a percentage, it is really a on/off mechanism. Setting the percentage below 50% will disable discharge. And setting it equal to or above 50% will enable discharge. | ||
+ | |||
+ | See the Modbus-TCP excel sheet for scaling and datatypes, available [[https:// | ||
+ | |||
+ | ==== 2.2 Accessing the control points ==== | ||
+ | |||
+ | === A) Via ModbusTCP === | ||
+ | See above mentioned register numbers. Use ModbusTCP unitid 100. | ||
+ | |||
+ | === B) Via MQTT === | ||
+ | Recently we have added MQTT to the protocols on the CCGX. For more information, | ||
+ | |||
+ | === C) Running your own scriptson the CCGX === | ||
+ | Start reading [[open_source: | ||
+ | |||
+ | The Hub-4 related | ||
+ | * com.victronenergy.hub4 /AcPowerSetpoint | ||
+ | * com.victronenergy.hub4 / | ||
+ | * com.victronenergy.hub4 / | ||
+ | |||
+ | ==== 2.3 Background ==== | ||
+ | In standard mode the Hub-4 control system tries to keep the power flowing through the grid meter at 0 Watt (so no power is taken in from the grid, nor is any power fed back to the grid). Mode 2 means you set the target for the grid power. Setting the target to 100 Watt means that the system tries to take 100 Watt from the grid. The power will be used to feed the loads or charge the battery. | ||
+ | |||
+ | In addition you can also control battery charge and discharge. This allows you to control when the battery is charged and discharged. | ||
+ | |||
+ | ==== 2.4 Notes ==== | ||
- | ==== 2.1 Notes ==== | ||
* The above settings are intended for power management, and will be overridden by battery safety mechanisms. For example: if the multi is in sustain mode - because the battery is almost empty - it will start charging the battery, event if the grid power setpoint is negative or the maximum charge percentage is set to zero. | * The above settings are intended for power management, and will be overridden by battery safety mechanisms. For example: if the multi is in sustain mode - because the battery is almost empty - it will start charging the battery, event if the grid power setpoint is negative or the maximum charge percentage is set to zero. | ||
* Sustain will always remain in operation. Disabling charge will not disable sustain. Note that this was added to the Hub-4 Assistant released in january 2016 (version 154). | * Sustain will always remain in operation. Disabling charge will not disable sustain. Note that this was added to the Hub-4 Assistant released in january 2016 (version 154). | ||
Line 184: | Line 197: | ||
* 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, | * 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, | ||
| | ||
+ | |||
===== DISQUS ===== | ===== DISQUS ===== | ||
~~DISQUS~~ | ~~DISQUS~~ | ||
+ |
system_integration/hub4_grid_parallel_external_control_loop.1468589836.txt.gz · Last modified: 2016-07-15 15:37 by edevries