Power plant control within Intellect Operate

Intellect PPC

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.

Intellect PPC dashboard showing site power, equipment status, and configurable plant controls
Plant status and control settings in one view.

Plant control with a clear job.

Coordinate your equipment

Send coordinated commands to your batteries and inverters so the site works toward one operating goal.

Manage your grid connection

Manage power, voltage, and changes in output around the limits and requirements of your site.

Follow utility and site requirements

Respond to utility commands and changing grid conditions with controls configured for your project.

How it fits.

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.

  1. 1

    Intellect Operate

    Set your site’s energy strategy: when to charge, discharge, or hold.

  2. 2

    Intellect PPC

    Manage plant power at the grid connection, following configured site and utility requirements.

  3. 3

    Your batteries and inverters

    Carry out coordinated commands within the equipment’s operating limits.

Explore technical controls and architecture

Intellect PPC at a glance

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.

  • Frequency watt droop with a configurable droop percentage and deadband, and a bypass of the ramp limiter during frequency events for sub second response.
  • Three reactive power modes: constant power factor, closed loop voltage regulation, and a volt VAR curve.
  • Ramp rate limits set separately for up and down, per the interconnection agreement.
  • Soft and hard state of charge limits with smooth derating so the plant never cuts power abruptly.
  • Fleet dispatch across all online inverters with equal, proportional, or priority allocation, plus AGC signal following.
  • Control loop on the order of 10 to 100 milliseconds; the EMS above it plans on one second to fifteen minute timescales.

Facts current as of .

Built to

  • IEEE 2800Interconnection of inverter based resources with transmission systems
  • IEEE 1547Interconnection of distributed energy resources
  • SunSpec ModbusInverter, meter, and storage data model interoperability
  • ModbusDevice polling over RTU and TCP

See the controls respond.

Explore illustrative grid events and see how plant controls adjust the commands sent to the inverters.

How The PPC Works

Frequency Dip Event

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.

Grid Inputs
Grid Frequency
60.000 Hz
POI Voltage
1.000 pu
EMS Command
25.0 MW
PPC Control Pipeline
1
Droop Response
+0.0 MW
Frequency within ±0.03 Hz deadband. No correction needed.
2
Voltage / Q Control
0.0 MVAR
Voltage at nominal. No reactive power adjustment.
3
Ramp Limiter
25.0 MW
No rate change. Command passes through.
4
SOC Protection
100%
SOC at 72%. Well within safe operating range.
5
Fleet Dispatch
4 inverters
Split equally across 4 online inverters
Plant Output
Total Output
25.0 MW
0.0 MVAR
INV 1
6.25 MW
INV 2
6.25 MW
INV 3
6.25 MW
INV 4
6.25 MW
Key Point

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.

1

What Is a Power Plant Controller?

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.

PPC Core Responsibilities

Active power dispatch and curtailment enforcement
Frequency watt droop response: Primary frequency response with configurable droop percentage, deadband, and bypass ramp limiting for sub second grid support
Reactive power and voltage control: Three modes including constant power factor, PI voltage regulation, and volt VAR curve response
Ramp rate limiting: Configurable up and down rates per interconnection agreement with automatic bypass during frequency events
State of charge protection: Soft and hard SOC limits with smooth derating curves that prevent sudden power cutoffs
Fleet dispatch: Equal, proportional, and priority allocation strategies across all online inverters
AGC signal following: Automatic generation control for area frequency regulation participation
2

What Is an Energy Management System?

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.

EMS vs PPC: Division of Responsibility

EMS (Optimization Layer)
  • Determines optimal MW setpoint
  • Reads electricity prices and tariffs
  • Forecasts load and solar generation
  • Manages schedules and time of use windows
  • Calculates economic value of dispatch
  • Operates on 1s to 15min timescales
PPC (Grid Compliance Layer)
  • Enforces grid code on EMS setpoint
  • Reads POI frequency and voltage
  • Applies droop and voltage response
  • Limits ramp rates to IA requirements
  • Protects battery SOC boundaries
  • Operates on 10ms to 100ms timescales
3

How the EMS and PPC Work Together

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.

System Architecture

Grid Operator
AGC / Curtailment
Market Prices
TOU / LMP / Tariff
POI Meter
f, V, P, Q
BMS
SOC, V, T, Limits
DAQ Service
Modbus polling → Redis canonical keys
Redis
Real time data bus - canonical names, setpoints, status
EMS Controller
PI control loop @ 20 Hz
Peak shaving, arbitrage, scheduling
P_setpoint (MW) →
Power Plant Controller
Control loop @ 10 Hz (configurable)
Droop + Voltage + Ramp + SOC + Fleet
P_cmd (MW)Q_cmd (MVAR)
INV 1
P, Q
INV 2
P, Q
INV 3
P, Q
INV N
P, Q
4

PPC Internal Signal Chain

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.

PPC Control Pipeline (per loop iteration)

Stage 1
EMS Setpoint
P_base
Stage 2
Droop
+ P_droop
Stage 3
Curtailment
min(P, limit)
Stage 4
SOC Limit
derate(P, SOC)
Stage 5
Ramp Limit
clamp(dP/dt)
Stage 6
Voltage/Q
Q_cmd
Stage 7
Fleet Alloc
P₁..Pₙ
Positive P = discharge (inject power to grid)  |  Negative P = charge (absorb from grid)  |  Positive Q = leading (capacitive)
5

Frequency Watt Droop Response

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.

Droop Calculation

Droop gain (MW per Hz of deviation after deadband):
Kdroop = Prated / (fnom × droop% / 100)
Example: 50 MW / (60 Hz × 5 / 100) = 50 / 3 = 16.67 MW/Hz
Effective frequency error (after deadband):
feff = (|fmeasured − fnom| > deadband) ? ferror − sign(ferror) × deadband : 0
Droop power output (additive to EMS setpoint):
Pdroop = −feff × Kdroop
Negative feff (under frequency) produces positive P (discharge/inject). The battery supports the grid when frequency drops.

Droop Characteristic Curve

+Pmax0−Pmax
deadband
fnom−3Hz
fnom
fnom+3Hz
Discharge
Charge

Inside the deadband the plant does not respond to frequency deviations (normal grid noise). Outside the deadband, response is linear with slope Kdroop.

Droop Configuration Parameters

droop_percent

Droop slope as a percentage of rated power per nominal frequency. 5% is standard for BESS. Lower values give more aggressive response.

deadband_hz

Frequency deviation threshold before response activates. IEEE 2800 default is 0.036 Hz (36 mHz). Prevents response to normal grid frequency noise.

max_response_mw

Optional cap on droop output. If unset, defaults to plant rated power. Useful for limiting frequency response to a contracted capacity.

bypass_ramp_limiter

When true, droop response bypasses the ramp rate limiter for fastest possible frequency support. Most grid codes require this.

6

Voltage and Reactive Power Control

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.

Mode 1: Constant Power Factor

Q follows P to maintain a fixed power factor. Leading (capacitive) Q injects reactive power. Lagging (inductive) absorbs it.

Q = |P| × tan(arccos(PF))
Example: P = 25 MW, PF = 0.95 leading → Q = 25 × tan(arccos(0.95)) = +8.2 MVAR

Mode 2: Voltage Regulation (PI)

A PI controller adjusts Q to hold POI voltage at a setpoint (typically 1.0 pu). A deadband prevents hunting around the target.

Verr = Vset − Vmeas
Q = Kp·Verr + Ki·∫Verr·dt
Default gains: Kp = 20, Ki = 10. Integral is anti windup clamped to Qmax.

Mode 3: Volt VAR Curve

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.

V1=0.92 → +Qmax | V2=0.98 → 0 | V3=1.02 → 0 | V4=1.08 → −Qmax
Linear interpolation between breakpoints. IEEE 1547 Category B default curve.

Q Rate Limiting

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.

7

Ramp Rate Limiting

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).

Ramp Limiter Algorithm

// Each control loop iteration (dt seconds):
max_step_up = ramp_up_mw_per_min / 60 × dt
max_step_down = ramp_down_mw_per_min / 60 × dt
delta = P_requested − P_previous
// Clamp the change
if delta > max_step_up: P_out = P_previous + max_step_up
elif delta < −max_step_down: P_out = P_previous − max_step_down
else: P_out = P_requested

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.

8

State of Charge Protection

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.

SOC Limit Regions

STOP
DERATE
FULL POWER AVAILABLE
DERATE
STOP
0%hard_min (5%)soft_min (10%)soft_max (90%)hard_max (95%)100%

Derating Formulas

Discharge factor (low SOC protection):
SOC ≤ hard_min: df = 0.0
hard_min < SOC ≤ soft_min:
df = (SOC − hard_min) / (soft_min − hard_min)
SOC > soft_min: df = 1.0
Charge factor (high SOC protection):
SOC ≥ hard_max: cf = 0.0
soft_max ≤ SOC < hard_max:
cf = (hard_max − SOC) / (hard_max − soft_max)
SOC < soft_max: cf = 1.0
P > 0 (discharge): Pout = min(P, Prated × df)   |   P < 0 (charge): Pout = max(P, −Prated × cf)
9

Fleet Dispatch and Inverter Allocation

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.

Equal Distribution

Divides plant command equally among all online inverters, clamped to each inverter's rating. Simplest strategy. Works well when all inverters are identical.

Pi = clamp(Ptotal / N, ±Prated,i)

Proportional Distribution

Allocates proportionally to each inverter's rated capacity. Useful for mixed fleets with different inverter sizes.

Pi = Ptotal × Prated,i / ΣPrated

Priority Distribution

Fills inverters sequentially to capacity before moving to the next. Minimizes active inverters. Useful for maintenance windows or efficiency optimization.

P1 = min(Prem, Prated,1), ...
10

Redis Data Flow and Key Map

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.

Redis Keys Used by PPC

KeyDirectionDescription
{poi_meter}:latestReadPOI frequency, voltage, power (from DAQ)
{bms}:latestReadBattery SOC, voltage, temperature (from DAQ)
controller:power_setpointReadEMS active power setpoint in watts
ppc:p_setpoint_wReadPPC specific setpoint override (optional)
ppc:curtailment_mwReadGrid operator curtailment ceiling
ppc:p_cmd_wWritePlant level active power command
ppc:q_cmd_varWritePlant level reactive power command
ppc:inverter:{id}WritePer inverter P/Q commands (fleet dispatch)
ppc:statusWriteService status, live readings, loop count
11

Glossary of Terms

PPC

Power Plant Controller. The real time supervisory controller for the entire BESS plant.

EMS

Energy Management System. Optimization layer that determines what the battery should do.

POI

Point of Interconnection. The electrical boundary where the plant connects to the grid.

BESS

Battery Energy Storage System. The complete storage plant including batteries, inverters, and controls.

PCS

Power Conversion System. The inverter/converter that converts DC battery power to AC grid power.

BMS

Battery Management System. Monitors cell voltages, temperatures, and SOC. Enforces battery safety limits.

SOC

State of Charge. Battery energy level as a percentage (0% = empty, 100% = full).

MW

Megawatt. Unit of active (real) power. 1 MW = 1,000 kW.

MVAR

Mega Volt Ampere Reactive. Unit of reactive power, which controls voltage.

pu

Per unit. Normalized value where 1.0 = nominal. Used for voltage (1.0 pu = rated voltage).

Droop

Proportional frequency response characteristic. Slope defines MW response per Hz deviation.

Deadband

Frequency range around nominal where no droop response occurs (filters grid noise).

PF

Power Factor. Ratio of real power to apparent power. PF = P / sqrt(P² + Q²). Range 0 to 1.

AGC

Automatic Generation Control. Grid operator signal that dynamically adjusts plant output for area frequency regulation.

IA

Interconnection Agreement. Contract between plant owner and utility defining technical requirements.

IEEE 2800

Standard for interconnection of inverter based resources. Defines frequency/voltage response requirements.

EMT

Electromagnetic Transient. High fidelity time domain simulation capturing fast switching and control dynamics at microsecond resolution.

A few practical answers

How does Intellect PPC fit within Operate?

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.

Can our team configure and run the system?

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.

How are controls matched to our site?

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.

Let’s talk about your site.

Explore Intellect PPC within Operate for a new battery project or an existing site upgrade, with the level of support your team chooses.

Talk to an engineer
Call UsTalk to us