王辉东,张 盛,丁叶强,王 伟,刘文博
(国网浙江杭州市余杭区供电有限公司,浙江 杭州 311100)
智能变电站采用“三层两网”的框架体系,基于通信网络化、数字化进行全站信息的交互和共享,推进了一次、二次设备融合,实现了各设备数据采集、信号传递、动作控制的一体化发展,为电网运行的协同控制、分析决策、智能调节提供了有效支撑。而实体变电设备一旦投运,其运行参数及状态就不可轻易更改,真实培训无法完全模拟设备运行的全部状态,且影响设备的正常使用,故而,建立一种仿真培训系统势在必行。要完全契合实景培训,要根据“三层两网”框架标准建设一次、二次设备的仿真模型,且要搭建设备之间的通信连接,以实现电气与通信仿真的全融合,达到全面培训的目的。目前研究中,倪时龙[1]以实时数字仿真和动态模拟功能的一次系统为基础,探究二次设备仿真的关键技术及效果;张艳杰等[2]利用RTDS建立电网暂态模型,采用数字物理混合的方法,通过一次设备虚拟3D 模型与二次实景设备的全融合,建构变电站仿真培训系统;宋福海[3]就智能变电站电磁暂态仿真的元件模型构建、仿真速度优化等关键技术进行了创新性的研究;戴观权等[4]利用OPNET仿真平台建立不同场景的变电站网络化保护通信仿真模型,可见,以往的仿真系统仅从一次、二次设备或通信层面,进行建模与仿真,未实现两者融合,而“三层两网”框架对物理或信息模型均进行了标准化规范,仅从一方面进行仿真建模,无法实现智能变电站全场景的仿真培训,影响了培训效果,故而,将两者融合视为本文研究重点;同时,因变电设备众多,本文结合装配技术原理,通过建构可复用的可视化组件,基于“积木拼装”的方法来建构不同场景的仿真培训系统,以此优化系统开发、利用效率。
根据IEC61850标准,智能变电站的“三层两网”框架中包含变空层、间隔层、过程层“三层”,以及站控层网络、过程层网络“两网”[5],其中,站控层用以采集全站设备信息的监控系统,并提供数据交互、存储等功能;间隔层运行合并单元、测控装置、继电保护等二次设备;过程层则包含互感器、断路器、变压器等一次设备及智能组件;而“两网”则分别是站控层与间隔层、间隔层与过程层IED设备之间交互的网络,均以IEC61850标准下的以太网为基础。
结合智能变电站的分层结构,仿真培训系统的重点在于电气与通信网络的一体化仿真,本文采用PSCAD与OPNET协同仿真技术进行系统设计,整个系统由PSCAD/EMTDC、OPNET及协同仿真控制3大模块组成,如图1所示。
图1 智能变电站的仿真培训系统架构Fig.1 Simulation training system architecture of intelligent substation
(1)PSCAD/EMTDC。该模块为电磁暂态仿真软件,可通过编写Fortran接口调用C语言的外部代码,运行C语言编写自定义的仿真数据处理、存储及交互模块等自定义模块[6],以适用不同的仿真需求。该模块主要用于智能变电站一次、二次设备的电磁稳态特性的仿真模拟,并可基于扩展接口灵活配置各类合并单元、继电保护、监视系统、测控装置、智能开关等IED设备的仿真模块,以实时监测全站设备的运行状况。通过搭建扩展接口将PSCAD/EMTDC模块与仿真协同控制模块连接,将电磁暂态相关数据实时传输至仿真协调控制模块,便于实现信息同步,增强控制的协调性。
(2)OPNET。该模块为通信网络仿真软件,其包含OPNET内部仿真、外部系统Esys及OPNET与外部系统Esys的接口,其中,OPNET内部仿真用于对智能变电站系统中所有通信网络功能进行仿真;OPNET与外部系统Esys的接口可实现内外部系统的交互通信,其配设的外部仿真扩展接口Cosim可支撑不同仿真模块的运行,在Cosim中通过调用OPNET的ESA API函数可与OPNET仿真内核建立交互通道,提高模块内部数据的传输速度。通过调用WinSock程序,OPNET模块可与仿真协调控制模块建立交互通道[7],实时接收仿真协调控制模块的控制信息,可实现对通信网络的仿真。
(3)仿真协调控制。该模块是协调PSCAD/EMTDC与OPNET进行电气与通信同步仿真的服务端,因PSCAD/EMTDC与OPNET分别基于步长、事件驱动仿真,故而,仿真协同控制的步调由PSCAD/EMTDC决定,仿真过程中PSCAD/EMTDC将仿真需求打包传递给内置扩展接口建立的各类IED设备模块。根据IEC61850规约进行组帧编码后,以SV、GOOSE报文方式,经由WinSock接口传递给PSCAD/EMTDC模块与OPNET模块,实现3组模块数据的实时交换,从而提高了控制的协调性,提升系统的工作性能。
为实现“三层两网”框架标准下一次、二次变电设备的仿真建模,本文将利用PSCAD/EMTDC附带丰富的元件模型[8],采用面向对象建模技术,以客户机/服务器数据结构模式,定义IEC61850标准下变电设备模型的分层结构,也即每个IED设备依次可分解为:“服务器→逻辑设备→逻辑节点→数据对象”[9],据此,一次、二次IED设备建模的步骤:①步骤1。分解应用功能和信息:逻辑节点是智能变电站“三层两网”框架标准中的最小功能单位,通过彼此间的逻辑关联可组合构建IED设备的功能和逻辑结构。为此,进行IED建模,首要的就是分解IED功能,以匹配相应的逻辑节点,用以表征IED的各种功能。但是IEC61850标准定义的逻辑节点类型多样,采用的功能逻辑各异,且各类智能变电站的功能需求和实现方式不同[10-11],配设的IED设备类型各不相同,故而,IED建模时序细化分解每个逻辑节点所需信息,以为之匹配专用的服务交换数据和数据属性代表信息,用以准确描述IED每个应用功能,实现IED设备精准建模。②步骤2。逻辑设备及服务器建构:通过IED设备应用功能(逻辑节点)和信息的分解,将功能近似的逻辑节点组合为一个逻辑设备,以此将IED设备(服务器)分解为1个或数个的逻辑设备;且在“两网”的通信网络中每个作为服务器/客户机的IED设备均是一个功能节点,其需要与其他功能节点进行数据交互、访问,为此,需要为每个IED设备配设一个服务器,涵盖该IED设备的全部逻辑设备,其中聚集着多个逻辑节点及GOOSE、SV交换等附属功能,包含被频繁访问和引用的数据列表Data Set。如此,便可完成IED设备信息服务模型的建模。
为实现“三层两网”框架标准下智能变电站通信网络的统一,利用OPNET软件结合现场的实景建构变电站的通信网络模型,将智能变电站的封层结构和IED设备模型对应的服务和数据类型,通过抽象通信服务接口ASCI,利用SCSM将面向变电站事件对象GOOSE、采样值SV等报文映射至MMS报文规则上,而后,利用ASN.1 编码完成MMS报文在TCP/IP+Ethernet 上的通信过程[12-14],以实现IED设备之间的信息交互,通信网络仿真建模过程:①步骤1。ASCI通信接口建构:ASCI接口支持访问、连接、数据传输等公共应用服务,定义了通信对象、访问及检索等,且为实现“三层两网”框架标准下多种通信协议及网络模型的兼容,此处采用Client/Server及发布者/订阅者机制作为通信方式,前者负责操控指令、设备状态数据读写等功能,主要用于站控层与间隔层之间IED设备之间的通信;而后者需支持SV模拟量、GOOSE开关量信息号采集、传输,可支撑间隔层与过程层之间高时效、可靠性的通信。最后,通过对基本数据类型、信息模型和对应数据属性和服务的Java实现函数,便可完成ASCI接口的构建。②步骤2。ASCI通信服务的映射:因“三层两网”框架并行多种通信协议与网络传输类型,为了统一通信网络系统,需基于ACSI接口利用特定通信服务接口SCSM将报文信息映射至MMS上,这其中存在对象、数据、服务等3种映射方式[15],本文选用对象类映射方法,结合上述IED设备模型的服务器、逻辑设备、逻辑节点、数据的分类,将其分别映射至MMS的VMD、域模型Domain、数据类Data Class、命名变量列表NamedvatiableLis[16-18]。映射过程中,Client依据指令调用ACSI接口相应的Java函数,根据优先级生成映射列表传输至SCSM,由其生成MMS消息构造成为MMS报文规范后,进行ASN.1编码转换为数据流,即可完成异构环境下不同IED设备在TCP/IP+Ethernet 上的网络通信过程。
为实现电气与通信网络的同步仿真,需要在计算机平台上建构基于PSCAD与OPNET两软件的协同仿真机制,但PSCAD软件,内部代码非开源,OPNET软件无法直接调用其内部程序和数据,需要搭建接口模块;而OPNET软件为开源的,可通过修改内部通信协议,完成与外部程序的数据交换。故而,本文引入基于TCP/IP网络通信的Socket接口,利用Window中的WinSock API,建构协同仿真的数据交互机制,具体的构建过程:①步骤1。构建WinSock接口:WinSock API封装了从物理层至传输层的协议栈,并以套接字功能函数、协议控制函数直接配置套接字通道,实现与外部程序连接,为此,本文利用WSAStartup()函数加载WinSock的动态链接库,初始WinSock API,在Windows环境下分别构建在PSCAD与OPNET应用程序中套接字[19];而后,在两软件需要协同仿真时,采用WinSock定义的bind()函数将套接字与主机信息绑定,如此,支持WinSock套接字的PSCAD与OPNET软件便可通过其绑定的主机和端口发送数据交互的连接请求。②步骤2。套接字的连接:在Windows环境下PSCAD与OPNET软件需要协同仿真时,需基于TCP连接流程如图2所示,利用WinSock定义的函数对两软件的套接字进行连接。首先,请求端使用Connect()函数向服务端发送连接请求,服务端以listen()函数侦听端口的请求连接,若存在请求,则需调用accept()函数接收连接,且存在客户端存在多个请求连接时,需加入请求队列中需逐一等待接收端口的释放[20],对请求进行响应,实现与客户端的连接通信。
图2 协同仿真的TCP连接流程Fig.2 TCP connection process of collaborative simulation
为构造通用型的仿真系统,基于“积木拼搭”的设计理念,引入3ds Max三维建模、图模一体化、ICD、SCD 文件解析等多种技术,通过建构一次、二次IED设备的可视化组件,基于装配技术来建构“高内聚、低耦合”的仿真系统,由此系统模块结构如图3所示。可视化组件建构:使用3ds Max建构仿真系统的可视化组件,结合“三层两网”的实景框架,将CAD图纸导入3ds Max软件,采用1∶1的比例对IED设备及场景进行建模,并使用模型库建模方式,进行可视化组件的建模,而后再装配为一体,完成仿真系统的构建。通过3ds Max、Unity3D、图模一体化、ICD、SCD文件解析技术完成可视化组件构建后,搭建一次设备可视化组件与二次设备可视化组件,利用Unity3D的预制体功能生成一次、二次IED设备三维模块的预制体文件,通过拖拽方法在三维场景中实例化,便可完成可视化组件在不同仿真系统中的复用。
图3 仿真系统的可视化组件及构造技术Fig.3 Visual components and construction technology of simulation system
具体建模时,为确保一次设备的参数、二维图元、三维模型的一致性,引入图模一体化技术,利用Visio绘制二维图元来表征一次设备及拓扑结构,并通过点、线位置和角度的更改、JavaScript脚本的绑定,分别完成对二维图元的动画渲染和控制;而后,在Unity3D 中结合一次设备的功能,利用Update()函数、潮流计算仿真算法,通过设备参数及输出输出参数的计算,生成与之对应的脚本,以完成可视化组件的搭建。同时,因每个IED设备配置一个描述设备类型、功能及通信参数的ICD文件,所以,为了精准构造通信模块,利用ICD解析技术,引入广度优先遍历算法通过队列获取“服务器、逻辑设备、逻辑节点及数据”等节点信息,并据此解析二次设备的ICD文件,生成二次设备的通信模型,以建构可视化组件的通信模型。而且,SCD为描述“三层两网”智能变电站系统IED模型、子网分配、虚回路等配置信息的文件,为获取IED设备关于GOOSE/SV的虚回路信息,需解析SCD文件结构内LN0下的inputs、SV及GOOSE控制块节点内的信息;而后,再利用LibIEC61850中二次IED设备通信模型实例化一个服务线程,并为之匹配相应的端口,此时,根据GOOSE/SV的虚回路信息,调用不同的端口,即可分别建立间隔层与过程层IED设备的“发布者/订阅者”通信机制、站控层与间隔层的“客户端/服务器”通信机制,由此搭建出二次设备可视化组件的通信结构。
可视化组件的装配:以.FBX格式将可视化组件模型导入Unity3D引擎中,通过配置天空盒、灯光等创设虚拟仿真环境,并基于角色控制、碰撞体的添加,来仿真变电站实际运行状态,以此来创设“三层两网”标准下变电站虚拟仿真环境;同时,因为Unity3D中,每个IED设备及组件、环境等均为一个GameObject,但三维场景中的灯光、相机等GameObject并非均是需要控制的三维模型对象,所以,为精准控制IED设备模型,为其配设一个专有的Node的脚本,通过控制模块与可视化组件上Node脚本的绑定,即可实现三维模型中可视化组件的灵活控制。
为验证系统的性能,以某大型供电站为研究对象,采用所研究系统进行培训。为实测仿真系统培训应用效果,将以该大型变电站内典型的220 kV智能变电站来设计仿真系统,其一次系统配置2台主变、220、110 kV各2回出线,220、110 kV两个电压等级均使用双母线接线方式,且系统通过可视化组件建构,结合实景的仿真培训需求,完成了系统各IED设备功能的精准建模。仿真过程如图4所示。
图4 智能变电站协同仿真培训测试的过程Fig.4 Process of collaborative simulation training and testing of Intelligent substation
首先采用C/C++语言在Visual Studio 2015环境下进行仿真系统的开发,使用3ds Max建构智能变电站可视化组件,并根据现场实景及CAD图纸,结合站内一次、二次IED设备的功能,基于可视化组件的建构,在Unity3D中配设环境参数,即可完成系统仿真环境的快速构建,且其可根据智能变电站场景变动,灵活设计、调用相应的组件库,提高了系统开发效率和经济性。为了实现电气及通信网络的协同仿真,测试时以外部将仿真控制程序Cosim来支撑不同仿真模块的数据交互,仿真系统配设仿真平台、网卡,通过测试,“三层两网”框架标准下,PSCAD软件中IED设备生成的数据流经过网卡后被端口捕获数据包后,将其传输至仿真平台,仿真平台中的协同仿真程序通过WinPcap驱动的API函数,获取网卡传递的数据包,并将其发送至OPNET仿真内核之中;利用OPNET外部接口ESA API函数,即可实现与OPNET内核的仿真协同,并分别基于PSCAD和OPNET完成电气及通信网络的仿真,输出仿真结果,可见,该仿真过程操作简便,方便仿真培训。
实验中,通过仿真培训的模拟值Tv与二次设备实际采样值Mv的误差,测试系统的应用性能,误差计算公式为:
(1)
系统仿真培训过程中,观测继电保护设备一次电压或电流的仿真值与试剂采样值,通过式(1)计算得出两者之间的误差均在2%以下,见表1、表2。表明该仿真培训系统贴近于现场,具有应用可行性。
表1 继电保护的电流仿真值与采样值之间误差Tab.1 Error between current simulation value and sampling value of relay protection
表2 继电保护的电压仿真值与采样值之间误差Tab.2 Error between voltage simulation value and sampling value of relay protection
智能变电站中新型IED设备、通信网络的数字化、集成化发展,驱动了新技术、新功能的应用,而为实现精准培训,上述研究建构了一种仿真培训系统,利用PSCAD及OPNET软件的协同控制来实现电气与通信网络一体化仿真培训,且基于3ds Max、ICD及SCD文件解析技术等建构的一次、二次设备可视化组件,可在Unity3D中完成实景环境的三维再现,并可基于可视化组件的复用建构仿真系统,以适用不同的仿真培训需求,优化了系统的可扩展性和成本性,但是其需要引入多种建模、解析技术,一定程度上增加了运算复杂性和仿真培训操作的复杂性,未来需予以简化设计。