一种通信规约接入方法技术领域
本发明涉及网络通信技术领域,尤其涉及一种通信规约的接入方法。
背景技术
五防系统在现场应用时必须与其它系统(综自、调控等)通信,进行数据交换和遥
控交互。系统之间通信时需要制订通信规约,用于定义数据的格式和通信过程。目前由于没
有一个统一和标准的通信规约,不同系统间通信时会涉及到大量不同的通信规约,如《CDT
交互式-循环式规约》、《IEC104规约》、《南瑞TCP规约(广变用)》、《南瑞UDP规约(北京同方串
口)》等。而且不同系统间通信时还需要支持TCP/UDP、串口等多种通信方式,在进行遥控交
互时,存在循环式遥控(链路空闲需发送遥控禁止)、循环式遥控(链路空闲无需发送遥控禁
止)、交互式遥控(一问一答,五防发起)、交互式遥控(一问一答,综自发起)、交互式遥控(二
问二答,五防发起)、交互式遥控(二问二答,综自发起)等6种遥控方式,鉴于此,要求五防系
统和其它系统通信时需支持多种通信规约和通信方式。
由于不同系统各自采用不同的通信规约和通信方式,通信程序在对通信规约进行
解析处理时需独立处理每种通信规约和通信方式,增加了通信过程的复杂度,而且每个程
序都包括数据更新、消息响应等类似的模块,存在高度相似的功能重复。为了克服以上问
题,公开号为CN101778133A的中国发明专利公开了一种基于通信规约适配器的一体化终端
接入体系结构,可以接入各类型终端设备,支持各种通信信道。但是该体系由于缺少处理五
防后台与综自后台之间的点表转换、五防统一接口等模块,而且也没有将两者之间的三遥
(遥测、遥信、遥控)信息作统一的处理,不能直接应用五防与综自后台之间的三遥处理。其
次,该体系将规约组件打包接入通信规约适配器中,当未来需要新增一类通信规约时,必须
得修改通信规约适配器的代码,存在扩展新规约困难的问题。
发明内容
本发明的目的是提供一种可以简单快速实现接入通信规约的通信规约接入方法。
为了实现上述目的,本发明采取如下的技术解决方案:
一种通信规约接入方法,包括以下步骤:
a、根据不同的通信方式将通信规约适配器和通信方式适配器进行关联;
b、定义通信方式适配器,提供统一的通信接口;
c、定义通信方式插件的加载入口,通过加载入口获取通信方式适配器对象;
d、统一规约处理框架根据通信方式动态加载通信方式插件;
e、统一规约处理框架从通信方式插件的加载入口获得通信方式适配器对象;
f、统一规约处理框架与通信方式适配器使用标准接口进行通信,通信方式适配器
使用通信标准接口发送通信报文,使用框架标准接口接收通信报文;
g、定义通信规约适配器,提供统一的规约接口;
h、定义通信规约插件的加载入口,通过加载入口获取通信规约适配器对象;
i、统一规约处理框架根据通信规约动态加载通信规约插件。
j、统一规约处理框架从通信规约插件加载入口中获得通信规约适配器对象;
k、统一规约处理框架与通信规约适配器使用标准接口进行通信,通信规约适配器
使用规约标准接口接收通信报文,使用框架标准接口发送通信报文。
进一步的,按以下规则将通信规约适配器和通信方式适配器进行关联:
对于TCP/UDP客户端:每个客户端加载一个通信规约插件和一个通信方式插件,将
同一客户端的通信规约插件和通信方式插件进行关联;
对于TCP/UDP服务端:一个服务端加载多个通信规约插件和一个通信方式插件,将
该服务端上的多个通信规约插件与同一个通信方式插件关联;
对于UDP组播/串口:一个UDP组播/串口加载一个通信规约插件和一个通信方式插
件,将一个通信规约插件与一个通信方式插件关联。
进一步的,一种通信规约封装为一个通信规约插件,每个通信规约插件都具有统
一的加载入口以及与通信规约适配器对应的通信接口,通过通信接口与通信规约适配器相
连,通过加载入口返回通信规约适配器对象给统一规约处理框架使用。
进一步的,所述通信规约适配器通过规约标准接口及框架标准接口与统一规约处
理框架相连,使各通信规约插接通过统一的规约标准接口供统一规约处理框架调用,并通
过统一的框架标准接口调用统一规约处理框架。
进一步的,一种通信方式封装为一个通信方式插件,每个通信方式插件都具有统
一的加载入口以及与通信方式适配器对应的通信接口,通过通信接口与通信方式适配器相
连,通过加载入口返回通信方式适配器对象给统一规约处理框架使用。
进一步的,所述通信方式适配器通过通信标准接口及框架标准接口与统一规约处
理框架相连,使各通信方式插件通过统一的通信标准接口供统一规约处理框架调用,并通
过统一的框架标准接口调用统一规约处理框架。
进一步的,定义通信方式适配器使其提供以下通信标准接口:初始化TCP客户端、
初始化UDP客户端、初始化TCP服务端、初始化UDP服务端、初始化UDP组播、初始化串口、发送
通信报文、关闭通信连接,并在内部调用以下框架标准接口:链路断开通知、收到通信报文、
链路连接成功通知、链路连接失败通知。
进一步的,定义通信规约适配器使其提供以下规约标准接口:加载规约、卸载规
约、初始化参数、变化数据、返回数据、获取状态、接收通信报文、命令数据,并在内部调用以
下框架标准接口:更新数据、发送通信报文、关闭通信链路、状态变化、命令结果返回、获取
数据、命令请求。
进一步的,定义通信方式插件的加载入口的步骤如下:在通信方式插件中创建通
信插件对象,并通过与通信方式适配器的继承关系,将通信方式插件转化成通用的通信方
式适配器。
进一步的,定义通信规约插件的加载入口的步骤如下:在通信规约插件中创建规
约插件对象,并通过与通信规约适配器的继承关系,将通信规约插件转化成通用的通信规
约适配器。
由以上技术方案可知,本发明将每种通信方式和每种通信规约封装为独立的插
件,当有一个未知通信规约需要接入时,只需将其开发一个独立动态库插件,进行简单适配
后就可以采用此规约与统一规约处理框架通信,非常易于新规约扩展与接入,达到简化开
发的复杂度和简单快速接入通信规约的目的;通信规约适配器将三遥数据抽象成一种通用
的接口,实现将规约层动态插入,简化了通信规约插件的处理流程,提高了通信规约插件的
开发效率,并减少出错概率,而且通信规约插件可自由扩展和接入,在快速接入其它厂家众
多的通信规约时,不会增加程序复杂度;本发明在通信规约适配器中定义的数据交换和命
令交互的接口,作为一种数据和命令的抽象,不仅仅适应变电站的遥信、遥测和遥控,还可
以对所有类似的数据和命令交互的通信规约都能接入,如地线和KBQ等,适用范围广。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例或现有技术描述中所需要使用
的附图做简单介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领
域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附
图。
图1为通信规约插件和通信方式插件接入统一规约处理框架的示意图;
图2为本发明方法的流程图;
图3为关联通信规约适配器和通信方式适配器的示意图;
图4为定义通信方式适配器的示意图;
图5为定义通信规约适配器的示意图。
以下结合附图对本发明的具体实施方式作进一步详细地说明。
具体实施方式
图1为通信规约插件和通信方式插件接入统一规约处理框架的示意图,如图1所
示,本发明通过通信规约适配器和通信方式适配器将通信规约插件及通信方式插件接入统
一规约处理框架中进行处理,以达到同时支持多种通信规约和多种通信方式的目的。其中,
统一规约处理框架用于根据不同的通信方式和通信规约对通信规约适配器和通信方式适
配器进行绑定关联,统一规约处理框架同时还用于抽象的遥信点号转换、6种遥控方式的处
理以及主备通道切换,从而降低通信规约插件的复杂度,简化通信规约接入,统一规约处理
框架是实现规约中的遥信点号与电力设备之间的转换、遥信值转换取反、遥控允许与禁止
点统一生成、与五防系统采用统一接口交换信息、五防系统与综自后台信息交换的核心逻
辑模块。
本发明将每一种通信规约独立封装为一个通信规约插件,每个通信规约插件都具
有统一的加载入口以及与通信规约适配器对应的通信接口,通过通信接口与通信规约适配
器相连,通过加载入口返回通信规约适配器对象给统一规约处理框架使用。将每一种通信
方式独立封装为一个通信方式插件,每个通信方式插件都具有统一的加载入口以及与通信
方式适配器对应的通信接口,通过通信接口与通信方式适配器相连,通过加载入口返回通
信方式适配器对象给统一规约处理框架使用。
通信规约适配器通过规约标准接口及框架标准接口与统一规约处理框架相连,使
各通信规约插件可通过统一的规约标准接口供统一规约处理框架调用,并通过统一的框架
标准接口调用统一规约处理框架。通信方式适配器通过通信标准接口及框架标准接口与统
一规约处理框架相连,使各通信方式插件可通过统一的通信标准接口供统一规约处理框架
调用,并通过统一的框架标准接口调用统一规约处理框架。本发明的将通信规约封装为通
信规约插件及将通信方式封装为通信方式插件本领域技术人员均可通过编程实现,例如采
用C++语言编程实现封装等,如何编程封装为插件不是本发明的主要改进点,此处不作赘
叙。
统一规约处理框架根据通信方式动态加载通信方式插件,并使用与通信方式插件
相关联的通信规约插件与通信方式插件进行交互。
下面结合图2对本发明的通信规约接入方法进行说明,对于同一通信方式或同一
通信规约,在每种通信规约接入时采用本发明方法实现接入,本发明方法包括以下步骤:
a、根据不同的通信方式将通信规约适配器和通信方式适配器进行关联;
如图3所示,根据不同的通信方式将通信规约适配器和通信方式适配器进行关联,
具体如下:对于TCP/UDP客户端:每个客户端加载一个通信规约插件和一个通信方式插件,
将同一客户端的通信规约插件和通信方式插件进行关联;对于TCP/UDP服务端:一个服务端
加载多个通信规约插件和一个通信方式插件,将该服务端上的多个通信规约插件与同一个
通信方式插件关联;对于UDP组播/串口:一个UDP组播/串口加载一个通信规约插件和一个
通信方式插件,将一个通信规约插件与一个通信方式插件关联。
b、定义通信方式适配器;通信方式适配器用于屏蔽各通信方式插件的通信接口差
异,实现对外提供统一的通信接口,起到兼容各种插件的作用,通信方式适配器将通信方式
插件的返回结果或消息通知转换成调用框架标准接口与统一规约处理框架进行消息传递;
如图4所示,定义通信方式适配器就是定义通信方式标准接口,使其提供以下通信
标准接口:初始化TCP客户端、初始化UDP客户端、初始化TCP服务端、初始化UDP服务端、初始
化UDP组播、初始化串口、发送通信报文、关闭通信连接,并在内部调用以下框架标准接口:
链路断开通知、收到通信报文、链路连接成功通知、链路连接失败通知。
c、定义通信方式插件的加载入口,通过加载入口获取通信方式适配器对象,定义
加载入口时,在通信方式插件中创建通信插件对象,并通过与通信方式适配器的继承关系,
将通信方式插件转化成通用的通信方式适配器。
d、统一规约处理框架根据通信方式动态加载通信方式插件。
e、统一规约处理框架从通信方式插件的加载入口获得通信方式适配器对象。
f、统一规约处理框架与通信方式适配器使用标准接口进行通信,通信方式适配器
使用通信标准接口发送通信报文,使用框架标准接口接收通信报文。
g、定义通信规约适配器;通信规约适配器用于屏蔽各通信规约插件的规约接口差
异,实现对外提供统一的规约接口,通信规约适配器将通信规约插件的返回结果或消息通
知转换成调用框架标准接口与统一规约处理框架进行消息传递;
如图5所示,定义通信规约适配器就是定义通信规约标准接口,使其提供以下规约
标准接口:加载规约、卸载规约、初始化参数、变化数据、返回数据、获取状态、接收通信报
文、命令数据,并在内部调用以下框架标准接口:更新数据、发送通信报文、关闭通信链路、
状态变化、命令结果返回、获取数据、命令请求。
h、定义通信规约插件的加载入口,通过加载入口获取通信规约适配器对象,定义
加载入口时,在通信规约插件中创建规约插件对象,并通过与通信规约适配器的继承关系,
将通信规约插件转化成通用的通信规约适配器,在通信规约插件中进行报文分帧合帧、报
文数据解析、通知过程处理。
i、统一规约处理框架根据通信规约动态加载通信规约插件。
j、统一规约处理框架从通信规约插件加载入口中获得通信规约适配器对象。
k、统一规约处理框架与通信规约适配器使用标准接口进行通信,通信规约适配器
使用规约标准接口接收通信报文,使用框架标准接口发送通信报文。
以上步骤的描述中,将通信规约适配器和通信方式适配器进行关联后,对通信方
式适配器和通信规约适配器进行定义的步骤没有先后顺序的要求,即步骤b和步骤g可同时
进行;关联适配器(步骤a)、定义适配器(步骤b、g)及定义插件的加载入口(步骤c、h)的步骤
之间也没有先后顺序的要求。
本发明将不同的通信规约和通信方式封装成独立的通信规约插件和通信方式插
件,通过配置动态加载和卸载通信规约插件,使通信规约插件可以方便快速接入到通信程
序中,由统一规约处理框架统一处理不同的通信方式,并在通信规约适配器中制订标准的
通信接口,极大地提高了通信效率和简化了通信处理过程。
以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对
本发明进行了详细的说明,所属领域的普通技术人员应当理解,依然可以对本发明的具体
实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,
其均应涵盖在本发明的权利要求范围之中。