【技术实现步骤摘要】
一种基于脚本工具解析汽车网络DBC文件的方法
本专利技术涉及一种数据文件解析的方法,特别涉及一种基于脚本工具解析汽车网络DBC文件的方法。
技术介绍
对于汽车特别是新能源车,各个电子控制单元组成控制汽的网络,各单元之间的通信一般采用CAN总线网络,通信协议以DBC文件的形式呈现,而为了保证软件信号接口的一致性和DBC文件的可读性,需要将其按照一定格式生成Excel表格形式可以使软件人员和测试人员更加便捷的对其操作。目前有采用VB或Pathon等脚本工具来进行解析。如专利申请201810289074X,公开了一种基于正则表达式的DBC文件解析及报文分析方法。但在实际应用中,这些方法所使用的工具相对复杂,操作不简便。
技术实现思路
本专利技术提供一种一种基于脚本工具解析汽车网络DBC文件的方法,可有效解决DBC文件不直观且转化工具复杂的问题。本专利技术通过以下方案实施。一种基于脚本工具解析汽车网络DBC文件的方法,包括以下步骤:S1:将DBC文件数据读取至脚本工具中;S2:计算DBC文
【技术保护点】
1.一种基于脚本工具解析汽车网络DBC文件的方法,其特征在于:包括以下步骤,/nS1:将DBC文件数据读取至脚本工具中;/nS2:计算DBC文件数据的行数;/nS3:依据表1的报文属性名称与特定参数的对应表,找出文件数据中以一个报文属性所对应的特定检索参数开头所在的全部行;/n表1/n
【技术特征摘要】
1.一种基于脚本工具解析汽车网络DBC文件的方法,其特征在于:包括以下步骤,
S1:将DBC文件数据读取至脚本工具中;
S2:计算DBC文件数据的行数;
S3:依据表1的报文属性名称与特定参数的对应表,找出文件数据中以一个报文属性所对应的特定检索参数开头所在的全部行;
表1
序号
属性名称
特定检索参数
1
MsgID(帧地址)
'BO_'
2
MsgName(帧名字)
MsgID
3
MsgType(类型)
MsgID
4
Cycletime(刷新周期)
"GenMsgCycleTime"
5
DLC(数据长度)
MsgID&‘:’
6
Receiver(接收ECU)
DLC
7
Commants(内容描述)
‘CM_SG_’
8
SigName(信号名)
‘SG_’
9
StartBit(初始位)
'|'
10
Length(长度)
'@'
11
ValueType(值类型)
'@'
12
InitialValue(初始值)
"GenSigStartValue"
13
Factor(分辨率)
'('
14
Offset(偏移量)
')'
15
Minimum(最小值)
'['
16
Maximum(最大值)
']'
17
ValueTable(数值字典)
'VAL_'
18
Unit(单位名称)
'"'
S4:将S3步的每一行中所述报文属性所对应的特定检索参数之后的元素取出;
S5:采用写入Excel函数将S4步取出的元素形成的数组写入Excel文件表格中;
S6:将S4步中元素取出后余留的属性部分重复S3至S5步,直至S2步中所述的表1中所有报文属性与特定参数的对应表中的所有属性解析完毕。
2.如权利要求1所述的一种基于脚本工具解析汽车网络DBC文件的方法,其特征在于:在解析“报文属性与特定参数的对应表”中的“StartBit”属性时,在所述S4步后采用下述步骤计算得到起始位的新数组,再执行S5步,将起始位的新数组写入Excel文件表格中;
S501:判定报文属性的值类型ValueType的取值,若ValueType的取值为1,则报文属性StartBit值=报文属性Msb值-报文属性Length值;若ValueType的取值为0,则进入下一步;
S502:先按下述逻辑计算得到Temp值:
若0≤Msb值≤7,则Temp值=Msb值;
若7<Msb值≤15,则Temp值=Msb值-8;
若15<Msb值≤23,则Temp值=Msb值-16;
若23<Msb值≤31,则Temp值=Msb值-24;
若31<Msb值≤39,则Temp值=Msb值-32;
若39<Msb值≤47,则Temp值=Msb值-40;
若47<Msb值≤55,则Temp值=Msb值-48;
若55<Msb值≤63,则Temp值=Msb值-56;
再按逻辑计算得到StartBit值:
若Temp值+1-Length值≥0,则StartBit值=Msb值+1-Length值;
若-8≤Temp值+1-Length<0,则StartBit值=Msb值+1+8-(Length值-8);
若-16≤Temp值+1-Length<-8,则Startbit值=Msb值+1+16-(Length值-16);
若-24≤Temp值+1-Length<-16,则Startbit值=Msb值+1+24-(Length值-24);
若-32≤Temp值+1-Length<-24,则Startbit值=Msb值+1+32-(Length值-32);
若-40≤Temp值+1-Length<-32...
【专利技术属性】
技术研发人员:马雪寒,胡大勇,石建珍,
申请(专利权)人:佛山市飞驰汽车制造有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。