一种可编码的智能设备协议处理方法

文档序号:7986633阅读:407来源:国知局
专利名称:一种可编码的智能设备协议处理方法
技术领域
本发明涉及智能设备协议解析技术领域,特别涉及一种可编码的智能设备协议处
理方法。
背景技术
在工业控制领域中,各种管理系统通常都会接入一些开关电源、电表、智能空调、发电机组、UPS、节能等智能设备来采集数据,而采集到的数据往往都要经过一些解析及处理才能被识别,分析数据并做相应的控制;进而呈现或者保存在数据库中,并且不同的智能设备采用的通讯协议和对应的参数信息也不同。解决该问题一般常用的方法是根据不同的 智能设备和不同协议编写不同的解析模块,即每一类不同的智能设备都与一段协议解析程序相对应;这种办法实现简单,但缺乏灵活性,例如在基站的动力环境监控系统中,一个系统中可能会接入几十种甚至上百种协议类型的智能设备,这样该系统就要事先开发这上百种的协议解析,源代码也会有上百套,如果日后增加或者修改一个功能,就要修改上百套的代码,工作量比较大,任务也比较繁重。

发明内容
本发明要解决的问题是克服现有技术的不足而提供一种可编码的智能设备协议处理方法,该方法针对不同的智能设备只需编辑与之对应的解析配置文件即可,灵活性大,同时减轻了日后的维护上百套的代码的工作量。为实现上述目的,本发明的技术方案为一种可编码的智能设备协议处理方法,包括如下步骤
步骤I:读取对应的智能设备的协议解析编码配置文件,存放于程序的内存解析结构体中;
步骤2 :循环下发采集命令,等待接受返回数据包;如果超时还未接受到,就循环下发另外一条采集命令跳转到步骤2 ;如果有数据接收进入步骤3 ;
步骤3 :单个参数解析根据可编码的协议解析编码配置文件的逐个参数信息对接收到的数据包进行逐个解析,如果遇到是一个循环解析入口,进入步骤4 ;
步骤4 :进入递归循环解析函数;该函数根据可编码的解析规则解析采集到的返回数据包;该函数入口是返回的数据包的起始地址,首先根据读取到协议解析编码配置文件的参数信息,对数据包进行取数据解析,如果遇到一个循环解析入口进入步骤4 ;否则继续解析;
步骤5 :根据可编码的解析规则,确定了该编码解析信息在数据包的绝对地址、及解析长度、数据转化规则、对应编码等解析规则,由此解析出该项目的具体数据信息;根据对应的规则判断是否为下一循环解析的入口,如果为循环解析入口跳转到步骤4;如果是本次循环的最后一个解析数据,则保存数据、上送监控中心或后续处理操作,退出本次循环;步骤6 :判断是否为本次协议包的最后一个解析数据,如果不是,在此进入步骤4,进入循环解析,否则退出递归循环解析函数,进入步骤2。上述可编码的智能设备协议处理方法中,所述循环解析入口为协议中有η个参数或者用户自定义数为m。与现有技术相比,本发明具有如下有益效果
本发明可编码的智能设备协议处理方法中,各种类型的智能设备的代码只有一套,而将各种类型的智能设备的协议解析抽象成一种可编码的智能设备处理模式,这样针对不同的智能设备只需编辑与之对应的解析配置文件即可,解析代码是兼容处理这种抽象出来的解析模式,如以后需要增加个别参数的解析或者控制,只需编辑对应的配置文件就可以了, 采用本发明方法除了不仅减轻了日后的维护上百套的代码,而且用户可以得到最大的灵活性。


图I为本发明处理方法实现原理 图2为本发明处理方法流程图。
具体实施例方式以下结合实施例及附图对本发明进行详细的描述。本发明是通过一种可编码的智能设备协议处理模式,来提高管理系统的适应性和扩展性,在部署管理系统的过程中,只需要开发一个固定的智能设备协议解析模板(应用程序),然后附加上需要解析的智能设备的配置文件;可以根据用户需要接入多种协议类型的智能设备,只需根据该智能设备的通信协议配置对应的解析配置文件即可,和固定的解析模板结合即可完成该智能设备的解析,不需要重新开发新的应用程序解析模块(编程语言C,C++),方便简单,也节约了开发和维护成本,图I为实现原理图。如图I所示,首先固定的智能设备协议解析模板(应用程序)读取智能设备对应的协议解析配置文件,将涉及到的各种采集数据包的解析方法及读取智能设备的数据包组包方式保存在程序缓存中;然后固定的智能设备协议解析模板(应用程序)根据开始读取的可编码的智能设备协议配置规则下发采集命令,固定的智能设备协议解析模板(应用程序)将采集到的数据包送给固定的智能设备协议解析模板(应用程序)的内部协议处理函数,该函数根据对应的可编码的智能设备协议处理规则解析数据协议包,最后将解析出的数据存储、上送中心或者后续处理;后续处理是指固定的智能设备协议解析模板(应用程序)将解析出来的数据送给基站监控设备的其他模块,进行简单的数据分析
例如拿开关电源的相电压AB/A、相电压BC/B、相电压CA/C三个参数信息,智能设备协议解析模板将三个参数解析出来后送给其他模块(基站监控设备的其他模块-综合管理模块)如果发现相电压AB/A低于120,就会产生一个相电压AB/A低压告警给监控中心;或者发现三者都小于120就会上送一个停电的告警信息给中心;当然这些规则是可配置的,是其他模块(基站监控设备的其他模块-综合管理模块)的功能。智能设备解析解析配置文件就是各个智能设备的协议解析编码配置文件;包含多条配置信息;智能设备每个参数信息为一条配置信息,包含该参数在协议包里面的绝对地址、占用字节数、解析方式(浮点值还是整型字节;是低字节在前还是高字节在前)、循环标志(是否是一个循环解析的标志)、正常值区间(计算出采集值正常范围,例如采集值不在该区间,就会将该参数信息的告警状态设置为告警同采集值一起上送给中心)、变化阈值(采集值变化范围超过该阈值才上送给中心)等信息;
图2,处理流程包括如下步骤
步骤I :读取对应的智能设备的协议解析编码配置文件,存放于程序的内存解析结构体中; 步骤2 :循环下发采集命令(采集命令也是通过可编码的配置文件配置的,每种采集命令都有自己的下发周期),等待接受返回数据包;如果超时还未接受到,就循环下发另外一条采集命令跳转到步骤2 ;如果有数据接收进入步骤3 ;
步骤3 :单个参数解析根据可编码的协议解析编码配置文件的逐个参数信息对接收到的数据包进行逐个解析,如果遇到是一个循环解析入口(例如协议中有η个参数或者用户自定义数为m ),进入步骤4;
步骤4 :进入递归循环解析函数;该函数根据可编码的解析规则解析采集到的返回数据包;该函数入口是返回的数据包的起始地址,首先根据读取到协议解析编码配置文件的参数信息,对数据包进行取数据解析,如果遇到一个循环解析入口进入步骤4 ;否则继续解析;
步骤5 :根据可编码的解析规则,确定了该编码解析信息在数据包的绝对地址、及解析长度、数据转化规则、对应编码等解析规则,由此解析出该项目的具体数据信息;根据对应的规则判断是否为下一循环解析的入口,如果为循环解析入口跳转到步骤4;如果是本次循环的最后一个解析数据,则保存数据、上送监控中心或后续处理操作,退出本次循环;
步骤6 :判断是否为本次协议包的最后一个解析数据,如果不是,在此进入步骤4,进入循环解析,否则退出递归循环解析函数,进入步骤2。
权利要求
1.一种可编码的智能设备协议处理方法,其特征在于,包括如下步骤 步骤I:读取对应的智能设备的协议解析编码配置文件,存放于程序的内存解析结构体中; 步骤2 :循环下发采集命令,等待接受返回数据包;如果超时还未接受到,就循环下发另外一条采集命令跳转到步骤2 ;如果有数据接收进入步骤3 ; 步骤3 :单个参数解析根据可编码的协议解析编码配置文件的逐个参数信息对接收到的数据包进行逐个解析,如果遇到是一个循环解析入口,进入步骤4 ; 步骤4 :进入递归循环解析函数;该函数根据可编码的解析规则解析采集到的返回数据包;该函数入口是返回的数据包的起始地址,首先根据读取到协议解析编码配置文件的参数信息,对数据包进行取数据解析,如果遇到一个循环解析入口进入步骤4 ;否则继续解析; 步骤5 :根据可编码的解析规则,确定了该编码解析信息在数据包的绝对地址、及解析长度、数据转化规则、对应编码等解析规则,由此解析出该项目的具体数据信息;根据对应的规则判断是否为下一循环解析的入口,如果为循环解析入口跳转到步骤4;如果是本次循环的最后一个解析数据,则保存数据、上送监控中心或后续处理操作,退出本次循环; 步骤6 :判断是否为本次协议包的最后一个解析数据,如果不是,在此进入步骤4,进入循环解析,否则退出递归循环解析函数,进入步骤2。
2.根据权利要求I所述的可编码的智能设备协议处理方法,其特征在于所述循环解析入口为协议中有η个参数或者用户自定义数为m。
全文摘要
本发明涉及智能设备协议解析技术领域,特别涉及一种可编码的智能设备协议处理方法。首先读取智能设备对应的协议解析配置文件,将涉及到的各种采集数据包的解析方法及读取智能设备的数据包组包方式保存在程序缓存中;然后智能设备采集单元根据开始读取的可编码的智能设备协议配置规则下发采集命令,智能设备采集单元将采集到的数据包送给协议处理模块,协议处理模块根据对应的可编码的智能设备协议处理规则解析数据协议包,最后将解析出的数据存储、上送中心或者后续处理。本发明适用于工业控制领域,特别适合于基站的动力环境监控系统。
文档编号H04L29/06GK102624685SQ201110379430
公开日2012年8月1日 申请日期2011年11月24日 优先权日2011年11月24日
发明者张永涛, 陈兴海 申请人:广东高新兴通信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1