一种与第三方智能设备协议通讯的软件接口设计方法

文档序号:7926178

专利名称::一种与第三方智能设备协议通讯的软件接口设计方法
技术领域
:本发明涉及环境监控领域,具体地说,涉及动力环境监控系统接入第三方智能设备的软件接口设计方法。
背景技术
:在网络的运营中,我国的动力环境设备产商众多,各种产商所开发生产的智能设备的协议各不相同。即使是同一产商,不同时期开发的智能设备,其协议收发流程也不尽相同。目前常见的协议收发流程有如下几种1.请求——应答模式。请求应答模式的又有1对1模式,1请求对应1条应答;l对多模式,l条请求对应多条应答;多对1模式,多条请求对应1条应答;2.上报——确认模式。上报——确认模式又有l对l模式,多对l模式;除了协议收发流程,不同产商的通讯超时时间标准也从0.5秒到几十秒各不相同。目前常见的智能设备协议接入接口的设计方法是1.根据协议收发流程将接口划分成l对l、l对多、多对l、主动上报等几种模式;2.主程序依据这几种模式各自的协议收发流程,开发出相应的功能模块按协议收发流程收发数据;3.这些开发出来的功能模块可以修改收发速度以适应不同产商的通讯超时时间标准。这种软件接口的设计方法有如下几个缺点1.在接入第三方智能设备时,主程序必须将智能设备的协议划分成几类,从中选择最接近的一类来接入;2.如果有一种新的协议收发流程出现,主程序必须修改,增加遵守此协议收发流程的收发功能模块以后才能接入这种新特征的智能设备;3.对于那些有严格收发流程的协议,主程序的控制命令的流程复杂常常使得控制功能无法实现或者需要新开发主程序以增加相应功能。这些缺点造成主程序需求和接口结构的频繁变动,维护成本高、风险大。尤其是对不同协议不能兼容,必须修改主程序和协议标准,造成人力和时间成本的大幅度提高。
发明内容基于此,本发明设计一种新的与第三方智能设备协议通讯的软件接口设计方法,该方法能够兼容不同的通讯协议,便于维护及使用,维护成本低。本发明的另一个目地在于提供一种与第三方智能设备协议通讯的软件接口设计方法,该方法将协议从主程序中剥离出来,单独存储,使得对于不同协议之间的接口能够快速兼容,且不必更新主程序及接口。本发明是这样实现的一种与第三方智能设备协议通讯的软件接口设计方法,在主程序控制下智能设备通过接口和协议进行通讯,其特征在于对应于主程序设置智能设备协议动态库,与协议相关的功能剥离出主程序单独封装存储于智能设备协议动态库中,且该智能设备协议动态库向主程序展示出相同的接口以供主程序调用协议。所述的剥离,剥离出来的与协议相关的功能有1.协议的时序控制,包括协议收发的流程和收发过程中的时间控制;2.输出的协议帧的生成;3.输入的协议数据流的组帧、校验检査、协议内容解析和向主程序反馈协议解析结果;4.将主程序的控制信息转换成协议方式,按协议收发流程输出给主程序;剥离出来的功能被封装成智能设备协议动态库,由于向主程序展现出来的接口是相同的,所以不同的智能设备的协议按这种方式封装后主程序都可以调用。主程序使用一组接口就可以调用所有的协议动态库。其次,为了让主程序能同时与多个相同的智能设备或不同的智能设备通讯,智能设备协议动态库提供了2个接口用来分配协议数据区和释放协议数据区。协议数据区是为了实现与各个物理设备独立通讯而开辟的一块独立的内存空间。每一个物理设备都有唯一一块用于存放通讯过程中的协议数据的内存空间,各个物理设备对应的协议数据区不相互重叠,完全独立。协议数据区的功能如下1.保存协议收发时序信息,这包括下一协议周期要输出的协议帧、时间信息和流程歩骤信息等等;2.保存输入的残缺协议帧,这些残缺帧将与下一次收到的数据合并在一起组帧;3.保存主程序下发过来的控制参数信息。主程序在调用上述的智能设备协议动态库接口创建协议数据区时,协议数据区以句柄的方式交给主程序保存,但主程序并不访问这些句柄的内容。主程序在调用智能设备协议动态库的控制接口,或者按时钟周期调用协议动态库的输出协议数据流接口、输入协议数据流接口时将这个句柄交给智能设备协议动态库,由智能设备协议动态库来完成对协议数据区的访问操作。时钟周期的时间尺度远远要小于所有智能设备的协议周期的时间尺度。本发明将与协议相关的功能剥离出主程序单独封装,不同的智能设备的协议按这种方式封装后主程序都可以调用,让主程序能同时与多个相同的智能设备或不同的智能设备通讯,使得主程序保持不变,智能设备协议动态库的设置能够兼容不同的通讯协议,便于维护及使用,大大降低了智能设备接入的成本和风险。图1为本发明的智能设备协议动态库与主程序的示意图;图2为本发明的主程序与智能设备协议动态库建立和释放协议数据区的结构示意图;图3为本发明的协议周期和时钟周期的关系图。具体实施方式如图1所示,本发明是实施特点是对应于主程序设置智能设备协议动态库,该智能设备协议动态库向主程序展示出相同的接口以供主程序调用协议;与协议相关的功能剥离出主程序单独封装存储于智能设备协议动态库中;所剥离出来的与协议相关的功能有1、协议的时序控制,包括协议收发的流程和收发过程中的时间控制;2、输出的协议帧的生成;3、输入的协议数据流的组帧、校验检查、协议内容解析和向主程序反馈协议解析结果;4、将主程序的控制信息转换成协议方式,按协议收发流程输出给主程序。其次,如图2所示,为了让主程序能同时与多个相同的智能设备和不同的智能设备通讯,智能设备协议动态库提供了2个接口用来分配协议数据区和释放协议数据区。协议数据区是为了实现与各个物理设备独立通讯而开辟的一块独立的内存空间。每一个物理设备都有唯一一块用于存放通讯过程中的协议数据的内存空间,各个物理设备对应的协议数据区不相互重叠,完全独立。协议数据区的功能如下1、保存协议收发时序信息,这包括下一协议周期要输出的协议帧、时间信息和流程步骤信息等等;'2、保存输入的残缺协议帧,这些残缺帧将与下一次收到的数据合并在一起组帧;3、保存主程序下发过来的控制参数信息。主程序在调用上述的智能设备协议动态库接口创建协议数据区时,协议数据区以句柄的方式交给主程序保存,但主程序并不访问这些句柄的内容。主程序在调用智能设备协议动态库的控制接口,或者按时钟周期调用协议动态库的输出协议数据流接口、输入协议数据流接口时将这个句柄交给智能设备协议动态库,由智能设备协议动态库来完成对协议数据区的访问操作。所谓的协议周期,是指智能设备要完成一个功能操作而收发协议所需要的时间。比如读取DU300开关电源整流模块的数据,需要向开关电源设备发送协议命令然后等待它的回应。发送协议命令就是这个协议周期的开始,接收到开关电源的应答并解析正确就是这个协议周期的结束,亦或者没有接收到开关电源的应答,因等待超时而导致这个协议周期结束。就算是进行相同的功能操作,这个时间长度是也不定的,这与协议通讯所依赖的传输环境有关,可能相同也可能不同。所谓的时钟周期,是主程序特有的依次调用协议动态库输出接口和输入接口的时间间隔。每个时钟周期内主程序都要顺序进行如下操作1.调用1次协议动态库的输出协议数据流接口。如果从此接口获取到协议数据流,则将此数据流发送给对应设备。2.调用1次协议动态库的输入数据流接口。如果从设备那里收到了数据流,则在此时将收到的数据流通过这个接口传递给协议动态库;如果没有收到从设备发来的数据,则在调用此接口时表明输入的数据流长度为0。时钟周期的时间尺度远远要小于所有智能设备的协议周期的时间尺度。对于任何智能设备而言,一个协议周期将对应几个、几十个甚至上百个时钟周期。正是这个设计理念,使得主程序的一组接口就能够适应于所有的智能设备的协议收发流程。主程序如此之细的时间片完全能够描绘任何模式的协议流程,实现任何模式的协议周期。下面是SM60电源协议收发时的时钟周期和协议周期:<table>tableseeoriginaldocumentpage8</column></row><table>输出输入输出498输入7e0001a51100000000000000000000000000000003c0fff2输出499输入向主程序反馈结果,协议周期结束SM60协议是典型的1对1模式的协议,在一个协议周期内只有1次输出1次输入。在传输条件恶劣时,输入的数据很可能被分成几块,每次输入只传入l块,但这并不否定SM60的1对1模式(因为这种特征定义是从协议层面上说的,不考虑其它因素的影响),也不会搅乱它的协议周期。从上面的例子可以看出,在协议周期的最后一个时钟周期的输入期间内,智能设备协议动态库在重组接收缓冲区中的协议帧时得到了一个完整帧,于是它触发协议的解析并完成向主程序的反馈,结束了这个协议周期。对于主程序的控制操作,智能设备协议动态库自身完全能够根据当前协议数据区中协议收发的状态来判断是否要在下一个时钟周期进行。这种接口设计方法使得主程序能够保持不变,大大降低了智能设备接入的成本和风险。权利要求1、一种与第三方智能设备协议通讯的软件接口设计方法,在主程序控制下智能设备通过接口和协议进行通讯,其特征在于对应于主程序设置智能设备协议动态库,与协议相关的功能剥离出主程序单独封装存储于智能设备协议动态库中,且该智能设备协议动态库向主程序展示出相同的接口以供主程序调用协议。2、如权利要求1所述的与第三方智能设备协议通讯的软件接口设计方法,其特征在于所述的剥离,剥离出来的与协议相关的功能有A、协议的时序控制,包括协议收发的流程和收发过程中的时间控制;B、输出的协议帧的生成;C、输入的协议数据流的组帧、校验检査、协议内容解析和向主程序反馈协议解析结果;D、将主程序的控制信息转换成协议方式,按协议收发流程输出给主程序;3、如如权利要求1所述的与第三方智能设备协议通讯的软件接口设计方法,其特征在于为了让主程序能同时与多个相同的智能设备和不同的智能设备通讯,智能设备协议动态库提供了2个接口用来分配协议数据区和释放协议数据区。4、如权利要求3所述的与第三方智能设备协议通讯的软件接口设计方法,其特征在于协议数据区的功能如下a、保存协议收发时序信息,这包括下一协议周期要输出的协议帧、时间信息和流程步骤信息等;b、保存输入的残缺协议帧,这些残缺帧将与下一次收到的数据合并在一起组帧;c、保存主程序下发过来的控制参数信息。5、如权利要求4所述的与第三方智能设备协议通讯的软件接口设计方法,其特征在于主程序在调用上述的智能设备协议动态库接口创建协议数据区时,协议数据区以句柄的方式交给主程序保存,但主程序并不访问这些句柄的内容。6、如权利要求5所述的与第三方智能设备协议通讯的软件接口设计方法,其特征在于主程序在调用智能设备协议动态库的控制接口,或者按时钟周期调用协议动态库的输出协议数据流接口、输入协议数据流接口时将这个句柄交给智能设备协议动态库,由智能设备协议动态库来完成对协议数据区的访问操作。7、如权利要求6所述的与第三方智能设备协议通讯的软件接口设计方法,其特征在于时钟周期的时间尺度远远要小于所有智能设备的协议周期的时间尺度。全文摘要本发明是一种与第三方智能设备协议通讯的软件接口设计方法,该方法对应于主程序设置智能设备协议动态库,与协议相关的功能剥离出主程序单独封装存储于智能设备协议动态库中,且该智能设备协议动态库向主程序展示出相同的接口以供主程序调用协议。剥离出来的功能被封装成智能设备协议动态库,由于向主程序展现出来的接口是相同的,所以不同的智能设备的协议按这种方式封装后主程序都可以调用,主程序使用一组接口就可以调用所有的协议动态库。这种接口设计方法使得主程序能够保持不变,大大降低了智能设备接入的成本和风险。文档编号H04L12/56GK101404656SQ20081021752公开日2009年4月8日申请日期2008年11月4日优先权日2008年11月4日发明者夏永波,张雪林,翟卫东,陈艺高,马志鸿申请人:深圳中兴力维技术有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
彩票开奖查询 广东11选5 500万彩票网 500w彩票 500w彩票 500w彩票 500w彩票 500w彩票 500w彩票 500w彩票 <bl高h文 书包网>| <斗牛棋牌>| <免费全本穿越小说>| <完美世界小说全文阅读>| <有声小说免费下载mp3>| <顶点小说无弹窗阅读>| <人皇 最新章节>| <我的贴身校花>| <小说完美盛宴sodu>| <免费完结言情小说>| <exo小说阅读网超能力>| <yy小说阅读网女生版>| <完美世界最新章节>| <军旅言情小说排行榜>| <有声小说免费下载mp3>| <玄幻小说阅读网完结版>| <全本免费小说阅读网>| <小说网txt免费下载>| <古代言情小说排行榜>| <亚马逊电子书阅读器>| <17k手机小说网>| <有声小说免费下载mp3>|