文献标识码:A
DOI:10.16157/j.issn.0258-7998.174207
中文引用格式:苏畅,龚钢军,罗安琴,等. 发电系统动态仿真监控平台研究[J].电子技术应用,2017,43(12):65-68.
英文引用格式:Su Chang,Gong Gangjun,Luo Anqin,et al. Research on dynamic simulation and monitoring platform of power generation system[J].Application of Electronic Technique,2017,43(12):65-68.
0 引言
电力系统的动态过程是一个从机电暂态到中长期动态的连续过程[1],电力系统动态仿真需要引入一般暂态仿真中不涉及的长过程和慢速特性,常用于电力系统的中长期过程动态稳定性分析和复杂或严重事故的事后分析等。
目前,在电力系统动态仿真分析中尚待解决的主要问题[2]包括:
(1)如何有效利用智能电网中各种智能电力设备和新型信息源的信息;
(2)现有仿真结果庞杂而分散,主要靠人工实现结果的综合分析,如何实现仿真结果的智能化分析;
(3)如何评价模型的准确性和仿真的可信度[3];
(4)如何对渐变的动态过程进行模拟[4]和重现,并自动化仿真测试[5]。
因此,需要建立更准确的数学模型,研究更高效的仿真算法和更智能的人机交互仿真方法。而现有的电力系统仿真软件主要关注功能实现,忽略操作的便携性和交互性,且架构封闭、扩展性差[6],仿真数据处理通常在仿真结束后进行,并且主要依托于人工实现,这对中长期动态仿真分析形成了不小的障碍。如果能对仿真过程加以干预,实时采集模型运行数据,甚至实时对模型进行同步分析,将有助于动态过程仿真问题的及早发现。真实工业现场使用数据采集与监控系统[7](Supervisory Control and Data Acquisition,SCADA)来进行数据采集和过程控制[8],遍布现场的各种数据采集终端是该系统的最终数据来源,可编程控制器或离散控制系统等集中控制设备将这些数据提供给监控中心和数据中心[9],这种以硬件运行为基础的SCADA系统并不适用于电力系统动态仿真的监测。此外,专门的SCADA系统组态开发软件[10]并不具备强大的数据分析能力和软件通信能力,也不能满足智能化分析的需求。
应寻求一种结合仿真软件和数据分析软件各自优势来研究电力系统动态仿真的办法,即在仿真软件内实现仿真,在数据分析软件内实现监控,再利用软件的通信方式将两者联合,前提是两个软件都支持同样的通信方式。这一问题目前已经有了比较成熟的解决方案。本文制定了详细的监控平台设计方案,重点研究和实现了数据监控功能和软件通信功能,并进行了仿真验证,得到了可观的结果。
1 仿真监控平台设计
本文研究的仿真监控平台分为上下两层应用程序,上层是监控系统,下层是作为数据来源的仿真模型,两者通过TCP/IP网络相连,整体结构如图1。
选择MATLAB软件Simulink模块来完成动态仿真。虽然MATLAB自身也支持人机交互图形用户界面的编程,但用来开发监控程序时,还需在数值判别和数据处理方面做很多工作。相比之下,虚拟仪器开发环境LabVIEW和它的数据记录与监控模块(Datalogging and Supervisory Control,DSC)则更能满足测量与控制系统开发的需求[11]。LabVIEW是美国国家仪器NI公司开发的图形化编程软件,使用直观的程序框图代替传统的代码,采用数据流式的编程方法和运行方式[12],自带大量图形化输入输出控件和专业的虚拟仪器VI子程序,极大地简化了图形界面和程序开发的过程。监控程序的开发和相关资源配置过程一般称之为组态。目前应用比较广泛的组态工具除了专业的组态软件以外,还常用通用程序语言及开发工具[13],但这种组态方法需要额外制作大量的工业图像,并且调试困难。DSC模块是在LabVIEW基础功能之上的一项扩展,可快速开发应用于分散测量、控制和高信道传输监测,集成工业图像控件、数据监测显示、报警事件控制、数据存储与记录,以及过程控制对象连接与嵌入[14](Object Linking and Embedding for Process Control,OPC)等功能。可以说,DSC是专门为满足工业过程测量、控制与组态需求而设计的[15]。
OPC是以微软的COM/DCOM为基础,采用客户/服务器模型制定的一种数据访问标准[16]。MATLAB/Simulink也提供一套功能完备的OPC Toolbox工具包[17],用以支持分布式网络通信。LabVIEW除了拥有自己的OPC服务器外,还可使用共享变量引擎组件[18]作为OPC客户端,允许发布变量到网络并发布至网络上任意开放OPC服务器,从而实现不同应用程序间的数据交互。
2 Simulink仿真模型
本文以典型的三相同步发电机运行仿真[19]为例,对发电机不同运行状况下的端电压、定子电流和功率等电力参数进行监测。仿真时长可达数十秒甚至更长,期间将控制断路器的开闭接入不同负载以测试上层程序功能。使用如图2所示的发电系统运行仿真模型。
仿真的核心是位于图2最左侧的三相同步发电机简化模型。设定正常情况下发电机外接纯阻性负载Series RLC Load,此时测量到的电力参数三相对称且数值合理;当图右侧三相断路器接通时,位于模型最右侧的不对称三相并联负载Parallel RLC Load将接入系统,导致发电机进入异常运行状况,测量值将会发生明显的波动,且有报警数据产生。Powergui模块是Simulink为电力系统仿真提供的简单图形用户界面和配置与分析工具[20],如果缺失,系统将无法连续、稳定地运行。设定仿真模型的运行方式为连续运行,除延长仿真时长外,其余设置均按默认即可。模型运行时,OPC Read模块将按设定的频率读取来自LabVIEW的断路器控制信号,OPC Write则把发电机的测量信号传递给位于网络的共享变量引擎,再由监控程序按约定的频率取用。在此之前,需要在LabVIEW监控系统工程中建立并发布共享变量到网络,并在Simulink模型中使用OPC configuration模块配置LabVIEW共享变量引擎为OPC客户端,还需分别在OPC 读写模块中绑定相应的变量,并设置合适的采样方式。
3 LabVIEW DSC软件编程
虚拟仪器的程序开发分为两个部分:前面板和程序框图。前面板类似于传统仪器的使用界面,主要包含可用于人机交互的输入输出控件,如:按钮、数值输入、显示框等,也可以添加图形、图像、文字等美化元素。程序框图相当于计算中心,前面板的控件在程序框图中都有对应的接线端以供编程使用,开发者利用图形化的编程语言编制程序。过程化程序的编程思想完全适用于虚拟仪器程序开发,它的每一种数据类型和变量、程序结构都能找到对应的框图表示,并有丰富的函数库支持。
监控平台的功能与SCADA的监控中心类似,主要有:实时显示和界面指示、自动报警、数据存储和数据库管理等。其中,自动报警与事件处理功能是监控程序与其他程序的最大区别。自动报警是指变量达到预设限值时由监控系统产生消息并通知的过程。它为使用者提供了一种方便的数据管理办法,能滤除大部分正常数据,聚焦于异常发生的时刻和状态,更便于问题的分析。对于报警以及数据操作,DSC模块都提供自动和手动编程两种实现方式,并提供VI子程序和Express VI,避免开发者在底层程序上浪费大量时间。自动方式并非是指完全不需要编程,仅仅是实现报警自动读取、确认,或数据库的自动存储等辅助功能。
监控平台主程序作为系统操作和功能控制主界面,能实时显示当前测量值并绘制实时趋势图,控制仿真模型负载接入与断开等。主程序运行时的前面板局部界面如图3所示。实时趋势图是使用DSC模块提供的Express VI实现的,左侧实时数据框中显示的是各测量值的当前值,会随着程序的运行不停变化,上方中间3个右侧箭头的开关则是断路器的控制信号,绿灯点亮时表示已接入并行负载。系统的初始状态是没有接入负载的,分析实时趋势图的波形可以看到,负载接入后发电机功率发生了较大的波动。主程序流程图如图4所示,程序主体是一个定时循环,这个定时时间往往设定在毫秒级别,以保证足够高的数据采样频率。
DSC模块中的报警VI能监测指定的共享变量,并允许基于特殊超限值或变化频率的报警事件发生,并以文本通知或其他形式告知使用者。报警的工作方式类似于微机系统的软件中断机制。对共享变量设定允许报警和数据记录,DSC会自动对这些变量进行监测,一旦数值超过设定的告警值就会有报警事件产生。对于每个变量,DSC允许其有四级基于特殊值的报警和一级基于变化频率的报警,用户根据自己的需求进行等级和数值的配置。报警处理的一般过程如图5所示。
高优先级以上报警必须人工确认。因为优先级越高的报警事件的发生,意味着对真实现场的危害越大。低优先级报警一般可通过自动确认处理为警告。在人工报警确认前,如果变量数值回复正常,该报警并不会被确认,如果变量再次超限,将不会被认为是一次新的报警。这样就能保留异常出现的起点,便于使用者观测和分析数据。报警程序前面板如图6所示。
报警面板显示各监测对象的状态,指示灯熄灭表示该变量正常,指示灯点亮表示异常,且在报警记录中有详尽的消息提醒。报警程序流程图如图7所示,使用读报警VI和变量标志符监视共享变量值,报警产生以后读报警VI将生成一维簇数组格式的非空输出,一个数组元素对应一条报警消息,包含了用户关心的报警变量名、时间、级别等重要信息,以此来识别报警对象和产生通知消息。
仿真模型的持续运行会使得变量一直处于变化状态,如果将这些数据全部存储,数据库将变得过于庞大和低效。考虑诸多因素,DSC使用Citadel数据库来保存允许存储的共享变量与报警事件。Citadel数据库并不存储所有数据,它只在数值发生一定变化时才存储,这种存储方式可以节省大量的存储空间,也是对运行中的仿真模型进行监控的基础。Citadel数据库中存放的所有数据都可供查询,DSC有完整的数据库工具供使用。除了直接手动编程完成数据库操作以外,DSC还提供Express VI能自动查询、索引和管理数据库并完成相应操作,历史查询界面与主程序前面板类似。
至此,数据采集与监控的核心功能——实时数据与趋势显示、报警与事件处理,以及数据采集与存储已基本实现。LabVIEW是一个开放的平台,还提供完备的数据库、信号处理和控制设计工具模块,以及计算方式和进程管理功能,具有强大的数据分析和软件交互能力,将有助于平台功能的进一步完善。
4 结束语
本文研究的动态仿真监控平台具有友好的交互界面能实时、同步地采集仿真数据并存储,能对仿真过程进行控制,能对异常数据进行监测和初步筛选,且平台开放性强。仿真是研究电力系统的重要手段,随着电力系统仿真复杂度的增加,人工的方式将很难满足需求。无论是对于自动化数据分析,还是智能交互仿真,或者研究仿真模型准确度等问题,数据监测和控制交互将有着重要的作用。
参考文献
[1] 汤涌.交直流电力系统多时间尺度全过程仿真和建模研究新进展[J].电网技术,2009,33(16):1-8.
[2] 田芳,黄彦浩,史东宇.电力系统仿真分析技术的发展趋势[J].中国电机工程学报,2014,24(13):2151-2163.
[3] 闫根弟.动态电力系统数字仿真模型的研究[D].太原:太原理工大学,2005.
[4] 李成龙.同步发电机励磁装置在线测试数字仿真系统的研究[D].天津:河北工业大学,2015.
[5] 刘焕志,胡剑峰,李枫,等.变电站自动化仿真测试系统的设计和实现[J].电力系统自动化,2012,36(9):109-112,115.
[6] 黄秋华.开放式软件平台下大规模电力系统仿真研究[D].广州:华南理工大学,2012.
[7] 徐金伟.工业领域基础设施SCADA系统简介[J].计算机安全,2012(1):4-9.
[8] 于献榕,孟东,曹丹丹,等.基于LabVIEW+DSC的监控软件通用架构[J].微计算机信息,2012(10):97-98,147.
[9] 傅仁轩,肖连风.基于物联网技术的新型数据采集与监控系统设计[J].移动通信,2011,35(9):79-82.
[10] 许丽川,苏朝阳,梁永春,等.基于LabVIEW的直流电机转速监测实验设计[J].实验科学与技术,2013,11(4):56-59.
[11] 李迺璐.基于LabVIEW的风力发电监控系统的研究与应用[D].北京:华北电力大学,2010.
[12] 阮奇桢.我和LabVIEW:一个NI工程师的十年编程经验(第2版)[M].北京:北京航空航天大学出版社,2012.
[13] 陈晰.基于J2EE的风电SCADA系统的研究[D].成都:电子科技大学,2013.
[14] 李福先,杨亮亮.基于OPC的风力发电机组远程监控系统[J].电气自动化,2012,34(4):29-30,49.
[15] 何冬林.风力机半物理仿真实验平台的研究与设计[D].北京:华北电力大学,2013.
[16] 王杰,高昆仑,王万召.基于OPC通信技术的火电厂DCS后台控制[J].电力自动化设备,2013,33(4):142-147.
[17] 李二超,李炜,李战明,等.基于OPC技术的网络控制系统仿真平台设计[J].实验技术与管理,2012,29(6):90-93.
[18] 邢雪宁,张厚升,季画.基于虚拟仪器和Simulink的运动控制系统虚拟实验平台设计[J].实验技术与管理,2015,32(8):114-117.
[19] 周高峰,赵则祥.MATLAB/Simulink机电动态系统仿真及工程应用[M].北京:北京航空航天大学出版社,2014.
[20] 于群,曹娜.MATLAB/Simulink电力系统建模与仿真[M].北京:机械工业出版社,2011.
作者信息:
苏 畅1,龚钢军1,罗安琴1,熊申铎1,刘 韧2
(1.华北电力大学 北京市能源电力信息安全工程技术研究中心,北京102206;
2.北京卓识网安技术股份有限公司,北京102206)