一种基于主从式的电力通信联合仿真平台及仿真方法技术领域
本发明属于电力通信系统仿真领域,涉及电力系统仿真、通信系统仿真以及多仿
真软件的协同交互机制研究,该方法可以有效解决传统电力系统仿真软件无法仿真通信系
统导致的仿真真实性差的问题。
背景技术
长期以来,由于电力系统与通信系统的耦合程度较低,因此在进行电力系统仿真
分析时,往往忽略通信系统带来的影响。然而,随着大量具有间歇性、波动性的可再生能源
的接入,智能负荷、电动汽车等可控负荷的加入,以及电力系统数据采集与监视控制系统、
广域监控保护和控制等自动化系统的投入使用,电力系统和通信系统的耦合程度显著提
高,通信系统的运行状态将直接影响整个电力系统的安全运行。因此在分析电力系统运行
特性时必须充分考虑通信系统的影响。
目前,研究电力系统的运行特性的最直接方法就是建模仿真,然而常规的电力系
统仿真软件并不支持通信系统的建模仿真,因此需要对现有的电力系统仿真方式进行改
进。考虑通信影响的仿真的实现方式主要可以分为三种:扩展物理仿真软件以实现通信仿
真功能、扩展通信仿真软件以实现物理系统仿真功能和联合物理系统仿真软件和通信仿真
软件实现联合仿真功能。前两种仿真方式受限于其工具性能限制,仿真局限性大,因此通常
采用第三种方式进行电力-通信联合仿真。然而当前的电力-通信联合仿真系统普遍采用定
时同步或是全局事件列表同步机制,其仿真局限性高,适应性较差,仿真效率不高,容易产
生仿真误差等问题,因此需要对其进行改进。
发明内容
技术问题:本发明提供了一种可以实现电力通信系统联合仿真的仿真方法,其包
含主从式电力通信联合仿真平台的仿真架构设计,仿真双方软件的数据同步方法和时间同
步机制研究,通过该平台可以准确反映受通信系统影响的电力系统实时响应,提高电力系
统仿真的准确性的正确性。
技术方案:本发明的一种基于主从式的电力通信联合仿真平台及仿真方法,包括
以下内容:
1)由电力系统仿真软件、通信系统仿真软件和通信中间件构成,其中电力系统仿
真软件为主导软件,通信系统仿真软件为从属软件,通信中间件作为辅助软件。
11)所述电力系统软件对电力系统模型进行连续时步仿真,其包含电力系统仿真
模型和联合仿真控制模块,其中电力系统仿真模型通过电力系统建模获得;
12)所述通信系统仿真软件对通信系统模型进行离散时步仿真,其包含通信系统
仿真模型,通过通信系统建模分析获得;
13)所述通信中间件通过C++编程语言编译获得,具有传递双方软件数据流和控制
流信息的功能,其采用通用Socket套接字通信方式,实现与电力系统仿真软件对外交互接
口无缝匹配,采用专用通信仿真软件对外函数实现与通信系统仿真软件的数据交互。
2)上述仿真控制模块,其包含仿真系统的时间同步模块和数据同步模块;其中时
间同步模块基于仿真时间同步机制驱动,主要用于控制电力系统仿真软件和通信系统仿真
软件的启停,并控制数据同步模块的运行;数据同步模块受时间同步模块的控制,执行向双
方软件收发仿真数据的工作。其具体流程为:
21)仿真控制模块执行全局初始化操作,引导时间同步模块根据定时同步事件和
突发同步事件构建仿真事件池;同时分别初始化电力系统仿真模型和通信系统仿真模型,
并使双方仿真模型暂停在首次同步事件时刻;
22)时间同步模块从仿真事件池中获取距当前仿真时刻最近的仿真事件的时间,
将其作为下一个仿真同步点;
23)仿真控制模块触发数据同步模块,使其采集当前时刻下的电力系统仿真模型
的采样数据,对数据进行添加时标、打包等操作,并将数据转发至通信系统仿真模型中;推
进通信仿真模型至步骤22)的仿真同步点;;
24)仿真控制模块推进通信系统仿真模型至步骤22)的仿真同步点时刻的过程中,
收集通信系统仿真过程中的仿真数据,并由数据同步模块对数据进行解析处理再返回电力
系统仿真模型中,同时对电力系统仿真模型中的仿真参数进行更新,推进电力系统仿真模
型至步骤22)中的仿真同步点时刻;
25)时间同步模块更新当前仿真事件池中的事件,并判断事件池是否已空,如是,
则仿真控制模块分别向电力系统仿真软件和通信系统仿真软件发送终止命令,否则返回步
骤22)。
3)根据发明内容2所述的仿真时间同步机制,其由定时时间同步机制和全局事件
列表同步机制构成;其中定时时间同步机制采用固定时间间隔设定仿真同步点,主要用于
含有周期性同步操作的仿真场景;全局事件列表同步机制则通过构建仿真未来发生的事件
列表来确定仿真同步点,主要用于记录未来可能发生突发事件而需要进行同步操作的仿真
场景。
本发明通过主从架构方式构建电力通信联合仿真平台,可大大简化平台开发的难
度和工作量,此外,所设计的时间同步方法,可以有效解决传统仿真平台同步机制复杂,易
累积误差和同步过于频繁的问题,提高仿真的精度。
有益效果:本发明与现有技术相比,具有以下优点:
传统仿真工具往往只能执行单一系统的仿真,如电力系统仿真工具无法进行通信
系统仿真,通信系统仿真工具无法进行电力系统仿真,现有的电力通信混合仿真虽然具有
电力-通信混合仿真功能,但是其仿真时间同步机制均存在一定程度上的缺陷与不足。其中
步进式同步机制虽然同步机制简单,设计容易,但是当一个时间步长内出现突发事件需要
执行数据同步时,往往需要等到固定同步时刻才能执行,该机制适应能力差,且容易造成仿
真累积误差;全局事件列表方式的同步机制,虽然能够有效避免上述同步机制的缺陷,但易
受仿真事件冗余影响仿真效率;而采用主从式的同步机制的电力通信联合仿真,当受控软
件需要进行信息交互时,难以将该事件传递到主控软件,因此无法响应受控软件其同步需
求,易造成仿真结果的偏差。
本发明通过构建主从式的电力通信联合仿真架构,简化仿真平台开发难度;同时
设计了一种融合定时同步机制和全局事件列表机制的时间同步机制,有效解决了主从仿真
模式下无法响应受控软件请求的问题,在有效提高仿真效率,降低仿真复杂度的情况下,避
免了由此带来的仿真误差。
附图说明
图1为本发明的基于主从式的电力通信联合仿真平台架构图。
图2为本发明的电力通信联合仿真平台信息流示意图。
图3为本发明的电力通信联合仿真平台时间同步示意图。
具体实施方式
下面结合附图和具体实施方法来详细说明本发明技术方案。
1)首先对基于主从式的电力通信联合仿真平台的整体架构进行详细说明。电力通
信联合仿真平台主要由三个部分组成,分别是电力系统仿真软件(以MATLAB为例),通信系
统仿真软件(以OPNET为例)和通信中间件。其中,电力系统仿真软件包含两个主模块,分别
是仿真控制模块和电力系统仿真模块,以及一个辅助模块:API接口模块;通信系统仿真软
件包含一个主模块和一个辅助模块,分别是通信系统仿真模型和外部通信接口模块。其整
体架构如图1所示。
2)根据上述仿真框架,对仿真的同步数据流和控制指令信息传输路径进行说明,
其具体步骤如下:
步骤1,对双方软件的数据缓存进行初始化,仿真控制模块控制双方软件进行初始
化,并暂停在初始时刻;
步骤2,判断当前时刻是否需要进行数据同步,如是,则数据同步模块从MATLAB工
作空间的数据缓存中收集相关同步数据,并确定同步数据的源、目的通信节点地址,随后将
上述信息和数据进行打包并调用API接口,将数据发送至通信中间件,并进入步骤3;如否,
则挂起等待;
步骤3,通信中间件收到数据后,首先判断数据类型,若为同步数据,则对数据进行
解析和重构,并调用OPNET的外部通信接口函数,将信息发送至OPNET的外部系统中,并进入
步骤4;若为控制指令信息,则进入步骤5;
步骤4,OPNET的外部系统收到同步数据后,将数据进行解析,并存储至OPNET的内
部数据缓存中,同时触发OPNET的联合仿真接口模块工作,联合仿真接口模块首先对缓存数
据进行解析,获得数据对应的源、目的节点地址,再通过调用相关核心函数,将缓存数据封
装为一个通信仿真的数据包,并放入对应源节点,并等待仿真推进信号;
步骤5,OPNET外部系统收到控制指令信息后,对指令信息进行解析,获得仿真推进
的时间信息,并调用其仿真运行核心函数,将OPNET仿真向前推进至目标时间,然后暂态仿
真;
步骤6,当OPNET获得仿真推进后,目的节点收到源节点发送的数据包,将数据包进
行解析,并获得相关的通信延时、丢包率等通信指标,接着将上述信息打包,同时调用相关
核心函数,将仿真结果返回到外部通信接口中;
步骤7,外部通信接口在收到返回信息后,将信息写入通信中间件的预留缓存中,
同时通信中间件通过API接口,将数据返送至MATLAB工作空间的回调数据缓存中;
步骤8,数据同步模块对回调数据进行解析,并根据数据的通信系统仿真模型目的
节点确定其电力系统的目的节点地址,并将同步数据、通信延时和丢包率等信息写入对应
电力系统的目的节点中,执行更新操作;
步骤9,仿真控制模块向电力系统仿真模型发送仿真推进指令,将仿真推进至下一
个同步点,同时将电力系统仿真的相关数据写入MATLAB工作空间的数据缓存中,并进入步
骤2。
其信息流示意图如图2所示。
3)仿真控制模块是电力系统仿真软件的重要部分,是电力通信联合仿真平台的核
心,起到控制双方软件启停,协调双方软件和执行软件间信息交互的功能。仿真控制模块由
两个主模块和一个辅助模块构成,分别是时间同步模块、数据同步模块和仿真时间模块。其
中仿真时间模块用于确立了一个全局的仿真参考时间,时间同步模块主要包含协调整体仿
真并设置仿真时间同步点的作用,数据同步模块负责收发双方软件的仿真数据。其控制流
程如下:
步骤1,仿真控制模块启动全局仿真参考时间,同时对双方软件进行初始化,并使
双方软件暂停在时刻T,同时根据设定的定时同步间隔,初始化定时同步机制,并初始化突
发事件同步列表,然后根据同步机制,将未来需要发送同步的事件写入仿真事件池,其仿真
事件池事件分别在时间为T,2T,t,3T,4T…时;
步骤2,时间同步模块从仿真事件池中获取距当前仿真时刻最近的仿真事件的时
间,为2T,将其作为下一仿真同步点;
步骤3,仿真控制模块获取同步数据,并分别对同步数据和控制指令添加时标和打
包操作,再发送给通信系统仿真软件,使通信系统仿真模型推进至下一仿真同步点,并返回
相关仿真数据;
步骤4,仿真控制模块获得通信仿真相关数据后,触发数据同步模块进行相关更新
操作,并对MATLAB仿真模型的相关数据进行更新,然后推进电力系统仿真模型至下一仿真
同步点,获得下一步电力系统仿真数据;
步骤5,时间同步模块更新当前仿真事件池中的事件,同时判断仿真事件池是否为
空,如是,则仿真控制模块分别向MATLAB仿真模型和OPNET仿真模型发送终止命令,结束仿
真,否则返回步骤2。
4)电力系统仿真模型和通信系统仿真模型
电力系统仿真模型和通信系统仿真模型通过对实际的物理场景进行电力通信解
耦,并分别进行建模获得。其中电力系统仿真模型中的节点为电力母线节点,通信系统仿真
模型中的节点为通信节点。
5)通信中间件、外部通信接口模块与API接口模块
通信中间件、外部通信接口模块与API接口模块可构成两个通信通道,其中通信中
间件与API接口模块构成Socket套接字通道,通信中间件与外部通信模块构成OPNET对外交
互通道。Socket套接字通道部分的API接口模块为客户端,通信中间件为服务器端,实现数
据交互;OPNET对外交互通道部分则通过OPNET的外部系统函数实现OPNET外部系统与外部
软件之间的信息交互,OPNET对外交互通道封装为一个函数模块,植入Socket套接字通道的
执行代码中。其工作的主要流程如下:
步骤1,通信中间件进行初始化,开始监听客户端的请求;同时API接口模块程序进
行初始化,并与通信中间件建立连接;
步骤2,当API接口模块需要与OPNET进行通信时,客户端向服务器端发送写入数据
请求,服务器端响应该请求,客户端向服务器端写入相关数据,客户端挂起,并等待服务器
端数据应答;
步骤3,服务器端对写入数据进行处理,并按照用户定义重构信息,并调用OPNET对
外交互通道,将数据发送至OPNET的外部系统接口模块,并等待OPNET端的数据反馈;
步骤4,当接收完OPNET端的反馈数据后,服务器端向客户端发出应答请求,客户端
响应该请求,并接受来自服务器端的数据;
步骤5,客户端接收应答数据后,反馈给仿真控制模块,并返回步骤2,等待下一次
数据交互请求。
本发明通过构建一种主从式的电力通信联合仿真平台,并设计了一种融合主从式
和全局事件列表方式的时间同步机制,有效解决了主从仿真模式下无法响应受控软件请求
的问题,在有效提高仿真效率,降低仿真复杂度的情况下,避免了由此带来的仿真误差。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本发明不受上
述实施例的限制。本发明要求保护范围由所附的权利要求书及其等效物界定。