一种基于多进程架构的变电站在线监控方法与流程

文档序号:17445628发布日期:2019-04-17 05:33阅读:157来源:国知局
一种基于多进程架构的变电站在线监控方法与流程

本发明涉及一种基于多进程架构的变电站在线监控方法,属于电力系统智能变电站综合自动化技术领域。



背景技术:

随着智能电网技术的发展与完善,智能变电站逐步成为智能电网技术的关键。现行的智能变电站均是按照《智能变电站一体化监控系统建设技术规范》进行设计与建设的。按照该《规范》要求,一体化监控系统横向联通变电站内各自动化设备,通过集成优化,实现全站信息的统一接入、统一存储,为自动化、保护、计量、运检等专业用户提供了支撑。一体化监控按功能分为运行监视、操作与控制、智能告警与信息综合分析、运行管理、辅助应用等五大类应用,提供了一个全站的数据展示与控制平台。目前保护逻辑可视化和变电站内二次装置即插即用技术日趋成熟,在线监控直接从二次装置读取图形文件取代人工绘图也成为了一种趋势。

智能变电站内不断增加的功能应用为变电站的在线监控系统提出了更高了要求。在线监控系统已不单是做简单的监视与控制,所接入的内容也由单个厂家扩展为不同的厂家。传统的在线监控多采用单进程架构,功能的增加让在线监控系统不能有效的利用操作系统资源而效率低下,多源的数据也让在线监控系统的稳定性降低。而将不同的应用分散到不同的独立进程后,系统功能变得分散而不利于用户的操作与控制。变电站内不同的应用在功能上相对独立,但使用的资源有可能相同,比如都需要图形画面作为展示平台。所以一个应用异常时,不能影响到其它应用甚至是整个在线监控,因为应用功能较多,并且数据来源有可能来自不同的厂家,而构造一下功能强大且永不异常的进程几乎是不可能的,而目前的变电站在线监控由于某个应用或画面异常造成在线监控效率低、运行不稳定。



技术实现要素:

本发明的目的是提供一种基于多进程架构的变电站在线监控方法,以避免某个应用或画面异常而导致变电站在线监控效率低、运行不稳定的问题。

本发明为解决上述技术问题提供了一种基于多进程架构的变电站在线监控方法,该监控方法将变电站的在线监控功能分为主框架进程、绘制进程和插件进程三种不同类型的进程,所述主框架进程用于负责画面显示、资源调度、进程间的信息交互和用户的输入;所述绘制进程用于负责解析组态画面文件并绘制图形,并将绘制结果发送到主框架进程进行显示;所述插件进程用于负责为在线监控插件提供资源和用户输入。

所述主框架进程与绘制进程和插件进程之间在每个时间周期内发送一次心跳以确定绘制进程和插件进程是否有响应,如果绘制进程和插件进程在周期时间内未发送心跳报文则认为绘制进程和插件进程异常而强制重启,若绘制进程和插件进程在周期时间内未收到主进程的心跳,则认为主进程异常,强制自己退出。

本发明的有益效果是:本发明将变电站的在线监控功能分为主框架进程、绘制进程和插件进程三种不同类型的进程,各进程间的信息交互采用命名管道的方式,进程间的数据流交互采用共享内存的方式,进程间的交互信息采用通用的动态数据对象传输,主框架进程用于负责画面显示、资源调度、进程间的信息交互和用户的输入;绘制进程用于负责解析组态画面文件并绘制图形,并将绘制结果发送到主框架进程进行显示;插件进程用于负责为在线监控插件提供资源和用户输入。本发明通过将不同的应用、不同的画面放置于不同的进程中,避免了某个应用或画面异常而影响整个系统,为变站电自动化系统稳定、可靠的运行提供有力的保障。

附图说明

图1是变电站在线监控系统应用功能结构图;

图2为本发明基于多进程方案架构图;

图3为在线监控进程管理界面。

具体实施方式

下面结合附图对本发明的具体实施方式做进一步的说明。

如图1所示,变电站在线监控可分为运行监视、操作与控制、智能告警与信息综合分析、运行管理、辅助应用等五大类应用,按功能又可分为画面展示类与业务处理类。如图2所示,本发明将变电站的在线监控功能分为主框架进程、绘制进程和插件进程三种不同类型的进程,各进程间的消息交互采用命名管道的方式,进程间的数据流交互采用共享内存的方式,进程间的交互信息采用通用的动态数据对象传输,其中主框架进程用于负责画面显示、资源调度、进程间的信息交互和用户的输入;绘制进程用于负责解析组态画面文件并绘制图形,并将绘制结果发送到主框架进程进行显示;插件进程用于负责为在线监控插件提供资源和用户输入,插件进程为业务处理功能的集合,负责整个系统的业务处理,插件进程将处理后的数据写入实时库,通过绘制进程将数据展示在画面中,由于装置的画面来自于不同的厂家,所以按画面类型将绘制进程分为监控画面绘制进程和装置画面绘制进程。

当用户浏览在线监控画面时主框架进程从磁盘读取图形文件,并通知绘制进程。绘制进程接收到通知后读取画面文件内容并绘制图形,并把绘制后的图形发送至主框架进程显示,具体的工作过程如下:

1.启动主框架进程,在主框架进程启动时,自动启动绘制子进程和插件子进程。

由于基于命名管道的进程间交互方式应用简单可靠,所以本实施例中进程间的消息交互采用命名管道的方式,在启动子进程时,主框架进程与每个子进程建立“绘制进程名称+进程标识(pid)”的命名管道。

2.用户在界面中选择要打开画面,主框架进程根据用户选择的画面类型确定交互的绘制进程,并将打开画面的消息通过管道发送至该进程。

本发明中进程间的消息交互模型采用动态对象映射的方式构造,动态对象由多组“字段+值”组成,发送和接收方根据不同的消息类型事先约定对象中有不同的字段,发送方发送消息时首先通过setfieldvaluebyname为对象动态添加字段并设置该字段的值,动态对象提供了可持久化接口,发送时将对象本身序列化为二进制数据流;接收方接收到数据流后通过反序列化接口将数据流转换为“字段+值”的组合,通过getfieldvaluebyname获取相应的数据值。这种动态对象映射的方式降低了传输对象和业务之间的耦合性,提高了数据对象的可扩展性。

3.绘制进程接收到主框架进程发来的打开画面命令后从磁盘找到对应文件,并按照规定的格式读取文件内容。此时绘制进程中的绘制引擎开始工作,将根据实时库中图元的状态,将文件内容渲染成对应的图片并传递至绘制进程中的文件传输引擎,同时向实时库订阅画面中的数据。由于渲染出来的文件内容可能较大,通过管道频繁发送文件流效率较低。本方案中文件的内容将通过共享内存的方式在进程间传输文件。此时文件传输引擎将图片转换成二进制流写入共享内存中,并将共享内存的句柄和共享区域的大小通过管道发送到主框架进程。

4.主框架进程收到绘制进程发来的图片消息后,根据共享内存的句柄和共享区域的大小从对应的共享区域内取出图片的文件内容并将其转换为图片格式在界面中显示。

本实施例中图形的绘制方式采用多进程合作的方式,对于不同类型的图形文件采用不同的绘制进程,并转换为统一的图片格式(png),避免了不同厂家提供的图形文件格式不一致导致在线监控的异常。

当用户在界面中做鼠标操作或输入时,主框架进程将事件和位置发送至绘制进程,绘制进程根据事件类型和位置做出响应,并将结果返回至主框架进程,主框架进程根据响应结果做相应鼠标指针变化等处理,具体的过程如下:

(1)鼠标在界面中移动时,主框架进程获取鼠标的坐标位置并通过消息发送到绘制进程。

(2)绘制进程获取到鼠标位置的消息后通知操作管理引擎。

(3)操作管理进程通过鼠标位置来获取图形画面中的图元信息,根据当前图元确定对应的鼠标光标类型,并将鼠标类型通过消息发送至主框架进程。

(4)主框架进程根据收到的鼠标类型来改变当前的光标。

(5)当鼠标点击画面时主框架进程将点击事件和当前光标位置通过消息发送至绘制进程。

(6)绘制进程获取到点击事件和鼠标位置的消息后通知操作管理引擎。

(7)操作管理引擎从图形中获取定制的鼠标点击事件操作名称并发送至主框架进程。

(8)主框架进程根据收到的操作名称后将操作发送至插件进程。

(9)插件进程根据收到的操作名称通知业务处理引擎并做出相应操作,如遥控等。

(10)业务处理引擎将处理结果写入实时库。

(11)实时库数据变化后通知绘制进程重新绘制图形并发送至主框架进程。

(12)主框架进程显示变化数据。

主框架进程与子进程之间在每个时间周期内需要发送一次心跳以确定子进程是否有响应。如果子进程在周期时间内未发送心跳报文则认为子进程异常而强制重启子进程。子进程如果在周期时间内未收到主进程的心跳,则认为主进程异常,强制自己退出。主框架进程提供子进程管理界面,如图3所示。

以上实施例仅用于帮助理解本发明的核心思想,不能以此限制本发明,对于本领域的技术人员,凡是依据本发明的思想,对本发明进行修改或者等同替换,在具体实施方式及应用范围上所做的任何改动,均应包含在本发明的保护范围之内。

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