一种基于通信的电力分布式控制与仿真系统的制作方法

文档序号:14478859阅读:210来源:国知局

本发明属于电力—通信联合控制与仿真领域,构建了一种基于通信的电力分布式控制与仿真系统。



背景技术:

在化石能源紧缺和环境污染加剧的背景下,分布式电源(der)得到了快速的发展,分布式电源入网是实现智能配用电的关键问题之一。der接入配电网后,使配电系统变成多源网络,网络中的潮流分布及故障时短路电流的大小、流向和分布均会发生变化。传统配电系统中保护之间的配合关系被打破,保护的动作行为和性能都会受到影响,甚至无法起到保护作用,同时,der出力较小、数量众多且分布复杂,对于其控制也提出了更高的要求。借助通信过程的保护和控制方法将更多地应用于智能配电网,高速、安全和可靠的信息通信网络将为未来广域电力系统的可观性和可控性提供重要的技术支撑,这也是“智能电网”的“智能”之所在。因此,在分布式电源接入情况下,研究电力网与通信网之间的联合仿真系统,具有重要的现实意义。



技术实现要素:

本发明的目的在于:顺应当今分布式新能源和智能电网的发展,打破传统的电力网和通信网只在各自领域进行仿真与分析的局限性,将通信环节加入到电力控制与仿真的研究当中。借助通信网络的仿真,对电力通信网的相关网络通信协议机理和传输过程进行模拟,考察网络性能指标,实现电力业务仿真平台与通信网络仿真平台间的数据交互和仿真进度的协同管理。

本发明的技术方案:

1)一种基于通信的电力分布式控制与仿真系统,主要包括电力仿真平台matlab1,外部控制台2,通信仿真平台opnet3。其中:电力仿真平台matlab1生成电力仿真数据信息传给外部控制台2,外部控制台2将接收的数据信息再传给通信仿真平台opnet3,并在通信仿真平台opnet3的通信网络中进行传输;通信仿真平台opnet3将传输的结果反馈给外部控制台2,外部控制台2将反馈结果再传给电力仿真平台matlab1,形成一个循环系统。

2)电力仿真平台matlab1基于simulink模块构建电力台站数学模型,生成电力业务数据,通过调用协同仿真api接口函数对外发送数据,并控制整个仿真时间进度的推进,同时接收opnet的通信反馈结果。

3)外部控制台2,通过加载opnet对外提供的协同仿真库(包括lib及dll文件)和相关api函数,实现与opnet内部cosim接口模块的通信,同时通过socket方式与matlab交互数据,进而完成数据业务的转发和对opnet内部仿真时间进度的控制。

4)通信仿真平台opnet(3),用以构建电力系统通信网络模型,模拟网络的通信协议及通信数据传输过程,并通过cosim接口接收外部业务数据和仿真进度控制指令。

本发明的效果和优点是:

1)打破了传统的电力网和通信网只在各领域进行仿真与分析的局限性,实现了电力网仿真与通信网仿真的联合;

2)做到了电力业务仿真平台与通信网络仿真平台间的数据交互和仿真进度的协同管理,有利于分布式电源的控制和仿真研究;

3)可模拟通信中断、延迟和误码等情况对电力运行的影响,为电网信息化智能化研究提供了工具;

4)通过用c程序控制,编译接口和调用函数,对现有软件matalb和opnet进行联合仿真,具有设计简单、控制可靠、成本低等优点;

5)对于电力仿真,关于系统模型的建立、数据的设定和仿真时间的推进等主要操作仍在熟悉的matlab中进行,无需过多的培训和学习,具有上手快、使用便捷等优点。

下面结合附图对本发明作进一步详细描述。

附图说明

附图1是系统架构图。

附图2是电力—通信数据交互图。

附图3是系统运行时序图。

附图4是基于通信的电力仿真流程图。

图中:1为电力仿真平台matlab,2为外部控制台,3为通信仿真平台opnet。

具体实施方式

以下结合技术方案和附图详细说明本发明的具体实施方式。

1.基于通信的电力分布式控制与仿真系统的总体设计方案

该系统由三个主要部分组成,分别是电力仿真平台matlab、通信仿真平台opnet以及外部c程序控制平台,其间通过开放式接口cosim串接。其中:

1)电力仿真平台matlab

电力仿真平台matlab基于simulink模块构建电力台站数学模型,生成电力业务数据,通过调用协同仿真api接口函数对外发送数据,并控制整个仿真时间进度的推进,同时接收opnet的通信反馈结果。

其中,接口设计:在matlab中基于simulink模块构建电力系统模型,生成相关通信数据,并存储在matlab工作空间。在matlab平台的控制指令窗口调用api接口函数,该函数读取matlab工作空间下待传输的数据内容,并发送出去,同时接收反馈的通信结果。所对应的三个输入参数分别是:

①isquit:是否结束当前仿真,0代表否,1代表是;

②time_advance:需将opnet内部时钟推进到的仿真时间点;

由于所使用的算例网络规模比较大,所有路由器节点动态建立收敛需要较长时间,因此opnet推进的时间不能太小。

③msg:需传送的站点通信数据,该数据为长度可变的结构体数组,所包含的结构体元素包括源站点id、目的站点id、源站点状态、电力业务数据。

api接口函数socket_matlab内部封装了两个主要api函数:

intclient_matlab(msginfo*msgtosend,matlab_result*output_buf)

该函数负责将生成的数据和控制指令以客户端角色发送至外部c控制程序,并把得到的反馈结果取出来。

voidmexfunction(intnlhs,mxarray*plhs[],intnrhs,constmxarray*prhs[])

该函数负责将matlab中的结构体数据与c语言中定义的结构体数据进行转换。

2)外部控制台

外部控制程序通过加载opnet对外提供的协同仿真库(包括lib及dll文件)和相关api函数,实现与opnet内部cosim接口模块的通信,同时通过socket方式与matlab交互数据,进而完成数据业务的转发和对opnet内部仿真时间进度的控制。

外部控制台由c程序编写设计完成,主要包括:

执行主程序:该部分由main函数完成,在其内部构建无限循环,调用matlab数据接收子函数,根据推进指令确定仿真进度的推进及仿真终止;

matlab数据接收子函数:该函数监听与matlab通信的socket端口,接收matlab通信数据及仿真进度推进指令,并完成通信数据的转换,向cosim接口模块发送;

matlab数据反馈子函数:监听cosim接口模块的数据,依次接收opnet反馈的数据内容,并通过socket接口发送至matlab。

3)通信仿真平台opnet

通信仿真平台opnet构建电力系统通信网络模型,模拟网络的通信协议及通信数据传输过程,并通过cosim接口接收外部业务数据和仿真进度控制指令。

其中,通信网络模型是由若干路由器、台站节点组成的分布式电力通信网络,网络中各路由器采用ospf动态路由协议进行路由的建立和维护,并为通信业务进行寻址转发,台站作为通信终端进行电力通信数据的收发。

台站节点模型内部具备标准通信设备的五层协议栈,从上到下依次是应用层、传输层、网络层、接入层和物理层。其中主要构建的协议栈模块是应用层,该协议栈模块接收cosim接口模块派发的数据业务信息,并生成对应的数据包进行发送。对于将经过网络传输后接收到的数据业务信息,连同相关统计结果(如时延)反馈至cosim接口模块。

通信仿真平台opnet接口设计:针对opnet内部的cosim接口模块进行设计建模,主要包括接口交互数据的定义和进程模型的编码。其中,接口交互数据的定义内容包括以下四部分:外部发送至opnet的数据结构、外部发送至opnet的数据维度、opnet反馈至外部的数据结构以及外部传来的opnet仿真推进时间。

cosim模块进行数据处理的部分由内部进程模型来实现,该进程模型包括有限状态机,包括初始化状态、等待状态、推进时间处理状态、接收数据维度状态和缺省事件处理状态。进程启动工作并完成初始化后,即进入到空闲等待状态随时响应不同的事件触发,并执行相应的响应操作。其中,接收外部送来的通信业务数据和向外部发送反馈的数据信息分别通过函数process_esys()和process_remote()来完成。另外,接收数据维度状态负责在通信数据到来前记录要接收的数据维度信息,用于后续动态内存的分配。推进时间处理状态根据要推进的时间进度,在对应的时间点上设置相应的中断事件。缺省事件处理状态负责对其它未知中断进行响应。

2.系统的数据交互及运行流程

基于simulink模块构建电力台站数学模型,生成电力业务数据,通过调用协同仿真api接口函数对外发送数据,并控制整个仿真时间进度的推进,同时接收opnet的通信反馈结果。

系统的仿真数据交互关系:matlab中运行simulink仿真程序,将其生成到的电力数据通过调用协同仿真api接口函数发送至外部c代码控制程序,该程序接收到数据后调用cosim接口的库函数,将要通信业务数据和仿真进度推进指令送达至opnet平台内部的cosim接口模块中。此后,cosim接口模块根据各个业务数据中的源地址信息将其派发至对应的源节点模型上,通过网络的路由协议开始进行路由传输。当数据到达目的节点后,再被派发至cosim接口模块,并发送至外部c代码控制程序。外部c代码控制程序监听并接收到以上数据后,再通过socket接口送回至matlab,最后直到进入到simulink内部模块中。整个仿真数据的流程依此而循环往复不断向后推进。

因而,具体的运行流程:

step1:操作系统的command命令窗口执行run_sim_electric_network.bat程序启动c控制台。由于c控制台程序与opnet中对应的网络仿真场景是混编在一起的,因此,启动c控制台启动后同时启动了opnet中对应的仿真场景程序,并回显当前场景的初始化结果,包括opnet内部cosim接口名称、数量和opnet内部当前所停滞的仿真时间;

step2:启动matlab,设置单次推进步长,生成30个台站的业务测试数据(每个站台包含100组数据),调用socket_matlab函数将台站通信数据送至c控制台,c控制台接收到matlab传输的数据业务并向cosim发送;

step3:c控制台将matlab传来的数据业务传给cosim接口,通信数据进入到opnet内部后,在内部进行传输。传输情况如下:

①opnetcosim接口把接收的数据分别派发至对应的源站点;

②完成从源站点到目的站点的数据传输模拟和结果计算;

③目的站点将接收的通信信息和统计结果发送至opnet的cosim接口。

step4:c控制台接收来自opnetcosim接口的反馈数据,并向matlab发送反馈数据,包括源站点、目的站点id、通信统计结果(时延等)、数据业务内容。matlab实时接收反馈数据并在本地显示。

3.出错处理设计

在仿真运行时出现错误会在c控制台和matlab界面中显示:

1)推进时间要根据c控制台显示的当前仿真时间进行设置,如果推进时间小于当前时间会有报错提示,修改后再次运行即可。

2)在c控制台中设置当前仿真时间如果很短,导致路由动态建立不收敛,数据包传至该路由时会丢失,此时matlab界面显示数据发送失败和接收失败。在c控制台源代码中修改该时间后,重新进行编译可解决此问题。

4.功能特点总结

1)包含电力与通信仿真的系统;

2)将电力仿真得到的调度指令传递给通信仿真软件接口;

3)通信软件接口获得电力调度指令数据后,仿真电力实际指令的通信传输路径,在通信软件中将其进行通信传输,至指定的电力节点相对应的通信节点;

4)通信节点接收到传输的电力指令后,通过电力与通信软件的接口,将其传递给电力仿真软件中相应的电力节点;

5)电力仿真软件接收通信仿真传递的指令后,继续进行电力仿真;

6)模拟通信中断、延迟和误码等情况对电力运行的影响。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1