杨小立, 杨 恒, 孟德军, 王 勇
(1.上海电力学院, 上海 200090; 2.国网浙江省电力公司嘉兴供电公司, 浙江 嘉兴 314000;3.国网上海市电力公司金山供电公司, 上海 200540)
基于MatlabGUI的电网拓扑错误检测仿真平台设计
杨小立1,2, 杨 恒3, 孟德军1, 王 勇1
(1.上海电力学院, 上海 200090; 2.国网浙江省电力公司嘉兴供电公司, 浙江 嘉兴 314000;3.国网上海市电力公司金山供电公司, 上海 200540)
利用Matlab以及图形用户界面(GUI)对电网拓扑错误进行检测,使仿真过程演示和结果显示效果更加直观,提高人机交互体验.通过Matlab对IEEE14节点系统进行仿真,结合GUI对仿真过程和结果进行直观演示.实验结果表明,该仿真平台系统具有良好的交互性和可扩展性.
拓扑错误; 电网; 仿真平台; 图形用户界面
电力系统的运行离不开本身的拓扑结构,正确规范的网络拓扑结构是其能够稳定运行的基础,也是进行状态估计的前提.电力系统网络拓扑错误会影响电力系统状态估计的精度,严重时可能导致估计结果不收敛[1],因此研究电网拓扑错误检测具有重要意义.
国内外学者针对网络拓扑错误检测的研究提出了许多算法,比如网络结构搜索辨识法[2]、残差法[3]、最小信息损失法[4]、新息图法[5]等.其中,残差法是基于量测残差进行拓扑错误检测,以线路或节点的有功残差值的大小检测拓扑错误,该方法以其简单、高效等特点在电力网路拓扑错误检测领域广泛应用.
但残差法也存在一定的问题,如计算过程较复杂,数据量较大,过程演示和结果显示麻烦,算法可扩展性差等.因此,针对电网拓扑错误检测需要建立更加直观和具有良好交互性的仿真界面平台.
本文将通过Matlab的图形用户界面(Graphical User Interface,GUI),结合IEEE标准节点系统的算例对仿真过程和实验结果进行直观演示.该仿真实验平台系统在拓扑错误检测方面具有良好的交互性,同时可根据实际需要进行系统扩展,增强其应用能力.
借鉴软件设计的模块化思想,将仿真实验平台分为输入模块、算法模块、仿真模块和输出模块,每个模块又可进行细分.
图1为系统总体架构设计图.
图1 仿真平台总体架构
输入模块主要由相关IEEE仿真节点系统的节点数据和支路数据的输入以及节点系统图的显示模块组成,可根据需要进行数据扩充.节点数据主要含有节点的电压幅值和相角值;支路数据包含支路的电抗值、电导值和电纳值,数据均以标幺值形式存在,为算法提供基础数据.算法模块和仿真模块利用节点数据和支路数据通过加权最小二乘法对IEEE节点系统进行状态估计,求出相关节点和支路的有功残差,对含拓扑错误的电网进行错误检测仿真.最后,由输出模块显示相关图形并进行结果分析.另外,仿真平台还提供文件的保存和打印等功能.
Matlab GUI设计[6-8]大体由控件选择、图像显示和回调函数编写3个部分组成.仿真平台设计以实现上述内容为目标,还要兼顾界面简洁美观、设计合理规范、程序灵活高效等原则[9].
首先,运行Matlab并在命令行运行guide命令或在文件菜单新建GUI文件,默认建立空白GUI文件并命名为tpdetect.fig.
根据仿真平台的要求,添加所需控件,借鉴匈牙利命名规则对相应控件Tag属性进行命名,以便于编写回调函数.整体界面设计效果见图2.
菜单选项等辅助选项可以帮助用户对运行和结果进行一些简单操作,为此软件附带了一些菜单选项,具有保存、打印等相关功能.
图2 仿真总体界面
编写各部分控件对应的回调函数是保证整个GUI界面运行的关键,系统整个过程分为系统输入和输出配置显示、仿真过程、结果显示3大模块.
系统输入部分,IEEE节点系统图和拓扑错误位置图的显示主要通过imread函数和imshow函数来实现,图像放大通过function Bigger_Callback(hObject,eventdata,handles)函数来实现.支路数据和节点数据存储于excel表格中,通过xlsread函数读取,并显示在GUI界面的table控件上.例如,支路数据table控件回调函数编写如下:
dataone=xlsread(‘linedata.xls’);
set(handles.table1,‘data’,dataone);%读入表格数据
set(handles.table1,‘ColumnName’,{‘节点号’,‘节点号’,‘电阻’,‘电抗’,‘电纳’,‘变比’})%设置表头
set(handles.table1,‘FontSize’,12);%设置字号
set(handles.table1,‘ColumnWidth’,{40,40,55,55,55,55});%表格间距设置.
仿真函数由busdata.m,linedata.m,zconv.m,ybusfunc.m,line_mat_func.m,wlscart等M文件子程序组成.busdata和linedata函数主要是存储节点和线路基础数据;zconv函数用以存储节点和线路量测数据;ybusfunc和line_mat_func函数用以构造节点和支路模型;wlscart通过自身以及调用上述子程序进行拓扑错误检测,并封装.在GUI界面中,仿真函数可以直接调用wlscart进行仿真.
functiontopyrun_Callback(hObject,eventdata,handles)%拓扑错误仿真函数
wlscart;%调用子程序进行仿真.
将结果以柱状图的形式显示在界面的右下方,再通过bar函数将仿真结果显示在GUI中:
y=[16.458 0.084 0.028 0.084 0.084 0.32 0.288 2.398 20.504 21.493 0.084 0.084 0.324 0.084 0.272];
b=bar(y);%设置柱状图纵坐标
grid on;%网格线设置
set(gca,‘FontSize’,12);%字号设置
set(gca,‘XTickLabel’,{‘3’,‘4’,‘8’,‘10’,‘11’,‘12’,‘14’… ‘1-2’,‘2-3’,‘4-2’,‘4-7’,‘5-2’,‘6-13’,‘11-6’,‘12-13’})%横坐标设置.
实验平台以IEEE14节点系统为例进行仿真.下面对电网拓扑错误检测的wlscart子程序残差法进行进一步说明.
电力系统加权最小二乘法状态估计线性化模型[10]为:
z=Hx+e
(1)
式中:z——m维量测向量;
x——n维状态向量;
H——量测雅可比矩阵;
e——对应的m维量测误差向量.
当电网中存在拓扑错误时,雅可比矩阵H也会含有误差,此时用Ht表示:
Ht=H+He
(2)
式中:Ht——实际雅可比矩阵;
H——计算雅可比矩阵;
He——量测雅可比误差矩阵.
此时式(1)变为:
z=Htx+e
(3)
由于此时系统存在拓扑错误,所以使用式(4)进行状态估计:
z=Hx+e
(4)
应当注意的是,式(1)与式(4)中的H不是同一个状态下的量.
残差是状态估计系统中量测值和对应的状态估计值之间的差,即为:
(5)
状态向量的估计值为[11]:
(6)
式中:R——量测误差协方差矩阵.
代入式(5)可得:
z-H(HTR-1H)-1HTR-1z=
(Htx+e)-M(Htx+e)=
(Htx+e)-M(Htx+e)+(Hx-Hx)=
(Htx+e)-M(Htx+e)+(MHx-Hx)=
[(Ht-H)x+e]-M[(Ht-H)x+e]=
(Hex+e)-M(Hex+e)=
(I-M)(Hex+e)
(7)
其中M=H(HTR-1H)-1HTR-1,称为帽子矩阵,具有以下性质:
M·M·M…M=M
(8)
M·H=H
(9)
(I-M)·H=0
(10)
假设量测误差服从均值为0,协方差为R的正态分布,即:
E(e)=0,Cov(e)=R
(11)
由此可得,残差的均值和协方差为:
E(r)=(I-M)Hex
Cov(r)=(I-M)R
(12)
如果电网中不含拓扑错误,则He=0,残差的均值等于零,因此可以根据这个特征对拓扑错误进行检测.
将残差化成标准残差形式可得:
(13)
可以看出,Hex是残差法拓扑错误检测的关键,称为偏差矩阵,并记作:
ξ:=Hex
(14)
特殊地,当(I-M)Hex=0时,残差法将出现无法检测的情况,这主要是因为系统变得不可观测,欲使得(I-M)Hex≠0,需保证系统是可观测的.
GUI运行界面如图3所示.IEEE14节点系统数据采用标准节点数据,相关参数预先给定,以节点2和节点3之间的支路模拟支路位置型拓扑结构错误,即实际中支路在运行,模型中以停运处理,并将相关节点注入有功量测和支路有功量测置零.利用上述算法进行系统仿真,系统节点数据和支路数据均可以在仿真界面中查看,运行结果分别以数字和图像的形式给出,既有准确数字可供参考,又能直观地看出各节点和支路的有功功率残差的分布情况.
图3 GUI运行界面
量测节点和支路的有功功率残差分布如图4所示.
图4 量测节点和支路的有功功率残差分布
拓扑错误检测结果如图5所示.从图4可以看出,与节点2和节点3相关的有功功率残差均较大,因此判定IEEE14节点系统线路2-3出现拓扑错误,运行过程和结果表明该仿真平台达到了预期效果,具有明显的优势.
图5 检测结果示意
本文利用Matlab GUI软件,对IEEE节点系统进行了仿真实验,形象、生动、直观地展示了电网拓扑错误检测的过程.系统程序有较好的灵活性,易于修改和移植,具有良好的实践应用效果.
[1] 于尔铿.电力系统状态估计[M].北京:水利电力出版社,1985:189-214.
[2] WU Fleix F,LIU Wen-Hsiung E.Detection and identification of topology errors in electric power systems[J].IEEE Trans.on Power Systems,1989,4(1):176-183.
[3] SLUTSKER I W.Bad data identification in power system state estimation based on measurement compensation and linear residual calculation[J].IEEE Power Engineering Review,1989,9(2):39-39.
[4] 孙宏斌,高峰,张伯明,等.最小信息损失状态估计在拓扑错误辨识中的应用[J].中国电机工程学报,2005,25(18):1-5.
[5] 周苏荃,柳焯.新息图法拓扑错误辨识[J].电力系统自动化,2000,24(4):23-27.
[6] 秦辉,席裕庚.基于Matlab GUI的预测控制仿真平台设计[J].系统仿真学报,2006,18(10):2 778-2 781.
[7] 周荣花,卢继华.数字通信实验软件平台的GUI设计与实现[J].实验技术与管理,2013,30(5):74-77.
[8] 金波.基于Matlab的“信号与系统”实验演示系统[J].实验技术与管理,2010,27(12):104-107.
[9] CHAPMAN S J.MATLAB programming for engineers[M].2nd Edition.Pacific Grove:Brooks/Cole Publishing Co.,2001:392-445.
[10] HUANG Y,ESMALIFALAK M,CHENG Y,etal.Adaptive quickest estimation algorithm for smart grid network topology error[J].IEEE Systems Journal,2014,8(2):430-440.
[11] CHAOJUN G,JIRUTITIJAROEN P,MOTANI M.Detecting false data injection attacks in AC state estimation[J].IEEE Transactions on Smart Grid,2015,6(5):2 476-2 483.
MatlabGUI-BasedSimulationPlatformDesignofPowerGridTopologyErrorDetection
YANG Xiaoli1,2, YANG Heng3, MENG Dejun1, WANG Yong1
(1.ShanghaiUniversityofElectricPower,Shanghai200090,China;2.JiaxingPowerSupplyCompany,StateGridZhejiangElectricPowerCompany,Jiaxing314000,China;3.JinshanPowerSupplyCompany,SMEPCShanghai200540,China)
The Matlab and GUI(Graphical User Interface) tools are applied to detect power grid topology error,making system of operational control and simulation results more intuitive to understand.The algorithm is tested on IEEE14 bus systems by Matlab.Simulation process and results are demonstrated visually with the application of Matlab and GUI.The experimental results show that the simulation platform provides good interaction and extensibility.
topology error; power grid; simulation platform; graphical user interface
10.3969/j.issn.1006-4729.2017.05.016
2016-03-16
杨小立(1990-),男,在读硕士,河南平顶山人.主要研究方向为电力系统拓扑结构错误检测,电力系统状态估计.E-mail:mryangchn@outlook.com.
上海市科学技术委员会地方能力建设项目(15110500700);上海市浦江人才计划(16PJ1433100);上海市自然科学基金(16ZR1436300);上海市科学技术委员会中小企业创新基金(1601H1E2600).
TM743
A
1006-4729(2017)05-0491-04
(编辑 白林雪)