CN107888595A - 一种基于xml技术的嵌入式装置can规约解析方法 - Google Patents
一种基于xml技术的嵌入式装置can规约解析方法 Download PDFInfo
- Publication number
- CN107888595A CN107888595A CN201711130519.1A CN201711130519A CN107888595A CN 107888595 A CN107888595 A CN 107888595A CN 201711130519 A CN201711130519 A CN 201711130519A CN 107888595 A CN107888595 A CN 107888595A
- Authority
- CN
- China
- Prior art keywords
- stipulations
- information
- xml
- port
- divided
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Abstract
本发明涉及一种基于XML技术的嵌入式装置CAN规约解析方法,该方法的步骤如下:步骤一:把嵌入式装置CAN规约解析过程分为四层描述,依次为端口信息层、装置信息层、规约模板信息层和规约解析模板信息层;步骤二:使用XML语言对步骤一中的端口信息层、装置信息层、规约模板信息层和规约解析模板信息层进行详细描述,并以XML文件格式体现;步骤三:对XML文件进行解析,并根据解析出来的配置信息构建CAN规约解析需要的每种规约下所接设备的信息内存库和每个装置的规约解析模板库,通过这种方法,能够实现将开发程序的工作转变为描述XML语言的工作,是规约做到真正的可配置,这样就缩小了大量的开发工作、很好的降低了人力成本。
Description
技术领域
本发明属于嵌入式就地监控系统开发技术领域,具体涉及一种基于XML技术的嵌入式装置CAN规约解析方法。
背景技术
XML是一种元数据标记语言(Meta-markup Language),可提供描述结构化资料的格式,即它定义了利用简单的,人类可读的标签对数据进行标记所采用的一般语法,提供了计算机文档的一种标准格式,这种格式很灵活,可进行定制以用于各种领域。
CAN是控制器局域网络(Controller Area Network)的简称;是国际上应用最广泛的现场总线之一,在工业测控和工业自动化等领域有很大的应用前景;在以往的CAN数据采集系统开发中,对CAN规约的解析采用的是以规约本身为对象进行的,当所接的CAN规约发送改变或者新增新规约时,需要对程序进行改动,新增程序代码,工作量繁重,浪费了大量人力成本。
本发明介绍的方法,通过采用XML技术,分层的来描述规约解析过程的对象,达到对象的复用和标准规约的自定义过程,使规约做到真正的可配置。
发明内容
本发明的目的是提供一种基于XML技术的嵌入式装置CAN规约解析方法。
为达到上述目的,本发明采用的技术方案如下:一种基于XML技术的嵌入式装置CAN规约解析方法,该方法的步骤如下:
步骤一:把嵌入式装置CAN规约解析过程分为四层描述,依次为端口信息层、装置信息层、规约模板信息层和规约解析模板信息层;
步骤二:使用XML语言对步骤一中的端口信息层、装置信息层、规约模板信息层和规约解析模板信息层进行详细描述,并以XML文件格式体现;
步骤三:对XML文件进行解析,并根据解析出来的配置信息构建CAN规约解析需要的每种规约下所接设备的信息内存库和每个装置的规约解析模板库。
如上所述的基于XML技术的嵌入式装置CAN规约解析方法,其中,步骤一中,所述端口信息层用于描述嵌入式装置的CAN端口信息,包括端口号、波特率和所接规约等;
所述装置信息层用于描述每个CAN口接了若干个装置以及该装置使用的规约;
所述规约模板信息层用于描述每种规约所包含的需要解析的信息,如遥信、遥测、遥控和定值等;
所述规约解析模板信息层用于描述每种规约的所有CAN数据帧的解析模板。
如上所述的基于XML技术的嵌入式装置CAN规约解析方法,其中,步骤二中,所述XML文件包括四个节点;
所述端口信息层作为XML的CanPortMsg节点,根据嵌入式装置的CAN端口数量把该CanPortMsg节点分为多条元素,每条元素代表一个端口信息,每条元素又包括CAN端口号、波特率、规约编号和规约是否生效等多个属性;
所述装置信息层作为XML的CanDevMsg节点,根据每个CAN端口所接规约把该CanDevMsg节点分为多个规约子节点,再根据每个CAN端口所接设备数量把该子节点分为多条元素,每条元素代表一个装置信息,每条元素又包括装置编号、装置地址和所属端口号等多个属性;
所述规约模板信息层作为XML的CanProtolModMsg节点,根据每个CAN端口所接规约把该CanProtolModMsg节点分为多个规约子节点,再把每种规约子节点分为遥信、遥测、遥控和定值四个子节点,然后根据每种规约所包含的信息把该四个子节点分为多条元素,每条元素代表一个信息点,每条元素又包括信息体地址、信息类型和状态类型等属性;
所述规约解析模板信息层作为XML的CanProtolParseModMsg节点,根据命令类型把该节点分为CanParseUpMsg和CanSendDownMsg子节点,再根据每个CAN端口所接规约把该子节点分为多个规约子节点,然后根据每种规约的命令把规约子节点分为多条元素,每条元素代表每个信息点的解析模板信息,每条元素又包括CANID、信息体地址、信息类型、字节数、偏移量、系数和是否高低字节调换等属性。
如上所述的基于XML技术的嵌入式装置CAN规约解析方法,其中,步骤三中,解析程序通过XML分析器对XML文档分层解析,根据解析出来的端口信息、装置信息和规约模板信息来构建每种CAN规约下所接设备的四遥信息内存库,再根据解析出来的装置信息和规约解析模板信息来构建每种CAN规约下的每个装置的规约解析模板库;当有CAN报文过来时根据报文里的端口号、装置地址和CANID信息从每个装置的规约解析模板库查询该条命令并根据所配置的数据项进行解析,解析完成后根据装置地址和每个数据项的信息体地址存到相应的装置四遥信息库中,当需要给CAN设备发送报文时,根据下发命令的规约号、端口号和装置地址以及控制点号从规约解析模板库里查询该条命令的数据内容组成CAN报文帧发给设备。
与现有技术相比,本发明具有以下特点和优点:首先通过对大多数嵌入式装置CAN规约解析特性的分析把CAN规约解析过程分层描述,分为端口信息层、装置信息层、规约模板信息层和规约解析模板信息层;然后通过XML语言对各个信息层进行描述,每层信息对应XML文件中的每一个节点,形成标准的XML文件;最后解析程序通过XML分析器对XML文件分层解析;根据解析出来的端口信息、装置信息和规约模板信息来构建每种CAN规约下所接设备的四遥信息内存库,再根据解析出来的装置信息和规约解析模板信息来构建每种CAN规约下的每个装置的规约解析信息库,当有CAN报文过来时,根据报文里的端口号、装置地址和CANID信息,从每个装置的规约解析信息库查询该条命令并根据所配置的数据项进行解析,解析完成后根据装置地址和每个数据项的信息体地址存到相应的装置信息库中,当需要给CAN设备发送命令时,根据下发命令的规约号、端口号和装置地址以及控制点号,从规约解析信息库里查询该条命令的数据内容组成CAN报文帧发给设备,通过这种方法,当嵌入式装置所接的CAN设备规约发生变化时可以实现真正的不用改程序,只需对XML文件按照新规约简单修改即可,能够实现将开发程序的工作转变为描述XML语言的工作,是规约做到真正的可配置,这样就缩小了大量的开发工作、很好的降低了人力成本。
附图说明
图1是CAN规约解析分层模型示意图;
图2是端口信息层节点模型示意图;
图3是装置信息层节点模型示意图;
图4是规约模板信息层节点模型示意图;
图5是规约解析模板信息节点模型示意图;
图6是CAN规约解析实现流程示意图。
具体实施方式
为了更好的理解本发明,下面结合具体实施例作进一步的说明。
基于XML技术的嵌入式装置CAN规约解析具体实施流程如下,具体步骤如下:
(1)构建分层模型
了解嵌入式装置的CAN端口资源,确定每个CAN端口所接规约的详细信息,分配每个端口所接设备个数;每个CAN端口只容许接一种CAN规约,多个CAN端口可以接多种CAN规约也可只接一种CAN规约,每种规约可以接一个或者多个设备;结合图1所示,根据这些信息构建端口信息、装置信息、规约模板信息和规约解析模板信息等分层模型;
(2)配置XML文件
根据CAN规约解析分层模型,通过XML语言对每层进行详细描述;构建出相对应的XML节点模型,并根据节点模型实现每个节点XML配置,最后生成统一的XML解析文件,结合图2-5所示如下:
端口信息层对应的XML具体格式为:
<CanPortMsg>
<ITEM PortNomber="1" BaudRate="125" ProtocolType="1" IsAvailable="0" desc="CAN口1"/>
</CanPortMsg>
装置信息层对应的XML具体格式为:
<CanDevMsg>
<ProtocolOne>
<ITEM DevNomber="1" DevAddr="110" PortNomber="1" desc="1#"/>
<ITEM DevNomber="2" DevAddr="111" PortNomber="1" desc="2#"/>
</ProtocolOne>
</CanDevMsg>
规约模板信息层对应的XML具体格式为:
<CanProtolModMsg>
<ProtocolOne>
<StatusMsg>
<ITEM InfoAddr="1000" InfoType="1" StatusType="1" desc="1#"/>
<ITEM InfoAddr="1001" InfoType="1" StatusType="2" desc="2#"/>
</StatusMsg>
<AnalogMsg>
<ITEM InfoAddr="1100" InfoType="2" StatusType="1" desc="1#"/>
</AnalogMsg>
<ControlMsg>
<ITEM InfoAddr="1200" InfoType="3" StatusType="1" desc="1#"/>
</ControlMsg>
<SetValMsg>
<ITEM InfoAddr="1300" InfoType="4" StatusType="1" desc="1# "/>
</SetValMsg>
</ProtocolOne>
</CanProtolModMsg>
规约解析模板信息层对应的XML具体格式为:
<CanProtolParseModMsg>
<CanParseUpMsg>
<ProtocolOne>
<ITEM CanId="0x18200000" InfoAddr="1000" InfoType="1" ByteNum="1" offset="0" Coef="1" IsSwih="0" desc="1#遥信点"/>
<ITEM CanId="0x18200000" InfoAddr="1001" InfoType="1" ByteNum="1" offset="0" Coef="1" IsSwih="0" desc="2#遥信点"/>
<ITEM CanId="0x18200000" InfoAddr="1100" InfoType="2" ByteNum="2" offset="0" Coef="100" IsSwih="1" desc="1#遥测点"/>
<ITEM CanId="0x18200000" InfoAddr="1101" InfoType="2" ByteNum="4" offset="0" Coef="1000" IsSwih="1" desc="2#遥测点"/>
</ProtocolOne>
</CanParseUpMsg>
<CanSendDownMsg>
<ProtocolTwo>
<ITEM CanId="0x10300000" InfoAddr="2300" InfoType="4" ByteNum="4" offset="0" Coef="1000" IsSwih="1" desc="1#定值点"/>
<ITEM CanId="0x10300000" InfoAddr="2301" InfoType="4" ByteNum="4" offset="0" Coef="1000" IsSwih="1" desc="2#定值点"/>
</ProtocolTwo>
</CanSendDownMsg>
</CanProtolParseModMsg>
(3)读取XML文件
读取XML文件配置信息,并解析出来的端口信息、装置信息和规约模板信息来构建每种CAN规约下所接设备的四遥信息内存库,再根据解析出来的装置信息和规约解析模板信息来构建每种CAN规约下的每个装置的规约解析模板库;
(4)解析CAN数据
如图6所示,当接收到CAN报文时根据报文里的端口号、装置地址和CANID信息从每个装置的规约解析模板库查询该条命令并根据所配置的数据项进行解析;当需要给CAN设备发送报文时,根据下发命令的规约号、端口号和装置地址以及控制点号从规约解析模板库里查询该条命令的数据内容组成CAN报文帧。
以上所述仅为本发明的优选实施例而已,只为说明本发明的方案及效果,不能被认为用于限定本发明的实施范围,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化与改进,均应仍归属于本发明的专利涵盖范围之内。
Claims (4)
1.一种基于XML技术的嵌入式装置CAN规约解析方法,其特征在于:该方法的步骤如下:
步骤一:把嵌入式装置CAN规约解析过程分为四层描述,依次为端口信息层、装置信息层、规约模板信息层和规约解析模板信息层;
步骤二:使用XML语言对步骤一中的端口信息层、装置信息层、规约模板信息层和规约解析模板信息层进行详细描述,并以XML文件格式体现;
步骤三:对XML文件进行解析,并根据解析出来的配置信息构建CAN规约解析需要的每种规约下所接设备的信息内存库和每个装置的规约解析模板库。
2.根据权利要求1所述的基于XML技术的嵌入式装置CAN规约解析方法,其特征在于:步骤一中,所述端口信息层用于描述嵌入式装置的CAN端口信息,包括端口号、波特率和所接规约等;
所述装置信息层用于描述每个CAN口接了若干个装置以及该装置使用的规约;
所述规约模板信息层用于描述每种规约所包含的需要解析的信息,如遥信、遥测、遥控和定值等;
所述规约解析模板信息层用于描述每种规约的所有CAN数据帧的解析模板。
3.根据权利要求2所述的基于XML技术的嵌入式装置CAN规约解析方法,其特征在于:步骤二中,所述XML文件包括四个节点;
所述端口信息层作为XML的CanPortMsg节点,根据嵌入式装置的CAN端口数量把该CanPortMsg节点分为多条元素,每条元素代表一个端口信息,每条元素又包括CAN端口号、波特率、规约编号和规约是否生效等多个属性;
所述装置信息层作为XML的CanDevMsg节点,根据每个CAN端口所接规约把该CanDevMsg节点分为多个规约子节点,再根据每个CAN端口所接设备数量把该子节点分为多条元素,每条元素代表一个装置信息,每条元素又包括装置编号、装置地址和所属端口号等多个属性;
所述规约模板信息层作为XML的CanProtolModMsg节点,根据每个CAN端口所接规约把该CanProtolModMsg节点分为多个规约子节点,再把每种规约子节点分为遥信、遥测、遥控和定值四个子节点,然后根据每种规约所包含的信息把该四个子节点分为多条元素,每条元素代表一个信息点,每条元素又包括信息体地址、信息类型和状态类型等属性;
所述规约解析模板信息层作为XML的CanProtolParseModMsg节点,根据命令类型把该节点分为CanParseUpMsg和CanSendDownMsg子节点,再根据每个CAN端口所接规约把该子节点分为多个规约子节点,然后根据每种规约的命令把规约子节点分为多条元素,每条元素代表每个信息点的解析模板信息,每条元素又包括CANID、信息体地址、信息类型、字节数、偏移量、系数和是否高低字节调换等属性。
4.根据权利要求3所述的基于XML技术的嵌入式装置CAN规约解析方法,其特征在于:步骤三中,解析程序通过XML分析器对XML文档分层解析,根据解析出来的端口信息、装置信息和规约模板信息来构建每种CAN规约下所接设备的四遥信息内存库,再根据解析出来的装置信息和规约解析模板信息来构建每种CAN规约下的每个装置的规约解析模板库;当有CAN报文过来时根据报文里的端口号、装置地址和CANID信息从每个装置的规约解析模板库查询该条命令并根据所配置的数据项进行解析,解析完成后根据装置地址和每个数据项的信息体地址存到相应的装置四遥信息库中,当需要给CAN设备发送报文时,根据下发命令的规约号、端口号和装置地址以及控制点号从规约解析模板库里查询该条命令的数据内容组成CAN报文帧发给设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711130519.1A CN107888595A (zh) | 2017-11-15 | 2017-11-15 | 一种基于xml技术的嵌入式装置can规约解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711130519.1A CN107888595A (zh) | 2017-11-15 | 2017-11-15 | 一种基于xml技术的嵌入式装置can规约解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107888595A true CN107888595A (zh) | 2018-04-06 |
Family
ID=61777274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711130519.1A Pending CN107888595A (zh) | 2017-11-15 | 2017-11-15 | 一种基于xml技术的嵌入式装置can规约解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107888595A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258295A (zh) * | 2020-01-15 | 2020-06-09 | 重庆长安汽车股份有限公司 | 验证大数据采集和上传准确性的系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090161553A1 (en) * | 2007-12-18 | 2009-06-25 | Electronics And Telecommunications Research Institute | Apparatus for analyzing ubiquitous sensor network protocol |
CN103391290A (zh) * | 2013-07-16 | 2013-11-13 | 沈阳时尚实业有限公司 | 一种规约解析的电力用户用电信息采集系统 |
CN105429827A (zh) * | 2016-01-13 | 2016-03-23 | 秦嘉喜 | 一种综保系统通讯规约分析测试装置 |
CN105653616A (zh) * | 2015-12-25 | 2016-06-08 | 长沙威胜信息技术有限公司 | 电力系统主站的通信规约转换方法 |
CN106227707A (zh) * | 2016-07-13 | 2016-12-14 | 北京四方继保自动化股份有限公司 | 一种基于元模型的报文规约定义文件的配置方法 |
CN106532958A (zh) * | 2016-12-22 | 2017-03-22 | 国网福建省电力有限公司 | 一种基于iec61850规约的变电站ied设备模拟方法 |
-
2017
- 2017-11-15 CN CN201711130519.1A patent/CN107888595A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090161553A1 (en) * | 2007-12-18 | 2009-06-25 | Electronics And Telecommunications Research Institute | Apparatus for analyzing ubiquitous sensor network protocol |
CN103391290A (zh) * | 2013-07-16 | 2013-11-13 | 沈阳时尚实业有限公司 | 一种规约解析的电力用户用电信息采集系统 |
CN105653616A (zh) * | 2015-12-25 | 2016-06-08 | 长沙威胜信息技术有限公司 | 电力系统主站的通信规约转换方法 |
CN105429827A (zh) * | 2016-01-13 | 2016-03-23 | 秦嘉喜 | 一种综保系统通讯规约分析测试装置 |
CN106227707A (zh) * | 2016-07-13 | 2016-12-14 | 北京四方继保自动化股份有限公司 | 一种基于元模型的报文规约定义文件的配置方法 |
CN106532958A (zh) * | 2016-12-22 | 2017-03-22 | 国网福建省电力有限公司 | 一种基于iec61850规约的变电站ied设备模拟方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258295A (zh) * | 2020-01-15 | 2020-06-09 | 重庆长安汽车股份有限公司 | 验证大数据采集和上传准确性的系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104376068B (zh) | 一种基于动态报表模板的数据展现系统及方法 | |
CN108259371A (zh) | 一种基于流处理的网络流量数据解析方法和装置 | |
CN104967686B (zh) | 一种构建面型3s智慧服务商店系统及其设计方法 | |
CN102663094A (zh) | Iec61970cim模型校验方法 | |
CN109104300A (zh) | 一种软件定义的通用传感数据采集解析上报物联系统及方法 | |
CN107038258B (zh) | 地下水监测数据采集发布管理系统 | |
CN105681285B (zh) | 一种异构工业信号源信息获取方法 | |
CN114338855B (zh) | 一种实现hl7、fhir标准、自定义xml消息的解析生成方法 | |
CN106408207A (zh) | 一种智能变电站二次虚回路建模方法及系统 | |
CN111242807A (zh) | 一种变电站数据接入泛在电力物联网的方法 | |
CN103546354A (zh) | 基于物联网电力测温设备的rs485与can总线兼容的通信方法 | |
CN102621921A (zh) | 一种电能表编程器 | |
CN112910766A (zh) | 一种面向现场总线控制系统的边缘计算智能网关 | |
CN102937998A (zh) | 一种应用于标识识别的元数据映射方法 | |
CN104698962B (zh) | Plc人机通讯方法及系统 | |
CN1728703A (zh) | 一种Modbus与DeviceNet间的协议转换方法 | |
CN107888595A (zh) | 一种基于xml技术的嵌入式装置can规约解析方法 | |
CN108366050A (zh) | 一种通用通信协议处理方法 | |
CN104484337B (zh) | Xml文档的存储方法 | |
CN106598885B (zh) | 一种可配置的多端口通用数据桥接系统的工作方法 | |
JPH10190707A (ja) | データの関係特性インタフェース | |
CN111245633B (zh) | 微电网主设备的配置文件及其运行方法 | |
CN110460473A (zh) | 组态软件的通信配置方法、装置和计算机可读存储介质 | |
CN104331512B (zh) | 一种bbs页面自动采集方法 | |
CN103545933A (zh) | 智能变电站在线监测系统站内i0接口协议 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180406 |
|
WD01 | Invention patent application deemed withdrawn after publication |