虚拟电厂平台架构
整体架构分层
VPP 平台是一个典型的"云-边-端"三层架构,从现场设备到电力市场形成完整的数据和控制闭环。
┌──────────────────────────────────────────────────────────┐
│ 云平台层(VPP 核心) │
│ 资源聚合引擎 │ 预测引擎 │ 调度引擎 │ 交易引擎 │ 结算引擎 │
├──────────────────────────────────────────────────────────┤
│ 边缘层(边缘网关) │
│ 协议适配 │ 本地 EMS │ 数据缓存 │ 边缘执行 │ 安全隔离 │
├──────────────────────────────────────────────────────────┤
│ 设备层(DER 资源) │
│ 储能 PCS │ 光伏逆变器 │ 充电桩 │ 楼控系统 │ 工业设备 │
└──────────────────────────────────────────────────────────┘核心功能模块详解
1. 资源聚合引擎
资源聚合是 VPP 的基础,负责管理所有接入资源的状态和能力。
核心数据模型:
Resource(资源)
├── resourceId: string # 全局唯一标识
├── type: enum # STORAGE / PV / LOAD / EV
├── location: GeoPoint # 地理位置(用于电网拓扑分析)
├── capacity: float # 额定容量(kW/kWh)
├── availableCapacity: float # 当前可用容量(实时更新)
├── responseTime: int # 最快响应时间(秒)
├── protocol: enum # MODBUS / IEC104 / MQTT / REST
└── status: enum # ONLINE / OFFLINE / FAULT / RESERVED聚合组(Portfolio):将多个资源按地区、类型、响应速度分组,形成可对外报价的"虚拟机组"。
2. 预测引擎
预测精度是 VPP 盈利能力的核心竞争力,分为三类预测:
负荷预测:
- 输入特征:历史用电数据、气象数据(温度/湿度/辐照度)、日历特征(工作日/节假日)、特殊事件
- 模型选型:短期(0-4h)用 LSTM 或 Transformer,超短期(0-15min)用在线学习模型
- 精度要求:日前预测 MAPE < 5%,超短期 MAPE < 3%
出力预测(针对光伏/风电):
- 光伏:基于 NWP(数值天气预报)+ 辐照度传感器数据
- 精度要求:日前预测 RMSE < 15%
价格预测(现货市场参与必备):
- 输入:历史价格、负荷预测、新能源出力预测、机组检修计划
- 模型:时序预测 + 市场规则约束
- 难点:价格尖峰(spike)预测,极端价格对套利收益影响最大
3. 调度引擎
调度引擎是 VPP 的"大脑",负责将市场指令分解为对每个资源的具体控制指令。
调度流程:
市场指令(总量 + 时间窗口)
↓
资源可用性评估(实时状态 + 约束检查)
↓
优化分配(目标函数:最小化成本 / 最大化收益)
↓
指令下发(按响应时间排序,优先调用快速资源)
↓
执行监控(实时跟踪,偏差超阈值触发补偿调度)
↓
结果上报(向市场侧报告实际执行量)优化约束:
- 储能 SOC 上下限(通常 10%-90%)
- 设备额定功率限制
- 用户舒适度约束(如空调温度不低于 26°C)
- 电网安全约束(不引发局部过载)
调度算法:
- 小规模资源(< 100 个节点):混合整数线性规划(MILP)
- 大规模资源(> 1000 个节点):启发式算法(遗传算法、粒子群)+ 分层调度
4. 交易引擎
负责与电力交易中心的系统对接,完成报价、中标、执行的全流程。
交易流程:
日前阶段(D-1)
├── 16:00 前:完成负荷/出力预测
├── 16:30 前:生成报价策略(量价曲线)
└── 17:00 前:通过交易系统 API 提交报价
实时阶段(D)
├── 每 15 分钟:更新超短期预测
├── 接收调度指令:解析 IEC 104 或 REST 报文
└── 触发调度引擎:下发控制指令与交易中心的接口协议:
- 国调/省调:IEC 60870-5-104(IEC 104)
- 部分省份交易中心:REST API + 数字证书认证
- 数据格式:XML(传统)或 JSON(新建系统)
5. 结算引擎
结算引擎负责计算每个资源的贡献量,并按合同条款分配收益。
计量数据来源:
- 关口电表(主计量):15 分钟间隔,精度 0.5 级
- 设备自报数据(辅助计量):用于实时监控,不作为结算依据
收益分配模型:
总收益 = 需求响应收益 + 辅助服务收益 + 现货套利收益 + 容量费
用户分成 = 总收益 × 用户贡献比例 × (1 - 平台服务费率)关键技术协议
Modbus RTU/TCP
用于接入工业设备(储能 PCS、充电桩控制器、工业负荷)。
典型寄存器映射(储能 PCS):
- 40001: 有功功率设定值(int16,单位 0.1kW)
- 40002: 无功功率设定值(int16,单位 0.1kVar)
- 30001: 实际有功功率(int16,只读)
- 30002: SOC(uint16,单位 0.1%)
- 00001: 启停控制(coil)IEC 60870-5-104
用于与电网调度系统通信,接收调度指令和上报遥测数据。
关键报文类型:
- C_SC_NA_1 (45): 单点遥控(启停)
- C_SE_NC_1 (50): 设定值命令(功率设定)
- M_ME_NC_1 (13): 短浮点数遥测(实时功率上报)
- M_SP_NA_1 (1): 单点遥信(状态上报)MQTT
用于边缘网关与云平台之间的数据上报,以及对响应速度要求不高的设备控制。
Topic 规范:
上报:vpp/{tenantId}/{resourceId}/telemetry
控制:vpp/{tenantId}/{resourceId}/command
状态:vpp/{tenantId}/{resourceId}/status边缘网关设计要点
边缘网关是 VPP 的神经末梢,承担协议转换、本地执行、断网续传等关键功能。
核心能力:
- 多协议并发接入:同时支持 Modbus RTU(RS485)、Modbus TCP、IEC 104、MQTT
- 本地 EMS:云端失联时,按预设策略本地执行,避免资源失控
- 数据缓存:断网期间缓存遥测数据,恢复连接后补传,保证计量数据完整性
- 安全隔离:设备侧与云侧网络隔离,防止云端攻击穿透到现场设备
硬件选型参考:
- 工业级 ARM 主板(如 RK3568)+ Linux 系统
- 双网口(设备侧 + 云侧)
- 4G/5G 备用链路
- 本地存储 ≥ 32GB(缓存 7 天遥测数据)
数据流架构
设备层 边缘层 云平台层
─────────────────────────────────────────────────────────
PCS ──Modbus──┐
逆变器─Modbus─┤ 边缘网关 ┌─ 时序数据库(InfluxDB)
充电桩─OCPP──┤ ├─ 协议适配 │ (遥测数据,15s 间隔)
楼控─BACnet──┘ ├─ 数据清洗 MQTT─┤
├─ 本地 EMS ├─ 关系数据库(PostgreSQL)
└─ 边缘执行 │ (资源台账、合同、结算)
└─ 消息队列(Kafka)
(调度指令、事件流)