吴优,付立军,马凡,许轶楠,朱琬璐
1 海军工程大学 舰船综合电力技术国防科技重点实验室,湖北 武汉 430033
2 海军研究院,北京 100161
随着舰船电力系统向自动化、信息化等方向的快速发展,舰船电力系统的能量管理技术将从目前基于监测的基本型能量管理逐渐发展为集数据采集、状态分析与综合管理为一体的智能型能量管理[1-2]。该管理系统将通过高速信息网络实现对舰船电力系统的网络化控制,并更多地参与电力系统实时闭环控制与自主决策。然而,能量管理信息网络的性能及非理想特性(例如,网络延时、丢包和误码等)有可能对电力系统的运行特性带来显著影响,甚至导致系统失稳等严重问题。信息网络与电力系统之间的紧耦合关系有可能导致故障在信息网络与电力系统之间传播,而这2 个系统中的任意部件出现故障都可能会因连锁反应而导致全系统的运行状态出现异常。由此可见,仅针对信息网络或电力系统的传统仿真工具已无法满足此类系统的分析需求,因此,需要开发一种可同时精确描述这2 个系统及其之间紧耦合关系的仿真方法,从而描述系统中通过“信息流”控制“能量流”的运行特性。
对于信息网络与电力系统的联合仿真问题,目前已有多种实现途径,例如通过对传统的单一仿真平台进行扩展,即可实现联合仿真的功能。Baran 等[3]提出了一种将 PSCAD/EMTDC 软件和基于Java 实现的通信模块相结合的联合仿真方案;童晓阳等[4]和Tong[5]以网络仿真工具OPNET为主体,通过将电力系统的通信需求简化为基于C 语言实现的需求程序,得以嵌入OPNET 运行。此类方法的主要缺点是由于仅采用了一种专用仿真平台,导致联合仿真只能对信息网络模型或电力系统模型这二者中的一个进行大幅简化,所以无法对全系统特性进行准确仿真。为在联合仿真中同时准确描述信息网络与电力系统的特性,一种较为有效的方法是同时利用已有的信息网络和电力系统仿真平台来实现联合仿真,但直接将这2 种仿真平台进行连接可能会导致设计接口的专用性强、不利于平台扩展等一系列问题[6-8]。为此,有学者提出了联合仿真框架,以便实现各仿真平台之间统一的接口设计,其中应用较为广泛的是高层体系结构(high level architecture,HLA)仿真框架[9]。该框架可为各个仿真平台提供统一的接口函数,通过调用这些函数,即可实现各个仿真平台之间的信息交互与协同控制。目前,该框架在信息网络与电力系统联合仿真领域的应用案例包括结合通信网络、电磁暂态和机电暂态的仿真平台EPOCHS[10-11],以及广域网络保护控制研究[12-13]和智能电网通信网络性能研究[14-15]等,但尚未有应用于舰船能量管理信息网络与电力系统的联合仿真研究。相较于陆用电力系统控制网络,舰船电力系统能量管理信息网络的物理范围与网络数据量较小,所以陆用电力系统研究中需考虑的物理距离、带宽限制等因素对舰船电力系统的影响并不明显。然而,舰船电力系统中受信息网络直接控制的电力电子设备较多,极易因网络故障而导致电力系统故障,因此,需针对网络故障等问题开展针对性的研究。
针对舰船电力系统及其对应的能量管理信息网络,本文拟分别将OPNET 和Matlab/Simulink 软件作为信息网络和电力系统的仿真平台,实现这2 种平台对外数据交互的软件接口,并将基于HLA 仿真框架实现平台之间的数据交互和时钟同步功能,进而实现信息网络与电力系统的联合仿真;同时,将搭建舰船电力系统中典型的多台发电机组并联带负载联合仿真模型,并通过基于以太网的能量管理信息网络对发电机功率分配进行调节,进而分析能量管理信息网络中固有延时、链路过载等因素对电力系统运行特性的影响,用以验证本文联合仿真方法的有效性。
HLA 仿真框架是一种建模仿真领域的通用高层体系结构,其主要功能是为多个仿真软件提供相对独立的联合仿真支撑服务,将具体的仿真功能实现、仿真运行管理和底层通信分开,并基于统一的运行时环境(run time infrastructure,RTI)接口来实现仿真平台之间的信息交互和时钟同步。基于HLA 的联合仿真称为“仿真联邦”,其中,每一个仿真平台称为“联邦成员”,如图1 所示。
由图1 可以看出,仿真联邦由RTI 执行程序、联邦执行程序和联邦成员构成,各部分之间通过调用RTI 提供的相关库函数(libRTI)进行信息交互,从而实现联合仿真。RTI 为联邦成员提供包括联邦管理、声明管理、对象管理、时间管理、所有权管理和数据分发管理在内的6 类服务功能,并设计实现联邦创建与销毁、联邦成员加入和退出、执行数据交互等百余种函数功能。目前,联合仿真中主要采用了联邦管理和时间管理这2 部分功能,在仿真进程中联邦成员与仿真联邦之间的主要交互操作如图2 所示。
图 2 HLA 仿真联邦与联邦成员之间的交互过程Fig. 2 Interactions between HLA federation and federates
基于HLA 仿真框架,本文设计了如图3 所示的舰船能量管理信息网络与电力系统的联合仿真系统,该系统由 OPNET,Matlab 以及 HLA 框架提供的RTI 软件组成。OPNET 的主要功能是实现舰船能量管理信息网络的详细仿真,所涉及的网络通信设备包括交换机、区域控制器、节点控制器以及网络传输介质等。由于OPNET 对HLA 仿真框架的功能支持较为完善,所以在信息网络仿真模型中可以通过配置和调用OPNET HLA 节点来直接实现与RTI 之间的数据交互和时钟同步。Matlab 的主要功能是实现舰船电力系统的详细仿真,并通过采样模块和接口模块实现与RTI 之间的数据交互。由于Matlab 中缺乏对HLA 框架的直接支持,故需采用额外添加控制程序的方式来间接实现其与RTI 之间的交互,而Matlab 与控制程序之间则通过Socket 通信来实现数据交互。
图 3 联合仿真系统结构Fig. 3 Structure of co-simulation system
为了实现信息网络仿真模型与RTI 之间的数据交互,OPNET 仿真提供了HLA 接口节点及其对应的进程模型,如图4 所示。
图 4 OPNET HLA 的接口节点Fig. 4 Interface node of OPNET HLA
由图 4 可以看出,OPNET HLA 接口节点可以独立添加至任意网络仿真模型,且不会对网络拓扑造成影响,其主要功能是监测OPNET 网络仿真模型和RTI 中与HLA 交互有关的事件,从而形成二者之间的信息交互通道,其交互流程如图5 所示。
图 5 基于HLA 节点的事件交互流程Fig. 5 Event interaction process based on HLA node
由图5 可知,信息网络仿真模型与RTI 之间以HLA 节点作为接口实现了互联,HLA 节点通过分别监控、触发网络仿真模型和RTI 软件中的仿真事件,使二者之间形成事件流,进而实现了数据交互、时钟同步及仿真控制等功能。网络仿真模型与RTI 之间以数据映射的方式完成具体数据交互:首先,网络节点模型向预先定义的虚拟端口发送网络数据包,当HLA 节点检测到该类数据包之后,即可将数据封装为特定格式的结构体并传输至RTI;然后,RTI 通过事件触发的方式向HLA 节点传输数据,当HLA 检测到事件之后,即可产生特定结构的数据包并通过虚拟端口发送至网络节点模型,从而形成连通OPNET 与RTI 的联合仿真接口。
由图3 可以看出,Matlab 联合仿真接口主要包括Matlab 接口模块和外部基于C 语言实现的仿真控制程序,其中接口模块的实现方式相对简单,其主要功能是对联合仿真数据进行传输与处理,如图6 所示。当收到电力系统监控数据和仿真时钟数据之后,接口模块即可将数据整合,并通过TCP/IP 协议发送至控制程序;同时,接口模块还将监测从控制程序发来的控制数据,并解析为控制指令,然后下发至电力系统仿真模型中的对应设备。
图 6 Matlab 接口模块的实现Fig. 6 Implementation of Matlab interface module
联合仿真控制程序的功能主要包括2 部分:一是在Matlab 侧,通过Socket 实现与Matlab 接口模块之间的基于TCP/IP 协议的数据交互;二是在RTI 侧,通过调用RTI 库的函数,实现仿真联邦的相关操作,主要分为仿真初始化、交互类的发布与订阅、仿真事件处理以及仿真结束4 部分。仿真初始化即实现仿真联邦的创建以及控制联邦成员加入仿真联邦等;交互类的发布与订阅即通过发布和订阅RTI 交互类,实现仿真联邦与OPNET网络仿真的数据交互,其中交互类与OPNET 中通过虚拟端口收发的数据包一一对应,从而共同构成OPNET 与RTI 之间的数据传输渠道;仿真事件处理是联合仿真控制程序的核心部分,通过循环运行每个联合仿真步长来实现2 个仿真平台之间的数据传输与时钟同步;仿真结束部分则在联合仿真运行结束之后执行,其主要功能包括控制联邦成员退出仿真联邦以及销毁仿真联邦。
在联合仿真中,因信息网络仿真和电力系统仿真均为离线仿真,且各平台的运行速度不一致,故会导致两者之间的仿真时钟不同步。为保证联合仿真的准确性,本文将采用基于定步长同步的时钟同步方式,以使联合仿真过程中Matlab与OPNET 的仿真时钟保持一致。鉴于Matlab 电力系统仿真采用的是定步长时域仿真,而OPNET网络仿真采用的是离散事件仿真,且前者的仿真周期更易于获取与计算,因此本文将以Matlab 的仿真时钟为基准,2 个仿真平台根据规定的仿真步长交替运行,并在每一个混合仿真周期结束时进行数据交互,其具体运行模式如图7 所示。
图 7 联合仿真的定步长时钟同步模式Fig. 7 Fix-step time synchronization of co-simulation
以图7 中t1~t2所代表的一个联合仿真运行周期为例,时钟同步的4 个步骤依次如下:
1) Matlab 从起始时间 t1开始运行,此时 OPNET挂起等待(OPNET 的仿真时间停留在t1)。
2) 待Matlab 运行一个联合仿真周期到达t2后,Matlab 暂停运行并将仿真运行时间传递给RTI,然后通过RTI 将能量管理所需的电力系统监控数据传输给OPNET,作为能量管理系统的计算输入。
3) RTI 将仿真联邦的仿真时间推进至 t2,并控制OPNET 以电力系统监控数据作为输入运行至该时刻后暂停。
4) OPNET 将计算所得的能量管理控制指令通过 RTI 返还给 Matlab,Matlab 在收到 RTI 的返回数据之后即恢复运行并执行控制指令,继而开始下一个周期的联合仿真。
采用该定步长时钟同步方法,即可在联合仿真的过程中保证OPNET 与Matlab 仿真的时钟同步性,从而满足联合仿真的准确性要求。
基于上文所述的联合仿真系统结构以及时钟同步方法,本文设计了如图8 所示的联合仿真数据交互方法,用以分别实现其各项具体功能。
图 8 联合仿真系统数据的交互方法Fig. 8 Data exchange in co-simulation system
在联合仿真系统中,Matlab 作为电力系统的仿真平台,其在数据交互方面的主要功能是通过接口模块采集电力系统的监控数据并执行网络仿真平台传回的能量管理控制指令。联合仿真控制程序的主要功能是:首先,进行Matlab 与RTI 之间的数据转发;其次,接收Matlab 传来的仿真时间,并以之为依据控制RTI 中的仿真联邦时间。RTI 作为混合仿真的核心,其主要作用是通过调用RTI 库函数实现联合仿真时间的推进以及仿真数据的转发。OPNET 中的节点主要分为3 类:一是HLA 节点,其主要功能是实现网络仿真模型与RTI 之间监控数据和控制指令的转发,并作为RTI 控制OPNET 仿真进程的接口;二是设备节点,其主要功能是实现与HLA 节点之间的数据交互,以及能量管理系统中电力系统监控数据采集和控制指令下发功能;三是控制节点,其主要功能是模拟信息网络中的网络控制器,以电力系统的监控数据作为输入,通过分析计算得到对应的控制指令并进行下发。由图8 所示的数据交互方法可以看出,在舰船能量管理信息网络和电力系统耦合运行时,联合仿真平台可以较好地实现系统之间数据交互的模拟。
在舰船电力系统中,由于发电机组的数量和容量均有限,不同机组之间的功率分配将直接影响发电机并联运行的稳定性和经济性。本文将搭建发电机组并联带负载的联合仿真模型,通过基于以太网的能量管理信息网络监控负载功率,并对发电机组功率进行二次分配远程控制。其仿真算例结构如图9 所示,其中L 为输电线路,S 为负载。
图 9 联合仿真系统算例Fig. 9 Example of co-simulation system
在仿真算例的电力系统模型中,2 台并联的三相同步发电机组(G1,G2)向三相交流阻感负载供电,其中 G1 与 G2 的容量分别为 670 kVA 和 85 kVA,负载功率为160 kW/120 kvar。与电力系统模型相对应,能量管理信息网络的仿真模型由3 个交换机节点和5 个以太网节点组成,其中5 个以太网节点分别为发电机组G2 控制节点、负载功率采样节点、远程控制节点以及背景流量节点。背景流量节点的主要功能是向远程控制节点发送周期数据包,从而模拟网络中其他控制过程带来的背景流量特性。在初始条件下,2 台发电机组按容量比例分担负载功率,待系统运行稳定后即启动二次功率分配,通过能量管理网络采集负载数据,并控制发电机组G2 的有功和无功输出,从而实现负载功率的按需分配。
在联合仿真过程中,Matlab 将采集电力系统中负载的有功和无功信息,并以此作为远程控制器的计算输入;在OPNET 模型中,控制器将检测的功率信息作为输入,根据需求计算生成对应的发电机组功率指令并回传至Matlab 中执行。根据图7 所示的时钟同步方式,该联合仿真每个周期的运行流程如下:首先,Matlab 运行,OPNET 挂起等待;接着,在运行至一个周期之后,Matlab 暂停运行,并将负载功率数据通过RTI 和HLA 节点传输至OPNET 的负载功率采样节点;然后,OPNET恢复运行,通过交换机将数据发送至远程控制节点,待远程控制节点生成功率控制指令之后,再次通过交换机传输至发电机组控制节点,然后通过HLA 节点和RTI 将控制指令回传至Matlab 仿真模型;最后,Matlab 接收到数据之后即恢复运行,并根据接收数据对发电机组的输出功率进行调整。本文的算例工况设置如下:在初始状态下,2 台发电机组按容量比例分担负载功率;当仿真运行至第10 s 时,通过远程控制器对发电机组进行功率转移,实现发电机组之间的功率均分,进而分析网络固有延时和背景流量对系统二次功率分配过程的影响。
3.2.1 工况1:添加链路固有延时
为了模拟信息网络中网络链路固有延时的特性,本文将在仿真模型的每条网络链路中分别添加2 和5 ms 的链路延时,用以分析不同网络延时对电力系统运行特性的影响。图10 所示为电力系统模型中节点1 的同步发电机组G1 与G2 的运行特性,其中 T 为仿真时间,图 10(f)的转速为标幺值(单位为pu,其中G2 的额定转速为1 500 r/min)。
经仿真测试:在添加链路延时之前,数据包的传输延时约为300 μs;添加链路延时之后,由于数据包从采样模块经控制器转发至发电机组需经过6 条链路,而每条链路的固定延时为 2 和 5 ms,所以整个控制环节的总延时分别约为12 和30 ms。经对比分析,发现不添加链路延时的系统运行特性与仅采用Matlab 仿真(不考虑网络延时)的运行特性相一致。由图10 可以看出,当数据包的传输总延时较小时,电力系统所受的影响也较小。然而,由于电力系统与能量管理网络之间存在紧耦合关系,网络延时将导致电力系统的控制指令无法及时下达,同时电力系统还需将影响之后的功率数据反馈至能量管理网络(作为网络控制的输入),故二者将形成控制闭环,且在耦合关系作用下相互影响。因此,随着链路延时的增加,2 台发电机组输出功率的振荡也将随之明显增加,而稳定时间也会有所延迟。由此可见,在二次功率分配过程中,网络链路的固定延时特性将对电力系统响应产生明显影响。
图 10 添加链路延时的联合仿真结果(工况1)Fig. 10 Co-simulation results with link delay (condition 1)
3.2.2 工况2:添加背景流量
针对网络中存在背景流量的工况,在不添加链路固有延时的前提下,通过网络仿真模型中的2 个背景流量节点向控制网络循环发送随机大小的数据包,以此作为网络背景流量,进而分析网络链路在未饱和与饱和条件下因背景流量导致的网络延时对电力系统的影响。图11所示为同步发电机组G1 与G2 的运行特性,以及数据包的延时特性。
图 11 添加网络背景流量的联合仿真结果(工况2)Fig. 11 Co-simulation results with network background traffic (condition 2)
由图11(g)可以看出:在随机背景流量的影响下,控制数据包的延时也将随机变化;当添加的背景流量未导致链路过载时,数据包的延时明显大于未添加背景流量时的延时,且在10 ms 左右的范围内波动;当背景流量较大且导致链路过载时,网络数据量将超出网络处理能力,导致数据包将在网络设备的发送队列中逐渐累积而无法及时处理,随着仿真时间的推移,网络延时也将逐渐增加。由图11 的仿真结果可以看出:当链路未过载时,由于数据包延时仅在一定范围内波动,故其对电力系统运行特性的影响较小;当背景流量导致链路过载时,数据包延时将随着仿真时间的推移逐渐增加,故系统闭环控制的延时也随之增加;当仿真进行至15 s 之后,系统开始产生振荡,并逐渐失稳发散。
针对舰船电力系统中能量管理信息网络与电力系统的紧耦合特性,本文提出了一种基于HLA仿真框架的联合仿真方法,分别设计了OPNET网络仿真平台和Matlab/Simulink 电力系统仿真平台的对外数据交互接口以及联合仿真控制程序,提出了联合仿真的数据交互和时钟同步方法。同时,搭建了舰船电力系统中同步发电机组并联带负载的联合仿真模型,并以能量管理网络远程控制功率二次分配的工况为例,仿真分析了能量管理网络中链路固有延时、背景流量等因素对电力系统运行特性的影响。仿真结果表明,本文提出的联合仿真方法可以实现舰船能量管理信息网络与电力系统的联合仿真,可为二者的耦合研究提供有效的仿真手段。
由于现阶段搭建的联合仿真算例系统相对简单,在后续研究中,将进一步扩展联合仿真方法在舰船电力系统中的应用范围,例如实时控制与能量调度方面的应用研究,以揭示实际系统应用中信息流的非理想特性对能量流的影响。此外,作为理论基础和验证手段,本文提出的联合仿真方法可为开展消除信息网络非理想特性对电力系统的影响分析提供基础:首先,可以改善控制网络的性能,从源头上消除信息网络对电力系统的不良影响;其次,可以提出新的控制方法,例如将预测控制理论算法应用于控制策略,通过算法对网络控制指令进行预判,从而修正对网络特性造成的影响,最终改善系统的控制性能。