CN107645564A - 一种基于数据缓存的can报文解析方法及其系统 - Google Patents

一种基于数据缓存的can报文解析方法及其系统 Download PDF

Info

Publication number
CN107645564A
CN107645564A CN201710998629.3A CN201710998629A CN107645564A CN 107645564 A CN107645564 A CN 107645564A CN 201710998629 A CN201710998629 A CN 201710998629A CN 107645564 A CN107645564 A CN 107645564A
Authority
CN
China
Prior art keywords
data
buffer storage
message
data buffer
parameter
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.)
Granted
Application number
CN201710998629.3A
Other languages
English (en)
Other versions
CN107645564B (zh
Inventor
梁桂兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XIAMEN FUGONG POWER TECHNOLOGY Co Ltd
Original Assignee
XIAMEN FUGONG POWER TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by XIAMEN FUGONG POWER TECHNOLOGY Co Ltd filed Critical XIAMEN FUGONG POWER TECHNOLOGY Co Ltd
Priority to CN201710998629.3A priority Critical patent/CN107645564B/zh
Publication of CN107645564A publication Critical patent/CN107645564A/zh
Application granted granted Critical
Publication of CN107645564B publication Critical patent/CN107645564B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种基于数据缓存的CAN报文解析方法,包括:依据CAN解析协议建立数据缓存空间;建立报文相关参数在所述数据缓存空间中对应存储位置的映射,所述相关参数包括报文ID、参数名、解析规则、浮点数据、文本数据以及显示样式;数据缓存空间接收并解析CAN总线的报文;将解析得到的数据转换为浮点数据和文本数据;依据所述映射,将包括转换得到的浮点数据和文本数据的所述报文的相关参数存储至对应位置。本发明在数据缓存空间中对总线数据进行解析,并将解析得到的数据进行对应存储,实现各个操作模块分离,提高程序稳定性,以及解析数据的有效性和一致性。

Description

一种基于数据缓存的CAN报文解析方法及其系统
技术领域
本发明涉及总线报文数据处理领域,具体说的是一种基于数据缓存的CAN报文解析方法及其系统。
背景技术
随着经济的发展,社会的进步,能源节约已经成为必然和社会共识,各种新能源客车不断涌现。新能源客车上的CAN总线设备日益增多,总线解析软件也在不断的升级改进。为了更好的让现场或远程人员即时了解客车当前的状态,需要对不同的设备不同的协议进行解析与存储。
通常软件总线解析存储的方法,都是在同一进程下,对所有总线数据进行存储或解析后进行数据显示、曲线显示、解析数据存储、远程监测等操作。这些操作需要浪费大量的时间和空间,软件对电脑要求更高,稳定性却不高,在总线受到干扰时,容易出现死机或数据丢失等现象。
因此,有必要提供一种能够解决上述问题的CAN报文解析方法及其系统。
发明内容
本发明所要解决的技术问题是:提供一种基于数据缓存的CAN报文解析方法及其系统,实现提高系统稳定性,以及解析数据的有效性和一致性。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于数据缓存的CAN报文解析方法,包括:
依据CAN解析协议建立数据缓存空间;
建立报文相关参数在所述数据缓存空间中对应存储位置的映射,所述相关参数包括报文ID、参数名、解析规则、浮点数据、文本数据以及显示样式;
数据缓存空间接收并解析CAN总线的报文;
将解析得到的数据转换为浮点数据和文本数据;
依据所述映射,将包括转换得到的浮点数据和文本数据的所述报文的相关参数存储至对应位置。
本发明提供的另一个技术方案为:
一种基于数据缓存的CAN报文解析系统,包括:数据缓存空间及与其连接的多条CAN总线;
所述数据缓存空间,包括:
第一建立单元,用于依据CAN解析协议建立数据缓存空间;
第二建立单元,用于建立报文相关参数在所述数据缓存空间中对应存储位置的映射,所述相关参数包括报文ID、参数名、解析规则、浮点数据、文本数据以及显示样式;
接收解析单元,用于数据缓存空间接收并解析CAN总线的报文;
转换单元,用于将解析得到的数据转换为浮点数据和文本数据;
存储单元,用于依据所述映射,将包括转换得到的浮点数据和文本数据的所述报文的相关参数存储至对应位置。
本发明的有益效果在于:本发明通过在数据缓存空间中对总线数据进行解析,并将解析得到的数据进行对应存储,实现数据解析与用户的各个操作模块分离。区别于现有采用统一进程进行总线数据解析的方式,本发明只需通过数据缓存依据解析协议解析总线数据,再将数据转换后放入对应缓存位置即可,后续各个操作模块再根据需求进行独立读取,实现操作模块的独立,提高用户操作的响应效率。同时,能够实现快速对不同总线数据进行解析,让程序更加稳定且容易扩展,显著提高解析数据的有效性和一致性。
附图说明
图1为本发明一种基于数据缓存的CAN报文解析方法的流程示意图;
图2为本发明实施例一的流程示意图;
图3为本发明实施例一的数据交互示意图;
图4为本发明一种基于数据缓存的CAN报文解析系统的功能模块组成连接示意图。
标号说明:
20、数据缓存空间;11、CAN总线;
21、第一建立单元;22、第二建立单元;23、接收解析单元;
24、转换单元;25、存储单元;
30、参数显示操作模块;31、曲线显示操作模块;
32、解析数据存储操作模块;33、远程监控操作模块。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:在数据缓存空间中对总线数据进行解析,并将解析得到的数据进行对应存储,实现各个操作模块分离,提高程序稳定性,以及解析数据的有效性和一致性。
请参照图1、图2以及图3,本发明提供一种基于数据缓存的CAN报文解析方法,包括:
依据CAN解析协议建立数据缓存空间;
建立报文相关参数在所述数据缓存空间中对应存储位置的映射,所述相关参数包括报文ID、参数名、解析规则、浮点数据、文本数据以及显示样式;
数据缓存空间接收并解析CAN总线的报文;
将解析得到的数据转换为浮点数据和文本数据;
依据所述映射,将包括转换得到的浮点数据和文本数据的所述报文的相关参数存储至对应位置。
从上述描述可知,本发明的有益效果在于:采用本发明的总线解析方式,当总线数据量很大或出现干扰时,系统依然可以稳定的响应用户操作,解析的数据有效性大大提高。
进一步的,还包括:
依据操作所需的参数,从所述数据缓存空间中对应的存储位置中提取所述所需的参数。
由上述描述可知,用户执行某一操作时,只需通过对应的操作模块直接从缓存空间中提取所需参数即可,实现各个操作的独立,互不影响,从而显著提高系统响应用户操作的效率。
进一步的,所述操作包括参数显示操作、曲线显示操作、解析数据存储操作以及远程监控操作。
进一步的,所述曲线显示操作所需的参数为浮点数据类型;
所述解析数据存储操作所需的参数为文本数据类型;
所述远程监控操作所需的参数为浮点数据类型。
进一步的,所述参数显示操作对应设有参数显示模块;所述曲线显示操作对应设有曲线显示模块;所述解析数据存储操作对应设有解析数据存储模块;所述远程监控操作对应设有远程监控操作模块。
由上述描述可知,对应不同的用户操作,通过对应的操作模块独立地从数据缓存空间中提取所需的参数,实现操作模块的独立,确保系统稳定的响应用户操作。
请参阅图4,本发明提供的另一个技术方案为:
一种基于数据缓存的CAN报文解析系统,包括:数据缓存空间及与其连接的多条CAN总线;
所述数据缓存空间,包括:
第一建立单元,用于依据CAN解析协议建立数据缓存空间;
第二建立单元,用于建立报文相关参数在所述数据缓存空间中对应存储位置的映射,所述相关参数包括报文ID、参数名、解析规则、浮点数据、文本数据以及显示样式;
接收解析单元,用于数据缓存空间接收并解析CAN总线的报文;
转换单元,用于将解析得到的数据转换为浮点数据和文本数据;
存储单元,用于依据所述映射,将包括转换得到的浮点数据和文本数据的所述报文的相关参数存储至对应位置。
进一步的,还包括多个的操作模块;
所述操作模块,用于依据操作所需的参数,从所述数据缓存空间中对应的存储位置中提取所述所需的参数。
进一步的,所述多个的操作模块包括参数显示操作模块、曲线显示操作模块31、解析数据存储操作模块32以及远程监控操作模块。
进一步的,所述曲线显示操作模块所需的参数为浮点数据类型;
所述解析数据存储操作模块所需的参数为文本数据类型;
所述远程监控操作模块所需的参数为浮点数据类型。
实施例一
请参照图2和图3,本实施例提供一种基于数据缓存的CAN报文解析方法,实现解析效率以及解析数据的显著提高;同时还能实现各个操作模块的分离,提高系统稳定性和扩展能力。
本实施例的基于数据缓存的CAN报文解析方法,具体可以包括:
依据CAN总线数据解析协议建立一数据缓存空间;同时建立报文相关参数在所述数据缓存空间中对应存储位置的映射,即具体参数及其对应存储位置的映射关系。具体的,所述相关参数包括报文本身、报文ID、参数名、解析规则、浮点数据、文本数据、显示样式等内容。
通过数据缓存空间接收CAN总线的报文;并根据解析协议对该报文进行解析,然后将解析得到的数据转换为浮点数据和文本数据。优选的,如图3所示,包括CAN总线设备1、CAN总线设备2、CAN总线设备3至CAN总线设备N。
依据上述的映射关系,将接收到的报文的相关参数存储至对应位置。具体的,存储的内容包括报文本身、报文ID、参数名、解析规则、解析后得到的浮点数据、文本数据,以及显示样式等。优选的,除解析后才能得到的参数外的其他数据在接收时便依据映射关系进行存储。
当用户依据需求执行某一操作,该操作的执行需要基于CAN总线数据实现。依据该操作所需的参数,从所述数据缓存空间中对应的存储位置中提取所述所需的参数。
依据总线所传输的数据内容的不同,据此可实现的功能也将不同。在本实施例中,将以CAN总线设备与新能源客车为例进行具体说明。
新能源客车上的CAN总线设备日益增多,基于所接收到的CAN总线数据可实现更好的让现场或远程人员即时了解客车当前的状态。
基于上述内容,已经能实现实时接送、解析并存储所接收到的CAN总线数据。在此基础上,当有需求即时了解客车当前状态时,可采用不同的线程对应触发包括参数显示操作、曲线显示操作、解析数据存储操作、远程监控操作等操作,从数据缓存空间中读取所需数据来实现。优选的,上述操作可以分别放置于参数显示、曲线显示、解析数据存储、远程监测等不同的模块中,以便进行维护与增减(模块可以根据需要进行添加、修改、删除等,模块之间不会相互影响)。
其中,参数显示用于将总线的数据转换为用户可直接理解的数据,对应的参数显示操作模块优选定时500ms从数据缓存空间中取出参数值,再更新到用户显示的界面中。
曲线显示用于将部分数据转换为可直接观察的曲线,用户可以对参数变化有直观的了解,对应的曲线显示操作模块优选定时100ms从数据缓存空间中取出一个或多个参数的浮点数据,添加到对应的曲线中。
解析数据存储用于定时将参数值存到文件中,方便用户进行记录与后期的分析,对应的解析数据存储操作模块优选定时250ms从数据缓存空间中取出文本数据,添加到数据文件中。
远程监测模块用于将数据缓存的所有数据通过网络传输到服务器,由公司专业人员对数据进行实时分析,对应的远程监控操作模块优选默认10ms从数据缓存空间中取出浮点数据进行打包,每1秒发送一包数据。
本实施例通过数据缓存空间解析和存储总线数据,不需要操作模块浪费大量时间和空间来解析和存储总线数据,实现用户各个操作模块的分离,各个操作模块只需根据需要从数据缓存空间中读取相关数据。从而提高了系统稳定性,在总线数据量很大或出线干扰时,系统依然能稳定的响应用户的操作,解析的数据有效性大大提升。
实施例二
请参照图3和图4,本实施例对应实施例一,提供一种基于数据缓存的CAN报文解析系统,包括:数据缓存空间20,分别与数据缓存空间20连接的多条CAN总线11(对应CAN总线设备1至CAN总线设备N的CAN总线1至CAN总线N)和多个操作模块;
所述数据缓存空间20,包括:
第一建立单元21,用于依据CAN解析协议建立数据缓存空间;
第二建立单元22,用于建立报文相关参数在所述数据缓存空间中对应存储位置的映射,所述相关参数包括报文ID、参数名、解析规则、浮点数据、文本数据以及显示样式;
接收解析单元23,用于数据缓存空间接收并解析CAN总线的报文;
转换单元24,用于将解析得到的数据转换为浮点数据和文本数据;
存储单元25,用于依据所述映射,将包括转换得到的浮点数据和文本数据的所述报文的相关参数存储至对应位置。
所述操作模块,用于依据操作所需的参数,从所述数据缓存空间中对应的存储位置中提取所述所需的参数。具体的,包括参数显示操作模块30、曲线显示操作模块31、解析数据存储操作模块32以及远程监控操作模块33。其中,所述曲线显示操作模块所需的参数为浮点数据类型;所述解析数据存储操作模块所需的参数为文本数据类型;所述远程监控操作模块所需的参数为浮点数据类型。
实施例三
本实施例对应实施例一和实施例二,提供一具体运用于新能源客车场景的实施方式:
在某新能源实验客车上,需要将车速显示在液晶屏上,数据精确到三位小数点,且每秒更新一次;同时需要将车速进行记录,每250ms记录一次。在取得CAN协议后,根据协议制作成解析协议文件。上位机软件导入解析文件后,在电脑内存中建立数据缓存。当CAN总线接收到含有车速的报文时,将对报文进行解析,并将车速的浮点数据和文本数据存储到数据缓存。液晶显示模块每一秒读取数据缓存中的车速浮点数据,并显示在液晶屏中。记录模块每250ms读取数据缓存中的车速文本数据,并记录到文件中。
综上所述,本发明提供的一种基于数据缓存的CAN报文解析方法及其系统,不仅提高了总线数据解析的效率;而且实现了用户操作模块的分离,显著提高系统稳定性和用户操作响应的效率;进一步的,还将提高系统的扩展能力。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种基于数据缓存的CAN报文解析方法,其特征在于,包括:
依据CAN解析协议建立数据缓存空间;
建立报文相关参数在所述数据缓存空间中对应存储位置的映射,所述相关参数包括报文ID、参数名、解析规则、浮点数据、文本数据以及显示样式;
数据缓存空间接收并解析CAN总线的报文;
将解析得到的数据转换为浮点数据和文本数据;
依据所述映射,将包括转换得到的浮点数据和文本数据的所述报文的相关参数存储至对应位置。
2.如权利要求1所述的基于数据缓存的CAN报文解析方法,其特征在于,还包括:
依据操作所需的参数,从所述数据缓存空间中对应的存储位置中提取所述所需的参数。
3.如权利要求2所述的基于数据缓存的CAN报文解析方法,其特征在于,所述操作包括参数显示操作、曲线显示操作、解析数据存储操作以及远程监控操作。
4.如权利要求3所述的基于数据缓存的CAN报文解析方法,其特征在于,
所述曲线显示操作所需的参数为浮点数据类型;
所述解析数据存储操作所需的参数为文本数据类型;
所述远程监控操作所需的参数为浮点数据类型。
5.如权利要求3所述的基于数据缓存的CAN报文解析方法,其特征在于,所述参数显示操作对应设有参数显示模块;所述曲线显示操作对应设有曲线显示模块;所述解析数据存储操作对应设有解析数据存储模块;所述远程监控操作对应设有远程监控操作模块。
6.一种基于数据缓存的CAN报文解析系统,其特征在于,包括:数据缓存空间及与其连接的多条CAN总线;
所述数据缓存空间,包括:
第一建立单元,用于依据CAN解析协议建立数据缓存空间;
第二建立单元,用于建立报文相关参数在所述数据缓存空间中对应存储位置的映射,所述相关参数包括报文ID、参数名、解析规则、浮点数据、文本数据以及显示样式;
接收解析单元,用于数据缓存空间接收并解析CAN总线的报文;
转换单元,用于将解析得到的数据转换为浮点数据和文本数据;
存储单元,用于依据所述映射,将包括转换得到的浮点数据和文本数据的所述报文的相关参数存储至对应位置。
7.如权利要求6所述的基于数据缓存的CAN报文解析系统,其特征在于,还包括多个的操作模块;
所述操作模块,用于依据操作所需的参数,从所述数据缓存空间中对应的存储位置中提取所述所需的参数。
8.如权利要求7所述的基于数据缓存的CAN报文解析系统,其特征在于,所述多个的操作模块包括参数显示操作模块、曲线显示操作模块、解析数据存储操作模块以及远程监控操作模块。
9.如权利要求8所述的基于数据缓存的CAN报文解析系统,其特征在于,
所述曲线显示操作模块所需的参数为浮点数据类型;
所述解析数据存储操作模块所需的参数为文本数据类型;
所述远程监控操作模块所需的参数为浮点数据类型。
CN201710998629.3A 2017-10-24 2017-10-24 一种基于数据缓存的can报文解析方法及其系统 Active CN107645564B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710998629.3A CN107645564B (zh) 2017-10-24 2017-10-24 一种基于数据缓存的can报文解析方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710998629.3A CN107645564B (zh) 2017-10-24 2017-10-24 一种基于数据缓存的can报文解析方法及其系统

Publications (2)

Publication Number Publication Date
CN107645564A true CN107645564A (zh) 2018-01-30
CN107645564B CN107645564B (zh) 2021-03-23

Family

ID=61124277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710998629.3A Active CN107645564B (zh) 2017-10-24 2017-10-24 一种基于数据缓存的can报文解析方法及其系统

Country Status (1)

Country Link
CN (1) CN107645564B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110808892A (zh) * 2019-10-24 2020-02-18 北京航天发射技术研究所 车辆控制数据判读方法和装置
CN114422595A (zh) * 2021-12-28 2022-04-29 江苏亿控智能装备有限公司 自定义can系统及其报文解析方法
CN114745330A (zh) * 2022-04-08 2022-07-12 北京航天发射技术研究所 一种数据处理方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007130730A3 (en) * 2006-03-31 2008-09-12 Freescale Semiconductor Inc Message buffer for a receiver apparatus on a communications bus
CN102158435A (zh) * 2011-04-13 2011-08-17 北京航空航天大学 一种支持虚连接的基于can总线和以太网实时嵌入式网关
CN103186608A (zh) * 2011-12-30 2013-07-03 北京谊安医疗系统股份有限公司 一种队列序列化式处理数据的方法和装置
CN103344273A (zh) * 2013-06-08 2013-10-09 中国东方电气集团有限公司 一种纯电动车电机驱动器测控系统及其测控方法
CN103491190A (zh) * 2013-09-30 2014-01-01 国家电网公司 一种面向大规模实时并发的充电机监控数据处理方法
CN106201670A (zh) * 2016-07-20 2016-12-07 北京航天发射技术研究所 一种基于Labview的CAN总线数据处理方法
CN107241251A (zh) * 2017-06-16 2017-10-10 龙海特尔福汽车电子研究所有限公司 多路can报文实时接收的软件实现方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007130730A3 (en) * 2006-03-31 2008-09-12 Freescale Semiconductor Inc Message buffer for a receiver apparatus on a communications bus
CN102158435A (zh) * 2011-04-13 2011-08-17 北京航空航天大学 一种支持虚连接的基于can总线和以太网实时嵌入式网关
CN103186608A (zh) * 2011-12-30 2013-07-03 北京谊安医疗系统股份有限公司 一种队列序列化式处理数据的方法和装置
CN103344273A (zh) * 2013-06-08 2013-10-09 中国东方电气集团有限公司 一种纯电动车电机驱动器测控系统及其测控方法
CN103491190A (zh) * 2013-09-30 2014-01-01 国家电网公司 一种面向大规模实时并发的充电机监控数据处理方法
CN106201670A (zh) * 2016-07-20 2016-12-07 北京航天发射技术研究所 一种基于Labview的CAN总线数据处理方法
CN107241251A (zh) * 2017-06-16 2017-10-10 龙海特尔福汽车电子研究所有限公司 多路can报文实时接收的软件实现方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110808892A (zh) * 2019-10-24 2020-02-18 北京航天发射技术研究所 车辆控制数据判读方法和装置
CN114422595A (zh) * 2021-12-28 2022-04-29 江苏亿控智能装备有限公司 自定义can系统及其报文解析方法
CN114745330A (zh) * 2022-04-08 2022-07-12 北京航天发射技术研究所 一种数据处理方法及装置
CN114745330B (zh) * 2022-04-08 2024-01-16 北京航天发射技术研究所 一种数据处理方法及装置

Also Published As

Publication number Publication date
CN107645564B (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
CN106527892B (zh) 一种电子设备的截屏方法及系统
CN102377246B (zh) 基于iec61850故障分析系统的图形实例化方法
CN103559570B (zh) 一种故障录波主站信息管理系统
CN101826018B (zh) 一种网元管理系统界面交互开发系统及方法
CN107645564A (zh) 一种基于数据缓存的can报文解析方法及其系统
CN108897510A (zh) 大屏幕展示信息的控制系统、方法及大屏幕展示信息系统
CN103235820A (zh) 一种集群系统中数据存储方法与装置
CN103246963B (zh) 基于物联网的员工培训系统
CN105094868A (zh) 一种软件升级方法、服务器及终端
CN109582736A (zh) 贷款业务名单表的同步方法、装置和计算机设备
CN103345486A (zh) 应用于远程浏览环境下客户端获取和展示图形文件的方法
CN113434425A (zh) 一种可快速开发测控系统及测控系统看板
CN212935927U (zh) 一种带有嵌入式数据库的物联网网关
CN113836877A (zh) 一种文本标注方法、装置、设备以及存储介质
CN103401837A (zh) 一种面向scada系统的实时数据推送方法
CN108133017A (zh) 一种多数据源采集配置方法及装置
CN112181549A (zh) 变电站监控界面电力图符动态感知的识别系统及方法
CN201742433U (zh) 电子显示系统
CN107643968A (zh) 崩溃日志处理方法及装置
CN106454483B (zh) 一种栏目呈现方法及系统
CN102364909A (zh) 基于移动设备与本地服务器的消息同步系统及方法
CN113434585B (zh) 资源保存方法及设备
CN115269713A (zh) 一种数据的可视化方法、系统、计算机设备及介质
CN102929186B (zh) 一种模型系统与Web监控画面的数据通信实现方法
CN114238335A (zh) 一种埋点数据生成方法及其相关设备

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
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A CAN message parsing method and system based on data caching

Granted publication date: 20210323

Pledgee: Agricultural Bank of China Limited Xiamen Lianqian Branch

Pledgor: XIAMEN FUGONG POWER TECHNOLOGY Co.,Ltd.

Registration number: Y2024980010237