[发明专利]一种基于WinCE下集中器的协议解析和生成方法无效
| 申请号: | 201110410018.5 | 申请日: | 2011-12-12 |
| 公开(公告)号: | CN102521346A | 公开(公告)日: | 2012-06-27 |
| 发明(设计)人: | 李雁林 | 申请(专利权)人: | 宁夏隆基宁光仪表有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 宁夏专利服务中心 64100 | 代理人: | 赵明辉 |
| 地址: | 750021 宁夏回*** | 国省代码: | 宁夏;64 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 wince 集中器 协议 解析 生成 方法 | ||
技术领域
本发明涉及基于ARM和嵌入式操作系统下集中器的协议解析和生成方法,尤其是一种基于WinCE下集中器的协议解析和生成方法。
背景技术
嵌入式操作系统具有可装卸性、强实时性、统一的接口、操作方便、强稳定性、良好的移植性等特点。WinCE操作系统还具有操作系统精简模块化,支持多硬件平台,提供多种网络连接方式和强大的开发环境等特点。本集中器选择带有WinCE操作系统的ARM嵌入式模块作为集中器核心板。
C++相对于原来的C有所加强,它拓展了面向对象设计的内容,如类、继承、模板、包容器类等等,它不仅考虑了数据封装,还考虑到对象粒度的选择,对象接口的设计和继承,组合与继承的使用等问题。
发明内容
本发明的目的是提供一种基于WinCE下集中器的协议解析和生成方法,能够快速实现WinCE下集中器协议帧的解析与生成。
一种基于WinCE下集中器的协议解析和生成方法,其特别之处在于,包括如下步骤:本集中器协议的解析与生成采用“协议入库”和“协议出仓”的方法,“协议入库”方法是将接收来的一帧数据按协议帧格式解析分解成多个数据块,然后把有用数据块中数据单元的内容按一定的存放格式放到相应的库里存放,其中的“库”是指XML文件;数据在入库前首先创建节点,然后在节点下添加各个元素并把数据添加进去,最后建立文件路径并把数据存到文件中;“协议出仓”时首先根据文件路径,找到节点,找到节点下的元素然后把数据从库里提取出来。
本发明方法中采用的“协议入库”与“协议出仓”方法的有益效果在于:XML文件使用元素和属性来描述数据,在数据传送过程中,XML文件始终保留了诸如父/子关系的数据结构,能够快速查找相应位置并读写数据,这使得集中器能快速地进行协议帧的解析与生成。
附图说明
图1主站与集中器的通信程序流程图;
图2集中器接收到主站数据帧后对功能码的判断的程序流程图;
图3集中器与路由之间的通信程序流程图。
具体实施方式
本发明涉及一种基于WinCE操作系统下集中器的协议解析和生成的方法,它的特点在于:
1、由于本集中器采用的是WinCE操作系统下的EVC++开发工具,用的是C++语言,所以在解析的过程中用到C++中的类和对象的方法。
2、当主站要对集中器的参数进行设置或电能表数据抄读时,主站就会主动通过GPRS向集中器发设置或抄读命令数据帧。集中器收到主站发来的数据帧后就要对主站发来的数据进行解析,然后处理数据,最后封装数据帧返回发给主站。集中器对主站发来的数据的解析的原理图如图1,图2所示。集中器与路由通信的程序流程图如图3所示。
3、本发明中协议帧的解析过程用到“协议入库”的方法。用一个回调函数接收数据帧,将接收的协议帧中的具体的数据分离后作为外部数据源的方式提供,仅留下对象的属性描述。最后抽象得到的对象,可以理解为文件(或数据库的表),而单元则可以理解为文件里的数组(或表的字段),单元数据就是数组里的数据(或字段内容)。按照协议帧格式进行分块,分别有帧头块,控制域块,地址域,用户数据区块,校验块,帧尾块。集中器将接收到的有用的数据内容按照一定的格式放到XML文件中存储。用另一个回调函数对接收到的数据根据功能码进行相应的处理。协议帧的生成方法是用到“协议出仓”的方法。“协议出仓”方法是指将用到的数据从XML文件中提取出来。将提取出来的数据放到数据帧中,另外在数据帧结构中相应的位置添加控制域和集中器地址,功能码,数据单元标识,然后计算数据帧的长度,然后根据数据长度计算该帧的校验码,然后根据协议帧的结构在数据的前后分别添加帧头帧尾,最后把这帧完整的数据帧发送出去。
一种基于WinCE操作系统下集中器的协议解析和生成的方法主要分成以下四部分进行说明:
首先本集中器主要采用ARM9嵌入式操作系统作为集中器核心板,该核心板支持WinCE操作系统。
其次,创建串口类。因为集中器既要跟主站通信又要跟国网电力猫(路由载波设备)通信,所以集中器必须先识别出数据来自哪个串口,这就要根据EVC++设定的串口类的对象来区分。首先创建串口类,然后创建类的对象,例如class CCESerial CeSer3;class CCESerial CeSer4;表示的是创建串口类CCESerial,类CCESerial的对象分别是串口3-CeSer3,串口4-CeSer4。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宁夏隆基宁光仪表有限公司,未经宁夏隆基宁光仪表有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110410018.5/2.html,转载请声明来源钻瓜专利网。





