最近在忙一个共享储能电站在工业园区落地的项目,把工业企业如何通过共享储能电站做日前优化经济调度的逻辑完整跑了一遍。先说结论:共享储能电站如果只是简单当成“充电宝”,每天晚上谷段充电、白天高峰放电,账很难算得过;真正有价值的地方,是把它嵌进工业用户原有的购电计划和负荷管理体系里,把峰谷套利、需量控制、电价时段选择这些事放到同一个“日前计划”里去联合优化。
这篇内容主要写给三类人看:做储能电站投资或运营的朋友,想知道工业用户侧储能到底怎么靠“日前调度”把收益做出来;负责企业电力成本控制的工厂能源主管,想搞明白租赁共享储能比自建储能到底划算多少;还有正在研究需求侧响应、综合能源系统方向的同行,可以参考一套可以直接落地的建模和算账流程。我尽量把原理、建模、算例、避坑都写清楚,不堆公式,但也别指望靠拍脑袋能做出靠谱计划。
1. 为什么共享储能加工业用户,会变成项目上的热门组合
1.1 共享储能解决的是“储能利用率”问题
传统储能的业主是谁?多数是新能源电站配储、独立大型储能电站。它们的收益来源比较集中,要么靠调峰调频、要么靠容量租赁。问题是,独立储能站接入电网侧或电源侧之后,调度权不完全在自己手里,实际每天充放多少次、充放多少深度,收益率波动很大,很多项目做下来年利用小时数不好看。
共享储能本质上换了一种投资和消费逻辑:一个集中式或园区级储能电站,把容量拆成若干份,出租或出售给多个电力用户,大家共用一套电池、PCS、并网设施。对企业来说,不需要一次性掏几百万元建储能,也不需要养运维团队;对储能投资者来说,用户侧天然有峰谷价差、需量电价这些刚性需求,比单纯做电网侧调峰更容易形成稳定调度预期。
但这里有个很关键的前提:共享储能的“共享”不是大家随便充放,所有用户的调度需求叠加在一个电站上,存在容量冲突问题。所以通常落地时会按容量分配和日前申报来做,每个用户提前一天上报第二天的负荷预测曲线和预计充放电需求,平台统一优化,形成各自的充放电计划。这篇文章里讨论的“日前优化”,说的就是这一层。
1.2 工业用户电费单里的优化空间,比想象中大
大工业用户的电费不是“一度电多少钱”这么简单。一般包含三块:电度电费、基本电费(按变压器容量或按最大需量计收)、力调电费以及各类附加。很多工厂能源管理只盯着电度电费,觉得把高峰用电挪到低谷就是全部,实际上按月统计的最大需量那部分成本,往往被忽略了。
举个例子,某机械加工厂变压器容量3150kVA,如果按容量计收基本电费,假设当地是28元/kVA·月,每月固定支出就接近8.8万元。如果改成按最大需量计收,假设最大需量是2200kW,当地需量电价可能是40元/kW·月,每月支出大概也是8.8万元。这时如果储能能把最大需量压到1700kW,按需量计收的月基本电费能降到6.8万元,一个月省下两万多元,一年就是二十多万元。这个钱,和日常峰谷套利的收益是同一个量级,甚至更高。
共享储能在用户侧的价值,就体现在它既能“搬电”也能“压峰”:谷段充电,减少高峰从电网取电;高峰放电,让电网侧计量点上的峰值需求降下来。这些都必须在日前做好规划,因为基本电费按最大需量结算时,只看的是月度每个15分钟窗口里的最大功率,如果不在日前把储能出力排进去,当天运行完全靠现场临时人工判断,很容易出现“该放电时没放、不该放时放了”的浪费。
1.3 日前调度的本质,是用预测换确定性
电力系统的交易和调度,很多是按“日前计划+实时调整”来组织的。工业用户现在即便不走电力现货市场,也普遍安装了分时表计,执行峰谷分时电价,于是“提前一天决定明天几时几分充、几时几分放”这件事,就具有了实际经济意义。
为什么强调日前而不是实时?因为日前计划有足够时间做全局优化。今天下午看到明天有16个小时可以充放电,可以同时考虑负荷走势、电价时段、储能SOC(荷电状态)、需量窗口,甚至天气变化对产线的影响。到了第二天实盘,你只是在执行这个计划,最多每15分钟做一次小范围修正。这种做法背后的管理学逻辑很简单:调度问题越早做,可选项越多,越到实时阶段,能动的东西越少。
因此,整个项目我们实践下来,核心不是算法有多高级,而是能不能把用户第二天的负荷预测、分时电价表、储能可用容量和需量上报四个数据源完整对起来,生成一份“什么时候从电网买多少电、什么时候储能放多少电”的时程表。这就是工业用户日前优化经济调度的底层框架。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 日前经济调度模型的搭建思路
2.1 决策变量:每天24小时,要跑的是三条功率曲线
做任何一种调度优化,第一步是厘清决策变量。对这个项目来说,我们不需要去控制储能电站内部每一台PCS的启停,那是电站能量管理系统的事。站在工业用户和共享储能运营平台的角度,日的决策变量可以抽象成三条曲线:
- 从电网购入功率:每个时段买多少千瓦,决定电度电费和最大需量;
- 储能充电功率:每个时段充多少千瓦;
- 储能放电功率:每个时段放多少千瓦。
如果用户侧允许余电上网,还可以加一条“反送电网功率”,但常规的共享储能用户场景以“自发自用、削峰填谷”为主,不建议设计成向电网反送电,一是很多地方并网政策不支持,二是反送电的收益按燃煤基准价或现货价格结算,往往不如自己消纳划算。所以模型里直接采用功率平衡约束:电网购电功率+储能放电功率=负荷功率+储能充电功率,倒送不做。
储能本身的充放电功率也有物理限制。如果用户租赁的是1000kW/2000kWh的标准单元,满功率充放大约需要2小时,也就是0.5C倍率。把充放电功率拆成两个非负变量后,还要加互斥约束,防止求解器为了降低目标函数值,在同一时段既充电又放电,白白损失能量效率还多付服务费。
2.2 目标函数:每一度电的成本,拆到15分钟颗粒度
经济调度的目标很直接:让用户当天总用电成本最低。但想写清楚目标函数,先要把成本构成逐项列出来。
电度电费部分是最直观的:某一时段电网购电功率乘以该时段电价,按15分钟累计后求和。电价数据来自当地峰谷分时目录电价表,或者电力现货市场的日前出清价格。这里有个容易忽略的点:如果项目所在地执行的是尖峰电价,尖峰时段和高峰时段价格差异可能超过0.2元/度,这对充放电策略影响很大,模型里必须按真实时段的阶梯价格填进去,不能简单用“峰平谷”三段代替。
与储能相关的费用要分模式处理。如果用户是按“容量租赁”付费,那么租赁费是固定成本,在日优化时只需要把单位充放电服务费,比如按循环电量0.1到0.3元/kWh,放进目标函数;如果用户是按“充放电量分成”模式,那么储能放电节省下来的电费要按比例分给运营方,这个比例乘以单时段电价后,相当于单位放电成本上升,模型也会自动调整放多少电最合适。
基本电费或需量电费在日前单日优化里不好直接线性化,因为最大需量是按月统计的,跨越多天。工程上常用两步走:第一步,用历史月份最大需量和本日预计最大需量做“月度滚动约束”,给当天电网侧最大功率设一个上限;第二步,把该上限对应的需量成本按本月剩余天数摊到当天,近似进目标函数。这样做虽然不够数学上严谨,但工程实现简单,项目里足够用。
如果用一句话来表达目标函数,就是:最小化“所有时段购电电费+储能服务费+需量费用分摊–可能的奖励收益”。奖励收益包括参与需求响应拿到的补贴,如果共享储能同时申报了需求响应容量,这部分收益也要提前在日前计划中锁定。
2.3 必须守住的约束条件,少了任何一个都可能出事
建模不是把所有成本项写进目标函数就完事,约束条件才是真正体现工程经验的地方。
- 储能SOC递推约束:SOC每个时段根据充放电功率更新,必须把充放电效率带进去。充电时按95%计入电池,放电时按95%放出,两个效率不能合并成一个,否则长时间仿真的电量误差会很大。
- SOC上下限约束:锂离子电池建议运行区间放在10%-95%,不要动辄充到100%或放到0%,既影响寿命,也让后续可用容量判断失真。
- 功率极限与爬坡约束:每个时段充放电功率不超过租赁容量上限,还要考虑从充电转为放电时功率变化的爬坡限制。有些PCS型号从-1000kW切换到+1000kW不能瞬时完成,需要以每分钟几百千瓦的速率变化,这项参数如果漏掉,计划表下来现场根本执行不了。
- 需量窗口约束:电网侧购入功率在每个15分钟窗口内有上限,这个上限就是用户向电网申报的最大需量值。考虑到负荷预测存在误差,优化时会留3%-5%的余量,避免因为预测偏高一点就触发罚款。
- 合同容量约束:如果用户和售电公司签的是约定交易曲线,电网购电功率还要贴合这条曲线,否则会产生偏差考核。现在很多地方对偏差电量考核很严格,计划外用电量要按惩罚性价格结算。
真正的难点在于用户侧负荷随机波动。虽然在做日前调度时只能基于预测,但至少要保证模型在负荷预测值上下浮动10%时,储能出力调整后仍不越限。我们早期模型里没有加这一层,结果某个有大型焊机的工厂,现场短时间内负荷猛增,储能放到最大功率还是兜不住,那个月最大需量超了不少。后来学乖了,在约束条件前先做预测带宽分析,给需量上限多留余地。
2.4 求解工具和常用的软件搭配
这类问题的数学本质是混合整数线性规划。因为充放电互斥需要引入0-1变量,如果还考虑PCS启停、电池在不同功率下的效率曲线差异,问题会进一步变成混合整数二次约束规划。对绝大多数日尺度调度,规模并不大:一天按96个15分钟时段计,储能相关变量加电网购电变量大概几百个,用常见的求解器几秒钟就能得到最优解。
我们项目实际用的流程是:Python写数据和约束,调用商业求解器做优化,结果导出成Excel充放电计划表,再同步给储能电站的能量管理系统执行。如果不想上商业求解器,开源的CBC和SCIP也能解这个规模的问题,只是数据量上来或者加了月度滚动窗口以后,收敛速度会慢一些,需要做收敛时间测试。
有几个工具层面的经验很值得说:第一,目标函数里的价格不要用“峰平谷”文字匹配,要按每个时段的具体电价填向量,方便未来切换到现货市场价格;第二,SOC初值非常重要,必须在凌晨零点用实际值回填,不能用昨天计划的结束值代替,否则第二天一开始就跑偏;第三,求解结果要做可行性检查,不能只看最优值,重点检查每个时段功率平衡是否真的闭合、SOC是否连续,防止出现模型数据错误导致计划表出现某些时段既无负荷又无充放电,对账却对不平的情况。
3. 实操案例:某中型制造企业的日前调度计划这样定
3.1 基础数据准备:先拿30天负荷曲线和电价时段表
为了让整个流程更具体,我们拿项目里一个典型用户来演示。这是一个中小型机械零部件加工厂,主要设备是数控机床和热处理炉,工作班次基本固定。厂区配电容量是2500kVA,实际最大负荷约2000kW,平均负荷不到1000kW。这个厂原先执行一般工商业峰谷电价,时段和价格大致如下:
| 时段类型 | 时间段 | 电价(元/kWh) |
|---|---|---|
| 谷段 | 23:00-次日7:00 | 0.32 |
| 平段 | 7:00-9:00、12:00-14:00、19:00-23:00 | 0.68 |
| 峰段 | 9:00-12:00、14:00-19:00 | 1.03 |
不考虑尖峰电价的情况下,峰谷价差有0.71元/度,晚上谷段电价只有日间峰段的不到三分之一,做储能的先天条件还不错。
从负荷数据看,白天两个加工班次相对稳定,晚间峰段负荷反而比白天低,因为晚班只开部分设备。这种用户的特点是,白天电价最高的时候负荷也高,而谷段负荷低、有富余的变压器容量,恰好适合把谷段电能储起来白天用。
数据处理时要注意三点:一是把所有时间戳统一成15分钟粒度,缺失数据用前后线性插值补上;二是剔除检修日、节假日等异常日,那些天负荷低很多,但储能计划不能按停产状态来做;三是按工作日和休息日分别做典型曲线,因为两种日类型的电价时段一样,但负荷形态差异大,统一做计划会导致中午充满后放不出来,出现容量闲置。
3.2 初始方案:先算一次“两充两放”的理论上限
在让求解器跑优化前,我们习惯先用人工逻辑算一遍理论上限,判断这个项目值不值得做。比如用户租赁1000kW/2000kWh容量,电池不能充满到100%,按95%上限算,实际可用能量约1900kWh。如果凌晨谷段充电1900kWh,全部在峰段放出,考虑95%放电效率后,用户实际能用到约1800kWh。
峰段电价1.03元/度,谷段电价0.32元/度,假设服务费按0.12元/kWh计,充放电各算一次,那么一个完整循环的单次收益是:
- 峰段放电节省电费:1800 kWh × 1.03 元 = 1854元
- 谷段充电电费:1900 kWh × 0.32 元 = 608元
- 充放电服务费:约(1900+1800)×0.12=444元
- 单次循环净收益约:802元
这只是“一充一放”的场景。如果中午平段电价只有0.68元,在谷段或平段电价较低时补一次电、下午峰段再放一次,理论上还能做第二笔收益。但受到容量和蓄电池在一天内循环次数的限制,不能无限套利,两充两放比较现实。
算到这里,可以做一个粗略判断:如果每天稳定做一次完整循环加一次部分循环,日净收益大致在1000到1500元区间,年化按300个生产日估算,大约30到40万元。对用户而言,如果共享储能年租金低于这个数,项目就划算;对运营方而言,这笔租金还能顺带覆盖一部分储能系统折旧和运维。当然,实际收益还要扣掉负荷不匹配导致的弃放、电池衰减、电价政策调整带来的风险,但至少方向是能算过账的。
3.3 优化后的充放电计划,比人工排程强在哪
把实际负荷曲线和电价时段交给模型优化后,得到的日前充放电计划大致如下:
| 时段 | 动作 | 功率与SOC说明 |
|---|---|---|
| 00:00-04:00 | 谷段充电 | 按约500kW功率充电约4小时,SOC升至92%附近,为早峰需求存储能量 |
| 07:00-09:00 | 平段初期保持SOC | 负荷较低,不急于放电,等待峰段 |
| 09:00-11:30 | 峰段放电 | 放电约1100kWh,主要覆盖白天加工负荷高峰,同时控制电网侧功率峰值 |
| 12:00-13:30 | 午间平段补电 | 用约450kW功率补电约1.5小时,SOC回到约55% |
| 14:00-16:30 | 下午峰段放电 | 第二次放电约900kWh,覆盖热处理炉集中用电 |
| 19:00-23:00 | 晚间平段不刻意动作 | 负荷回落,SOC自然保持低位,准备下一个充电周期 |
对比人工排程,模型最重要的改进是它没有把电池在早峰一次性放空,而是留了一部分给下午。原因是该厂下午峰段负荷更高,而且中午平段存在补电窗口,分两段放综合收益更大。如果只按“晚上充满、上午放完”的直觉来排,下午仍然高负荷时电池已经没有电,电网侧峰值会冲高,基本电费损失远超上午多放出来的那点峰谷价差。
这个计划同时默认了一个前提:日前负荷预测准确度高。该项目实际提前一天的预测误差控制在5%以内,所以计划执行得比较顺。如果预测误差超过10%,日前计划表就会偏离实际,需要在日内滚动修正时重点盯住下午峰段的偏差。
3.4 做完计划后,结算和分成怎么处理
共享储能项目落地时,用户和运营方之间的结算方式直接影响调度模型的目标函数,必须在优化之前就定清楚。
项目里这个厂采用的是“容量租赁+服务费”模式:用户按月付一笔容量租金,获得1000kW/2000kWh储能容量的使用权;每次实际充放电时,按电量支付服务费。电费单优化后节省的钱全部归用户。这种模式的好处是边界清晰,用户感受到的收益直接是电费单下降,运营方不需要承担电价波动风险。
还有一种常见模式是“收益分成”。储能电站不向用户收固定租赁费,而是在每月结算时,根据储能放电量和对应时段电价算出“削峰收益”,再按事先约定的65%比35%分成。这种模式前期用户接受度高,但结算容易扯皮,因为电价和负荷每天都在变,需要双方共同认可一套电量拆分算法。我们后来在别的项目里干脆做成“独立计量+分表结算”,储能放电量单独装表,每个月拿数据说话,效率高很多。
4. 这个项目里最容易踩的坑和排查技巧
4.1 典型问题速查表
| 现象 | 可能原因 | 排查思路 |
|---|---|---|
| 计划表显示凌晨在充电,但储能电站实际SOC没有按计划上升 | 平台下发计划不同步,或储能PCS处于本地轮询模式 | 检查计划文件时间戳和能量管理系统接口日志,确认下发通道 |
| 谷段充电量比模型预期少 | 谷段充电功率触发了厂区需量限制,或是电价时段定义不一致 | 查看电网侧功率曲线,确认没有和最大需量约束冲突,核对时段表 |
| 放电高峰时段电网侧购电功率降不下来 | 负荷预测偏低,储能放电量不足以覆盖实际负荷 | 提升日前负荷预测模型精度,日内增设每15分钟滚动修正 |
| 月度账单一算,基本电费比预估高 | 需量窗口超标通常发生在非峰段 | 把需量约束按全天96点做,不要只约束高峰时段 |
| 储能实际循环效率比设计低10%以上 | 辅助用电、PCS损耗、电池温度影响被忽略 | 在模型中把储能综合往返效率设为实测值,每季度校核一次容量 |
| 用户和运营方对分成金额对不上 | 充放电量计量点不一致 | 统一接入同一个关口表,按日冻结电量 |
4.2 现场最容易忽略的两个细节
第一个细节是辅助用电不要漏算。储能电站不是只有电池在充放电,空调、消防、监控、EMS系统都在耗电,这部分“厂用电”如果由用户侧承担,会直接吃掉一部分套利利润。我们早期在核算时只按电池端电量算效率,结果实际收益比测算低了8%到10%。后来规范做法是:所有经济测算和优化模型都改用关口表计量点上的数据,把辅助用电成本按运行时间折算进服务费。
第二个细节是电价政策调整的应对机制。分时电价时段不是永远不变的,部分省份已经开始调整峰谷时段,比如中午光伏大发时段可能从平段变成深谷,晚高峰延长。日前调度模型里如果写死了时段表,政策一变,策略就会失效。我们项目里专门设计了一个“电价时段参数配置表”,由运营人员每月更新一次,所有优化逻辑从这个表读取价格,不改模型代码。这样政策调整时,只需要改Excel配置,不需要重新部署系统。
5. 这个模式还能往哪里延伸
5.1 从电度电费优化扩展到需量申报联合优化
共享储能给工业用户的价值不只是峰谷套利。很多省份对100kVA以上工商业用户实行两部制电价,基本电费可以选择按变压器容量或最大需量计费。如果用户选择按最大需量计费,储能就可以在每月用电高峰时段精准放电,把最大需量压低。
我们后来在一个化工企业项目里,把日前调度模型加上了“月度最大需量跟踪”模块,每天优化前读取本月已出现的最大需量值,如果当天预测负荷可能超过历史最高值,模型会自动把储能放电功率提前调高,优先守住需量线。这个模块增加后,该企业连续两个月的最大需量基本都控制在了申报值附近,月基本电费比之前明显下降。这个方向比单纯扩充电量套利更有价值,因为基本电费是“看峰不看谷”,一次压不住,整月都受影响。
5.2 用滚动历史数据反推储能容量配比
不少共享储能运营方在给企业报价时,容易犯同一个错误:储能容量拍脑袋定,结果要么配大了闲置,要么配小了削峰效果不明显。正确做法是拿用户至少三个月的15分钟负荷数据,按月做一次滚动模拟,测试不同功率容量和能量容量组合下的月度收益,画出一条边际收益曲线,再看曲线拐点。拐点附近的配置才是最经济的组合。
比如某用户现场负荷峰值1800kW,但超出1500kW的持续时间每天只有1小时,这时配大功率储能不一定划算,反而应该选功率1000kW、持续充放2小时的中低配方案,让电池在更长时间段内平稳放电。优化模型要支持这种长周期回测,才能给用户提出靠谱的容量建议。
5.3 平台化调度:多个用户共用一套储能资源时怎么分
当共享储能电站接入的用户不止一家时,日前调度会变成一个更复杂的资源分配问题。每个用户都倾向于在电价相同时多放一点电,但如果储能总容量有限,运营平台必须做优先级排序。实际项目里通常采用的解决办法是:前一天每个用户提交第二天各时段申报用电曲线,平台先做“容量预分配”,把储能充放电能力按合同容量比例或收益贡献度切给用户,再让每个用户在分到的容量边界内做自己的经济优化。
这种模式下,用户侧的日前调度和平台侧的储能调度是两个层级,但耦合紧密。如果没有把容量边界实时同步给用户侧模型,大家各自为政地优化,结果可能出现多名用户在同一个时段都想放电,而储能功率根本不够分。我们在系统里专门加了容量占用接口,用户侧的优化模型每次求解前先查询平台剩余可用容量,再生成计划,避免全网出现冲突。
写到最后的一点体会
这类项目做下来,我最大的感受是,共享储能工业用户日前经济调度,难点不在算法模型本身,而在数据质量和运营机制。模型再精巧,负荷预测不准、电价时段维护不及时、结算规则不清晰,收益都会在落地环节被悄悄吃掉。反而那些看着笨但严格执行的步骤,比如每天核对一次SOC初值、每月更新一次电价参数表、每个季度做一次储能容量实测校核,才是项目长期稳健运行的根本。
如果你也正在做类似的共享储能或园区用户侧储能项目,我建议先别急着上复杂算法,找一家负荷曲线相对规律的用户,用半个月数据把“负荷预测+日前优化+日内修正”这个闭环跑通,用第一手数据证明收益模型,再去复制到更多用户。这套方法扩展性很强,但要靠一个个真实案例去打磨细节。后续我还会继续梳理多用户容量分配和现货市场环境下的日前策略,到时候再和大家聊。
