Coordinate your equipment
Send coordinated commands to your batteries and inverters so the site works toward one operating goal.
Power plant control within Intellect Operate
Make your battery site work as one.
Coordinate your batteries and inverters, manage power at the grid connection, and respond to utility or site requirements. Intellect PPC is the Power Plant Controller product layer within our Intellect Operate battery EMS.

Send coordinated commands to your batteries and inverters so the site works toward one operating goal.
Manage power, voltage, and changes in output around the limits and requirements of your site.
Respond to utility commands and changing grid conditions with controls configured for your project.
Intellect PPC is a product layer inside the Operate battery EMS. Your energy strategy and plant controls work together, with configuration your team can manage and WATTMORE support when you want it.
Set your site’s energy strategy: when to charge, discharge, or hold.
Manage plant power at the grid connection, following configured site and utility requirements.
Carry out coordinated commands within the equipment’s operating limits.
Intellect PPC is WATTMORE’s Power Plant Controller product and a control layer within the Intellect Operate battery EMS. It measures frequency, voltage, and power at the point of interconnection and adjusts every inverter in the plant so the site meets its interconnection agreement, with frequency droop, voltage and reactive power control, ramp rate limiting, and state of charge protection. Its controls are configured for each project’s equipment and requirements.
Facts current as of .
Explore illustrative grid events and see how plant controls adjust the commands sent to the inverters.
Grid frequency drops below 59.97 Hz — watch the PPC respond with droop support
The grid is stable at 60.00 Hz. The EMS sends a 25 MW discharge command. The PPC passes it through with no modifications needed.
The PPC responds to frequency events within 100ms — faster than the EMS optimization cycle. Droop corrections bypass the normal ramp limiter so the battery can support the grid immediately.
A Power Plant Controller (PPC) is the real time supervisory control system that sits between the grid operator (or site level energy management system) and the individual power conversion equipment (inverters, converters). Every utility scale battery energy storage system (BESS) connected to the transmission or distribution grid requires a PPC to meet interconnection requirements defined by the grid operator, typically governed by IEEE 2800, NERC reliability standards, and the specific Interconnection Agreement (IA) for the site.
The PPC is responsible for ensuring the plant behaves as a single, predictable, grid compliant resource. It accepts high level dispatch commands (MW setpoint, voltage schedule, power factor target) and translates them into individual inverter level P and Q commands while enforcing grid code requirements: frequency response (droop), voltage regulation, ramp rate limits, and protection functions.
An Energy Management System (EMS) is the optimization layer that decides what the battery should do and when. It looks at electricity prices, demand charge schedules, solar forecasts, load patterns, and grid signals to determine the optimal dispatch strategy. The EMS operates on a longer time horizon (seconds to hours) and produces a power setpoint that represents the economically or operationally optimal action.
The EMS handles applications like peak demand shaving (reducing the facility's highest 15 minute power draw to lower demand charges), energy arbitrage (charging when electricity is cheap, discharging when expensive), solar self consumption, backup power management, and participation in wholesale energy markets.
The EMS and PPC run as independent processes connected through Redis. The EMS writes a power setpoint. The PPC reads it, applies all grid compliance transformations, and dispatches the result to inverters. This separation ensures the PPC can always enforce safety and grid code requirements regardless of what the EMS requests. If the grid needs emergency frequency support, the PPC overrides the EMS setpoint immediately without waiting for the optimization layer.
Each control loop iteration, the PPC reads inputs from Redis, processes the setpoint through a fixed sequence of control stages, and writes per inverter commands back to Redis. The stages execute in order. Each one transforms the power command before passing it to the next. This cascade architecture ensures grid code compliance is applied deterministically regardless of the upstream dispatch source.
Droop control is the primary frequency response mechanism required by virtually all grid codes for utility scale storage. When grid frequency deviates from nominal (60 Hz in North America, 50 Hz elsewhere), the battery injects or absorbs power proportionally to the deviation. This is a fast, autonomous response that does not wait for dispatch commands. It activates within the PPC control loop cycle time (100 ms default).
The droop percentage defines the sensitivity. A 5% droop on a 50 MW plant means the plant delivers full rated power when frequency drops by 5% of nominal (3 Hz on a 60 Hz system). A smaller droop percentage means more aggressive response. The deadband prevents the system from chasing normal frequency noise. The IEEE 2800 default deadband is ±36 mHz.
Inside the deadband the plant does not respond to frequency deviations (normal grid noise). Outside the deadband, response is linear with slope Kdroop.
droop_percentDroop slope as a percentage of rated power per nominal frequency. 5% is standard for BESS. Lower values give more aggressive response.
deadband_hzFrequency deviation threshold before response activates. IEEE 2800 default is 0.036 Hz (36 mHz). Prevents response to normal grid frequency noise.
max_response_mwOptional cap on droop output. If unset, defaults to plant rated power. Useful for limiting frequency response to a contracted capacity.
bypass_ramp_limiterWhen true, droop response bypasses the ramp rate limiter for fastest possible frequency support. Most grid codes require this.
Reactive power (Q, measured in MVAR) controls voltage at the point of interconnection. Unlike active power which transfers real energy, reactive power manages the electromagnetic field relationships in AC systems. Grid operators require BESS plants to support POI voltage through one of three modes, selectable based on the interconnection agreement.
Q follows P to maintain a fixed power factor. Leading (capacitive) Q injects reactive power. Lagging (inductive) absorbs it.
A PI controller adjusts Q to hold POI voltage at a setpoint (typically 1.0 pu). A deadband prevents hunting around the target.
A piecewise linear Q(V) characteristic curve. Four voltage breakpoints define the shape. Q is positive (inject) at low voltage, zero in the deadband, negative (absorb) at high voltage.
All three voltage modes share a common output rate limiter. The Q command is slew rate limited to prevent sudden reactive power swings that could cause POI voltage transients. Default limit is 5 MVAR/s, configurable per interconnection agreement. The rate limiter applies after mode calculation but before the command is written to inverters.
Interconnection agreements specify maximum rates of change for active power, typically in MW/min. This prevents the BESS from causing sudden power swings on the grid that could affect power quality for other connected customers. Separate up and down rates can be configured since some grid codes have asymmetric requirements (e.g., faster ramp down for safety, slower ramp up to prevent voltage sags).
When droop response is active and bypass_ramp_limiter is enabled, the ramp limiter is bypassed entirely so the plant can deliver full speed frequency support. This is standard practice. Grid frequency events require sub second response, and the interconnection ramp limit is intended for economic dispatch changes, not emergency grid support.
The SOC limiter protects the battery from over discharge and over charge by smoothly derating power commands as SOC approaches the configured boundaries. This uses a soft/hard limit system. Between the soft and hard limit, available power ramps linearly from 100% to 0%. This prevents sudden power cutoffs that would violate ramp rate requirements and provides a smooth degradation curve.
After the PPC computes the final plant level P and Q commands, the fleet allocator distributes these across all online inverters. Faulted inverters are excluded from allocation, and their commands are set to zero. Three allocation strategies are available.
Divides plant command equally among all online inverters, clamped to each inverter's rating. Simplest strategy. Works well when all inverters are identical.
Allocates proportionally to each inverter's rated capacity. Useful for mixed fleets with different inverter sizes.
Fills inverters sequentially to capacity before moving to the next. Minimizes active inverters. Useful for maintenance windows or efficiency optimization.
The PPC reads all inputs from Redis (published by the DAQ service) and writes all outputs to Redis (consumed by the PCS actuator and monitoring). It never connects directly to any hardware device. This architecture means the PPC can be stopped, started, or restarted without affecting data acquisition or device communication.
| Key | Direction | Description |
|---|---|---|
| {poi_meter}:latest | Read | POI frequency, voltage, power (from DAQ) |
| {bms}:latest | Read | Battery SOC, voltage, temperature (from DAQ) |
| controller:power_setpoint | Read | EMS active power setpoint in watts |
| ppc:p_setpoint_w | Read | PPC specific setpoint override (optional) |
| ppc:curtailment_mw | Read | Grid operator curtailment ceiling |
| ppc:p_cmd_w | Write | Plant level active power command |
| ppc:q_cmd_var | Write | Plant level reactive power command |
| ppc:inverter:{id} | Write | Per inverter P/Q commands (fleet dispatch) |
| ppc:status | Write | Service status, live readings, loop count |
Power Plant Controller. The real time supervisory controller for the entire BESS plant.
Energy Management System. Optimization layer that determines what the battery should do.
Point of Interconnection. The electrical boundary where the plant connects to the grid.
Battery Energy Storage System. The complete storage plant including batteries, inverters, and controls.
Power Conversion System. The inverter/converter that converts DC battery power to AC grid power.
Battery Management System. Monitors cell voltages, temperatures, and SOC. Enforces battery safety limits.
State of Charge. Battery energy level as a percentage (0% = empty, 100% = full).
Megawatt. Unit of active (real) power. 1 MW = 1,000 kW.
Mega Volt Ampere Reactive. Unit of reactive power, which controls voltage.
Per unit. Normalized value where 1.0 = nominal. Used for voltage (1.0 pu = rated voltage).
Proportional frequency response characteristic. Slope defines MW response per Hz deviation.
Frequency range around nominal where no droop response occurs (filters grid noise).
Power Factor. Ratio of real power to apparent power. PF = P / sqrt(P² + Q²). Range 0 to 1.
Automatic Generation Control. Grid operator signal that dynamically adjusts plant output for area frequency regulation.
Interconnection Agreement. Contract between plant owner and utility defining technical requirements.
Standard for interconnection of inverter based resources. Defines frequency/voltage response requirements.
Electromagnetic Transient. High fidelity time domain simulation capturing fast switching and control dynamics at microsecond resolution.
Intellect PPC is our Power Plant Controller product and a control layer within the Intellect Operate battery energy management system. Operate coordinates the site’s energy strategy, while PPC manages plant controls at the grid connection.
Yes. Your team can set up, configure, and operate Intellect Operate and its plant controls independently. WATTMORE design, engineering, and commissioning support is available when you want it.
Controls are configured around the equipment, available communications, operating goals, and utility requirements of the project. Your team can manage configuration or choose WATTMORE support for a new installation or existing site upgrade.
More on plant controls, architecture, and project requirements.
Explore Intellect PPC within Operate for a new battery project or an existing site upgrade, with the level of support your team chooses.