一种基于事件驱动机制的IEC104规约解析系统及方法与流程

文档序号:18060226发布日期:2019-07-03 03:02阅读:290来源:国知局
一种基于事件驱动机制的IEC104规约解析系统及方法与流程

本发明涉及一种电力调度自动化通信协议技术领域,尤其是涉及一种基于事件驱动机制的IEC104规约解析系统及方法。



背景技术:

随着智能电网的提出与逐步深入,尤其是新能源的大规模接入,要求电力系统具备实时性强、可靠性高、数据容载能力强和智能化程度高的特点。电力调度自动化系统作为电力系统运行的核心,数据通信的质量掌握着调度系统智能化程度的命脉。

IEC104规约以其传输介质为互联网而具备独特的优势,作为电力调度系统的关键环节,其高效与稳定性一直是人们追求的目标。现有的IEC104规约,普遍采用顺序的、关联的、过程驱动的设计方法,程序按照设计好的模式,采用轮询的方式逐个检测主站与子站的连接状态,并按照固定的顺序,依次实现104规约中的各种功能。对于优先级别较高的命令,需在事先设计好各种命令的优先级别,采用多线程的方式进行处理。

现有的IEC104解析技术存在以下缺点:

(1)采用顺序的、过程驱动方式,是由程序控制固定的事件以及事件的执行顺序,因此灵活性差,与用户的交互难度大;

(2)各种功能模块之间关联性强,耦合度高,某一个功能的异常可能会影响其他功能的实现,在程序运行中不可控因素较多,且调试困难;

(3)当有随机的、不确定的事件发生时,需要启动多线程进行处理。大量线程的引入,会加重硬件内存的开销,过多的线程同时运行,甚至会造成程序运行紊乱;

(4)在多线程运行过程中,当几个线程需要操作同一个对象时,容易造成线程等待时间过长甚至死锁,从而影响实时性。



技术实现要素:

本发明主要是解决现有IEC104解析系统存在灵活性差、不可控因素多、调试困难、运行紊乱、线程等待时间长及死机的问题,提供了一种基于事件驱动机制的IEC104规约解析系统。

本发明还提供了一种基于事件驱动机制的IEC104规约解析方法。

本发明的上述技术问题主要是通过下述技术方案得以解决的:一种基于事件驱动机制的IEC104规约解析系统,包括以传输通道相连的子站和主站,其特征在于:在子站和主站之间设置有事件驱动框架,事件驱动框架包括事件源响应模块和事件处理模块,子站与事件源响应模块相连,事件源响应模块与事件处理模块相连,事件处理模块与主站相连;

事件源响应模块:实时监测并响应子站与主站之间传输通道的网络、信息变化及故障情况,相应触发事件处理模块工作;

事件处理模块:对网络、信息变化或故障情况进行分析,根据分析发出相应处理方法,将处理方法发送至相应接收端进行处理。

本发明事件处理过程中无需随时循环等待数据的到来,而是当数据到来时自动触发响应模块并通过处理模块进行处理,工作灵活性好,便于与用户交互。功能模块之间高度松耦合,且基于事件驱动进行解析,不仅极大降低了对CPU和内存的要求,也具有较强的灵活性、实时性和稳定性。

作为一种优选方案,所述事件源响应模块包括网络层响应单元、信息层响应单元和故障处理层响应单元,事件处理模块包括网络层事件处理单元、信息层事件分析单元、信息层事件处理单元、故障处理层事件处理单元,网络层响应单元、信息层响应单元、故障处理层响应单元分别与子站相连,网络层响应单元与网络层事件处理单元相连接,信息层响应单元、信息层事件分析单元、信息层事件处理单元依次相连,故障处理层响应单元与故障处理层事件处理单元相连,网络层事件处理单元、信息层事件处理单元、故障处理层事件处理单元分别与主站相连。

网络层响应单元实时监测并捕捉传输通道网络状态变化,若传输通道网络状态发生变化,触发网络层事件处理单元工作。网络层事件处理单元根据网络状态进行网络连接、断开或重连。信息层响应单元实时监测并捕捉传输通道信息状态变化,若信息状态发生变化,则触发信息层事件分析单元、信息层事件处理单元工作。信息层事件分析单元对传输通道中信息格式进行分析。信息层事件处理单元根据分析结果采用相应格式的解析方法进行解析,并将解析得到信息发送至相应接收端。故障处理层响应单元实时监测并捕捉网络层与信息层中出现的故障,若检测到故障则触发故障处理层事件分析单元和故障处理层事件处理单元工作。故障处理层事件分析单元对故障原因进行分析。故障处理层事件处理单元根据分析结果进行故障处理。故障处理包括重新建立网络连接或断开网络连接,生成继续或停止功能命令。

一种基于事件驱动机制的IEC104规约解析方法,包括以下步骤:

S1.事件源响应模块捕捉主站与子站之间网络层、信息层、故障处理层的事件变化;

S2.事件源响应模块触发事件处理模块工作,事件处理模块分别对网络层、信息层、故障处理层的事件变化进行解析和处理;

S3.根据解析得到的信息发送到相应接收端。

作为一种优选方案,步骤S1中捕捉时间变化具体过程为:

网络层响应单元实时监控传输通道网络状态变化,网络状态变化包括子站与主站之间传输通道是否断开,子站与主站之间是否有新通道等待网络连接;

信息层相应单元实时监控传输通道信息状态变化,信息状态变化包括子站与主站的报文计数是否一致,传输通道中信息是否发生变化;传输通道中信息包括遥测量、遥信量、遥控遥调量、对时命令及SOE信息,信息变化包括信息内容变化和信息类型变化,信息内容变化涉及同一种类型信息,类型变化即从一种信息变为另一种信息。

故障处理层响应单元实时监控网络层与信息层出现的故障,出现的故障包括网络层中建立的网络连接发生网络异常,信息层中数据接收的时间间隔超过预定时间,硬件或软件内部发生故障。

作为一种优选方案,步骤S2中解析具体过程为:

网络层事件处理单元接收到新通道等待网络连接信息,则对网络进行连接;接收到子站与主站报文计数错误信息,则对网络进行断开;在接收到通道网络处于断开的信息,则对网络进行重连;新通道建立网络连接或网络重连时,主站下发初始化报文,初始化报文包括启动报文和总召唤报文,总召唤报文按预定时间发送;

信息层事件分析单元接收到信息变化的信息,对传输通道中信息的帧类型进行分析,分析结果发送给信息层事件处理单元,信息层事件处理单元根据帧类型对信息进行相应格式解析;

故障处理层事件处理单元接收到网络连接发生异常,则重新建立网络连接;接收到数据接收的时间间隔超过预定时间信息,则发出测试或停止功能指令;接收到硬件或软件内部发生故障信息,则断开该传输通道网络连接。

作为一种优选方案,对传输通道中信息的帧类型进行分析,根据帧类型对信息进行相应格式解析的具体过程包括:

S21.对信息帧类型进行判断,帧类型包括I格式、U格式和S格式;

S22.根据不同类型的帧信息触发不同处理方法解析:

当信息帧类型为I格式时,调用I格式解析方法进行解析,所得上行解析结果存入实时数据库,所得下行解析结果发送给子站和存入实时数据库;并记录已收到I格式帧的个数,当接收到的I格式数目达到未被确认的去打数目时,下发确认报文;

当信息帧类型为S格式时,调用S格式解析方法进行解析,所得上行解析结果与已收到I格式帧个数比较,校验是否有报文丢失或报文重复传送现象;

当信息帧类型为U格式时,调用U格式解析方法进行解析,根据所得上行解析结果完成规约解析的开始、停止和测试功能。

作为一种优选方案,在分析信息帧类型前还包括以下判断:

S201.判断信息开头是否为68H,若不是则丢弃,若是则继续分析;

S202.判断信息是否为完整,若是则将其全部取出直接进行分析,若不是则判断是否超过一帧,若不是则等待下一帧的到来,若是则先取出完整信息进行分析,剩下的信息等待下一帧到来。

因此,本发明的优点是:事件处理过程中无需随时循环等待数据的到来,而是当数据到来时自动触发响应模块并通过处理模块进行处理,工作灵活性好,便于与用户交互。功能模块之间高度松耦合,且基于事件驱动进行解析,不仅极大降低了对CPU和内存的要求,也具有较强的灵活性、实时性和稳定性。

附图说明

附图1是本发明中主电路的一种结构示意图。

1-子站 2-主站 3-事件驱动框架 4-事件源响应模块 5-事件处理模块 6-网络层响应单元 7-信息层响应单元 8-故障处理层响应单元 9-信息层事件分析单元 10-网络层事件处理单元 11-信息层事件处理单元 12-故障处理层事件处理单元。

具体实施方式

下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。

实施例:

本实施例一种基于事件驱动机制的IEC104规约解析系统,如图1所示,包括以传输通道相连的子站1和主站2,在子站和主站之间设置有事件驱动框架3。事件驱动框架包括事件源响应模块4和事件处理模块5,子站与事件源响应模块相连,事件源响应模块与事件处理模块相连,事件处理模块与主站相连;

事件源响应模块:实时监测并响应子站与主站之间传输通道的网络、信息变化及故障情况,相应触发事件处理模块工作;

事件处理模块:对网络、信息变化或故障情况进行分析,根据分析发出相应处理方法,将处理方法发送至相应接收端进行处理。

事件源响应模块包括网络层响应单元6、信息层响应单元7和故障处理层响应单元8,事件处理模块包括网络层事件处理单元10、信息层事件分析单元9、信息层事件处理单元11、故障处理层事件处理单元12。网络层响应单元、信息层响应单元、故障处理层响应单元分别与子站相连,网络层响应单元与网络层事件处理单元相连接,信息层响应单元、信息层事件分析单元、信息层事件处理单元依次相连,故障处理层响应单元与故障处理层事件处理单元相连,网络层事件处理单元、信息层事件处理单元、故障处理层事件处理单元分别与主站相连。

一种基于事件驱动机制的IEC104规约解析方法,包括以下步骤:

S1.事件源响应模块捕捉主站与子站之间网络层、信息层、故障处理层的事件变化;

网络层响应单元实时监控传输通道网络状态变化,网络状态变化包括子站与主站之间传输通道是否断开,子站与主站之间是否有新通道等待网络连接;

信息层相应单元实时监控传输通道信息状态变化,信息状态变化包括子站与主站的报文计数是否一致,传输通道中信息是否发生变化;传输通道中信息包括遥测量、遥信量、遥控遥调量、对时命令及SOE信息,信息变化包括信息内容变化和信息类型变化,信息内容变化涉及同一种类型信息,类型变化即从一种信息变为另一种信息。

故障处理层响应单元实时监控网络层与信息层出现的故障,出现的故障包括网络层中建立的网络连接发生网络异常,信息层中数据接收的时间间隔超过预定时间,硬件或软件内部发生故障。

S2.事件源响应模块触发事件处理模块工作,事件处理模块分别对网络层、信息层、故障处理层的事件变化进行解析和处理;

网络层事件处理单元接收到新通道等待网络连接信息,则对网络进行连接;接收到子站与主站报文计数错误信息,则对网络进行断开;在接收到通道网络处于断开的信息,则对网络进行重连;新通道建立网络连接或网络重连时,主站下发初始化报文,初始化报文包括启动报文和总召唤报文,总召唤报文按预定时间发送;

信息层事件分析单元接收到信息变化的信息,先进行解析前判断:

S201.判断信息开头是否为68H,若不是则丢弃,若是则继续分析;

S202.判断信息是否为完整,若是则将其全部取出直接进行分析,若不是则判断是否超过一帧,若不是则等待下一帧的到来,若是则先取出完整信息进行分析,剩下的信息等待下一帧到来。

然后对传输通道中信息的帧类型进行分析,分析过程为:

S21.对信息帧类型进行判断,帧类型包括I格式、U格式和S格式;

S22.根据不同类型的帧信息触发不同处理方法解析:

当信息帧类型为I格式时,调用I格式解析方法进行解析,所得上行解析结果存入实时数据库,所得下行解析结果发送给子站和存入实时数据库;并记录已收到I格式帧的个数,当接收到的I格式数目达到未被确认的预定数目时,下发确认报文;

当信息帧类型为S格式时,调用S格式解析方法进行解析,所得上行解析结果与已收到I格式帧个数比较,校验是否有报文丢失或报文重复传送现象;

当信息帧类型为U格式时,调用U格式解析方法进行解析,根据所得上行解析结果完成规约解析的开始、停止和测试功能。

分析结果发送给信息层事件处理单元,信息层事件处理单元根据帧类型对信息进行相应格式解析;

故障处理层事件处理单元接收到网络连接发生异常,则重新建立网络连接;接收到数据接收的时间间隔超过预定时间信息,则发出测试或停止功能指令;接收到硬件或软件内部发生故障信息,则断开该传输通道网络连接。

S3.根据解析得到的信息发送到相应接收端。

S31. 根据用户交互界面的配置变化,更新对应的配置文件,或按照用户的需要,生成对应类型的信息,下发给子站;

S32. 获取上行信息解析得到的数据显示在用户交互界面上,供用户查询、监视或调试。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

尽管本文较多地使用了子站、主站、事件驱动框架、事件源响应模块等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。

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