Real-Time Control Agent
Code & Installation Instructions
The Real-Time (RT) Control Agent provides a framework for actuating one or more control algorithms on an energy storage system. The RTControl framework involves the use of three abstract class types: EnergyStorageSystem, ControlMode, and UseCase.
For each class there are several built-in subclasses, but user defined classes may also be configured and used.
EnergyStorageSystem
ESS classes abstract an energy storage system into a standard interface for use by control modes. The base class allows configuration of points on which state of charge and power can be monitored and (in the case of power) commanded. Currently two built-in ESS classes are shown in Table 1
Storage System | Description |
---|---|
FakeESS | Intended only for testing, commands sent to the FakeESS update in memory representations of the state of charge and power. |
SebBESS | This class is designed to communicate with a simple battery system which has a single control point in Watts. Other storage systems with a similar interface may be configured using the same class, or it may be used as a model for writing a custom class to command a system with a different control structure. |
UseCase
UseCases are information services intended to collect data necessary to actualize some goal with the storage system. The UseCase ingests data from elsewhere in the VOLTTRON ecosystem, performs any necessary model calculations or transformations, and makes it available to control modes through properties. Eight built-in Use Cases are available, as shown in Table 2 (It should be noted that some modelled values are provided only as stubs. These may be implemented by users who subclass these with their own model.)
Use Case | Description | Inputs |
---|---|---|
Energy Arbitrage | Energy arbitrage refers to the operation of energy storage that discharges when the electricity prices are high and charges when the prices are low. Since this type of energy storage operation reduces the net system load during peak hours and increases the load during off-peak hours, it is also often referred to as load leveling or load shifting. Energy arbitrage can be performed in both a vertically integrated system and in wholesale electricity markets. The economic reward is the price or cost differential between charging and discharging electrical energy minus the cost of losses during the full charging/discharging cycle. | • actual_price • forecast_price (stub) |
Frequency Response | The ESS is configured to independently respond to excursions from nominal frequency by altering its power output or input. The parameters by which the control will be actuated are set using vertices or gradients in a Frequency-Watt curve. | • metered_frequency |
Generation Following | Generation is fully or partially countered by using the ESS to absorb energy (charging) when metered generation rises beyond a configured threshold. This may be used to prevent export to the grid or as a mechanism for charging the ESS when local generation is high. | • forecast_power (stub) • realtime_power |
Load Following | Load is fully or partially countered by discharging the ESS when metered load rises above some threshold. | • forecast_power (stub) • realtime_power |
Peak Limiting | Metered load, beyond some configured threshold, is fully countered by discharing the ESS until load drops below this threshold again. This can be used as a mechanism to avoid capacity charges. | • realtime_power |
Regulation | The electric power system must maintain a near-real-time balance between generation and load. Balancing generation and load instantaneously and continuously is difficult because loads and generation are constantly fluctuating. Frequency regulation, also known as automatic frequency restoration reserve (aFRR) in continental Europe, are required to continuously balance generation and load under normal operating conditions. Traditionally, the majority of frequency regulation capability has been provided by specially equipped generators. As technologies evolve, new types of flexibility resources emerge, such as ESSs. | • agc_signal • price (stub) • performance_score (stub) |
Variability Mitigation | A power smoothing algorithm reduces power fluctuations from renewable energy sources or volatile loads. It manages energy storage systems to store excess power during high generation or low demand, and release stored power during low generation or high demand. It employs real-time monitoring and control systems to adjust power in response to changing conditions. The algorithm enhances stability and reliability of renewable energy integration and optimizes energy storage utilization. Variability (a.k.a. ramp-rate, volatility, or intermittency) is defined as an instantaneous change in a load or source power, e.g., rapid changes in solar output power due to an intermittent cloud cover. | • forecast_power (stub) • metered_power |
Mode
Control Modes contain the implementation of an algorithm for actuating the storage system. These may, optionally, ingest data from UseCases. They control the storage hardware through the interface of EnergyStorageSystem classes. Built-in control modes are described in Table 3
Control Mode | Description |
---|---|
Active Power Limit | Implements the MESA Active Power Limiting Mode, which disallows power commands outside of specified values. This is used along with other control modes to constrain their output commands. |
Active Power Response | Implements the MESA Active Power Response Modes. This mode may be configured to provide Generation Following, Load Following, or Peak Limiting, depending on the Use Case with which it is paired. |
Active Power Smoothing | Implements the MESA Active Power Smoothing Mode. This actuates the storage using a moving average filter applied to the measured output of a variable resource (e.g., the production meter on a photovoltaic array). |
AGC | Implements the MESA AGC Mode. This follows an AGC command signal. |
Adaptive Moving Average Control | Similar to the Active Power Smoothing mode, but using an algorithm which self-optimizes the window of the moving average filter by using a longer window (more aggressive smoothing) when variability is high and a shorter window (which will utiilize less of the storage resource)when variability is low. |
Charge/Discharge Storage | Implements the MESA Charge/Discharge Storage Mode. The battery is actuated using an ingested schedule or a pre-configured value. |
Frequency-Watt | Implements the MESA Frequency-Watt Mode. This utilizes a configured curve to adjust power in response to a measured frequency signal, with the goal of supporting the nominal grid frequency. |
PID | Uses a PID loop to attempt to maintain power targets in response to changes in load or generation. |
Rule Based | The rule based control is organized around developing rules to modify the battery set point from the day-ahead planning in real time. |