Smart Grid Balancing & Control
System ↔ SystemMeter readings drive load aggregation, frequency regulation, and billing.
6 nodes · 5 edgesenergy
eventsystemdb
Visual
Meter Reading Streamevent
AMI smart meter data arriving every 15 seconds via MQTT.
↓sequential→ Load Aggregation
Load Aggregationsystem
Sum demand by feeder, substation, and region.
↓sequential→ Frequency Regulation
↓parallel→ Billing Update
Frequency Regulationsystem
Calculate generation-load imbalance and dispatch correction signal.
↓conditional→ Storage Dispatch
↓sequential→ Grid Balancing
Storage Dispatchsystem
Charge or discharge battery storage based on frequency deviation.
Grid Balancingsystem
Coordinate distributed energy resources to maintain 60Hz nominal.
Billing Updatedb
Record interval consumption for time-of-use billing calculation.
uc-smart-grid-control.osop.yaml
osop_version: "1.0"
id: "smart-grid-control"
name: "Smart Grid Balancing & Control"
description: "Meter readings drive load aggregation, frequency regulation, and billing."
nodes:
- id: "meter_stream"
type: "event"
name: "Meter Reading Stream"
description: "AMI smart meter data arriving every 15 seconds via MQTT."
- id: "load_agg"
type: "system"
name: "Load Aggregation"
description: "Sum demand by feeder, substation, and region."
- id: "freq_regulate"
type: "system"
name: "Frequency Regulation"
description: "Calculate generation-load imbalance and dispatch correction signal."
timeout_sec: 5
- id: "storage_dispatch"
type: "system"
name: "Storage Dispatch"
description: "Charge or discharge battery storage based on frequency deviation."
security:
risk_level: "high"
- id: "grid_balance"
type: "system"
name: "Grid Balancing"
description: "Coordinate distributed energy resources to maintain 60Hz nominal."
- id: "billing_update"
type: "db"
name: "Billing Update"
description: "Record interval consumption for time-of-use billing calculation."
edges:
- from: "meter_stream"
to: "load_agg"
mode: "sequential"
- from: "load_agg"
to: "freq_regulate"
mode: "sequential"
- from: "freq_regulate"
to: "storage_dispatch"
mode: "conditional"
when: "abs(freq_deviation) > 0.02"
- from: "freq_regulate"
to: "grid_balance"
mode: "sequential"
- from: "load_agg"
to: "billing_update"
mode: "parallel"