基于Simulink的储能功率分配优化控制仿真案例实验教程发布。
1. 实验介绍
许多地区以火电机组做为主要调频资源,而储能的调频效果远好于火电机组,引入相对少量的储能系统,将能够迅速并有效地解决区域电网调频资源不足的问题。本案例中低代码控制器接收主控系统下发的调遥指令,根据八个储能的SOC、充放电总里程等条件,通过优化求解下发出力指令,控制八个储能的出力,从而达到储能辅助调频的目的。
2. 实验目标
2.1 根据储能实际情况,搭建Simulink仿真模型;
2.2 实现Simulink模型与低代码控制器的硬件在环通信;
2.3 编写低代码控制器配置表格并成功实现控制。
3. 实验模型
本实验模型需要自行搭建。根据储能电池模型,可搭建模型如下:
其中,输入信号1“下发给PMS的遥控”代表储能的启停情况,“1”代表该储能开启,“0”代表储能关闭,经过“AND”元件后输入到选择元件中。
若信号1为“0”,储能关闭,则选择元件经过选择输出信号同样为“0”,该储能的输出1“充放电总里程”与输出2“SOC”都不会变化,输出3“实际功率”为0,相当于储能处于关闭状态。
若信号1为“1”,储能运行,则选择元件经过选择会输出信号2“下发给BMS的遥调”,此信号代表控制器下发给储能的出力指令,正号代表充电,负号代表放电。
充放电总里程计算:出力指令取绝对值,经过积分,可以得到充放电总里程,但此时的单位为kWs,需经过单位转换“1/3600”,转为常见的kWh。
储能SOC计算:出力指令直接进行积分,可以得到目前充放电的电量。与充放电总里程的计算类似,同样需要经过单位转换,后续再除蓄电池总容量,得到实际SOC变化量。但由于SOC通常由百分比表示,故乘以100,加上初始SOC的值(目前设为55,可根据实际情况设定),得到当前时刻的SOC值。
完成储能电池模型搭建后,对其进行封装。由于共有8个电池,将其复制8个,并引入S-函数,在S-函数中实现与低代码控制器通信功能,接收主控系统下发的调遥,完成储能功率分配并下发,如下图所示。
4. 实验原理
本实验案例求解优化问题实现储能功率的分配。考虑到方差优化的复杂性,尽量避免将二次式作为优化目标,以SOC相对平均值的总偏差的绝对值和功率相对平均值的偏差绝对值作为目标函数:
式中,w1表示SOC均衡的影响权重,w2表示功率变动带来的代价权重;SOCmean为各SOC均值;SOCi0为当前电池的SOC值;Pi表示当前电池的功率值;Pmean表示当前电池功率的平均值;SOCi表示在功率分发策略所计算出的功率工作下,下一时刻第i个电池的SOC值,具体计算式如下:
其中Eact,i表示电池i的实际容量。
5. 实验步骤
低代码控制器的特点在于不需要对控制器进行代码的编写,只要在excel文件之中进行测点配置、通信通道和AOE配置就可以实现相应的控制。将控制器电源线与电源相连,打开电源开关,再用网线将控制器与计算机连接,就可以使用。利用发现工具获得控制器ip,如下图所示:
当控制器启动并接入计算机,被计算机发现后,可以得到如下界面(打开一个浏览器,并输入控制器地址也可以得到如下界面)。
点击界面中控制器id,进入控制器配置界面,选择并导入测点、通道和AOE配置文件(excel文件另存为.csv格式文件后使用,可点击文末附件下载配置文件和仿真模型,其中points-zq.csv为测点配置文件,tcp-mbd-transport-1-zq.csv为通道配置文件,aoe-agc-test.csv为AOE配置文件,agc_test_2019a.slx为仿真模型,modbusCom1.m为S-函数源文件),点击界面中的“reset”即可保存配置并运行控制器。
6. 运行结果
先运行低代码控制器,再运行Simulink模型,进行仿真。利用低代码控制器进行优化求解,得到的控制结果如下所示:
指令功率和储能总功率曲线
各储能功率变化曲线
各储能SOC变化曲线
由该仿真实验可以看出,相较于传统控制器,低代码控制器可以实现混合整数线性规划问题的优化求解,实现储能出力对下发指令地跟踪,具有强大的功能。且无需复杂编程,更适合无编程基础人员使用。
储能功率分配优化控制仿真实验AOE配置文件下载链接: