本发明属于产品汽车检测控制技术领域,更具体地说,尤其涉及一种excel转dbc文件的生成方法。

背景技术:

我们知道汽车上的控制信号和通信信号的传递需要依靠各种信号线路,功能越多线路越复杂,线路复杂冗长可能导致系统通信不可靠,影响电子控制子元件的正常运行,使得控制出现失误从而有可能酿成车祸。为解决此问题德国bosch在上世纪80年代推出了串行数据通信can,使得汽车上的控制系统和检测系统之间的数据通信和资源共享问题得到非常有效的解决。发展至今can也衍生出众多更加完整规范、互用性更强的通信协议,使得其在传统动力汽车中越来越普及和“低配”。它的同步性以及实时性等众多优点也使得can总线技术在电动汽车中继续被推从和使用。

在现代纯电动汽车开发中,离不开can总线这个至关重要的通讯控制手段,然而随着纯电动汽车的飞速发展,can总线节点和报文数目越来越多,通过database手动编辑对于工程师的工作量大大增加,而且消耗时间同时编辑过程中容易出错且不易察觉。

现有的can总线存在有以下缺陷,即工程师根据提供的can矩阵,手动编写dbc文件信息,造成工程师工作量过大,且容易造成错误;将excel的can矩阵表通过一定顺序的排列通过编写代码直接生成dbc文件,使得can矩阵表格必须严格按照一定顺序排列,同时由于dbc文件较为繁琐,编写代码生成dbc时,代码不容易编写,且过长容易出错。

针对现有的dbc文件的生成方法技术中普遍存在的缺陷,我们提出一种excel转dbc文件的生成方法及装置。

技术实现要素:

本发明的目的是为了解决现有技术中存在的缺点,而提出的一种excel转dbc文件的生成方法及装置,具有降低代码的繁琐程度,减少工程师的工作量,同时降低错误率和自动生成sym文件后,通过上位机生成dbc文件等优点。

为实现上述目的,本发明提供如下技术方案:一种excel转dbc文件的生成方法,包括如下步骤:

s1、选取需要生成dbc的can矩阵文件,将can矩阵文件录入到matlab软件中进行报文读取解析;

s2、报文信息判断,从步骤s1中的can矩阵文件的工作表工作区域中的x行第一个单元格开始读取文件信息,并且进行判断;

s3、读取报文信息,读取同一行报文名称之后开始读取报id、报文周期、报文长度、报文名称,且将以上报文数据进行一个数据一行显示;

s4、继续读取报文信息,继续读取同一行信号发送类型、信号数据类型、属性、信号属性值、信号最大最小值、信号字节长度、信号起始位、信号初始值等,且在读取的时候进行判断,以及读取完成一行报文信息之后自动继续读取下一行;

s5、读取结束,当读取到can矩阵文件的最后一行时候,且最后一行没有报文名称的时候,停止读取can矩阵文件;

s6、生成sym文件,将读取到的can矩阵文件的数据表生成一个sym文件;

s7、pcan-explorer软件打开sym文件,将sym文件录入到pcan-explorer软件中,然后通过pcan-explorer中的工具symboleditor打开生成的sym文件;

s8、生产dbc文件,将sym文件通过工具symboleditor中的export生成所需的dbc文件。

优选的,所述步骤s1中的can矩阵文件是特定的can矩阵工作使用的excel工作表进行数据信息的存储。

优选的,所述步骤s2中的判断方式为若有报文字节名称则创建报文名称为节点的对象,且继续进行步骤s3读取报文信息,若不是或者为空则继续读取下一行,并且再进行判断报文名称。

优选的,所述步骤s4中若是下一行中报文字节名称与上一行报文字节名称相同则直接在报文名称后面记录后面的信号发送类型、信号数据类型、属性、信号属性值、信号最大最小值、信号字节长度、信号起始位、信号初始值等。

优选的,所述步骤s4中若是下一行中报文字节名称与上一行中报文字节名称不相同则重复步骤s3和步骤s4,生成报文数据信息。

优选的,所述步骤s5在读取下一行报文信息之前先进行数据判断,若是还有数据,则继续读取下一行数据信息,若没有数据,则将读取的报文信息生成sym文件。

优选的,所述步骤s7中的pcan上位机即pcan—explorer,是一款对应pcan的can报文读取解析工具。

本发明的技术效果和优点:

1.本发明在将can矩阵转换位sym文件时,由于sym文件相较于dbc文件更加简单明了,所以编写的代码相较已有代码更加简单,不易出错可以降低代码编写门槛;

2.本发明可以通过matlab和pcan-explorer自动生成dbc文件降低了工程师的工作量提升工作效率;

3.本发明通过pcan查看sym文件时,更加方便检测生成文件是否与can矩阵有出入,降低错误率。

附图说明

图1为本发明的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种excel转dbc文件的生成方法,包括如下步骤:

s1、选取需要生成dbc的can矩阵文件,将can矩阵文件录入到matlab软件中进行报文读取解析;

s2、报文信息判断,从步骤s1中的can矩阵文件的工作表工作区域中的x行第一个单元格开始读取文件信息,并且进行判断;

s3、读取报文信息,读取同一行报文名称之后开始读取报id、报文周期、报文长度、报文名称,且将以上报文数据进行一个数据一行显示;

s4、继续读取报文信息,继续读取同一行信号发送类型、信号数据类型、属性、信号属性值、信号最大最小值、信号字节长度、信号起始位、信号初始值等,且在读取的时候进行判断,以及读取完成一行报文信息之后自动继续读取下一行;

s5、读取结束,当读取到can矩阵文件的最后一行时候,且最后一行没有报文名称的时候,停止读取can矩阵文件;

s6、生成sym文件,将读取到的can矩阵文件的数据表生成一个sym文件;

s7、pcan-explorer软件打开sym文件,将sym文件录入到pcan-explorer软件中,然后通过pcan-explorer中的工具symboleditor打开生成的sym文件;

s8、生产dbc文件,将sym文件通过工具symboleditor中的export生成所需的dbc文件。

较佳的,步骤s1中的can矩阵文件是特定的can矩阵工作使用的excel工作表进行数据信息的存储。

采用上述方法,可以将can矩阵文件的内容有效的通过excel工作表实现记录存储,且能够方便打开观察。

较佳的,步骤s2中的判断方式为若有报文字节名称则创建报文名称为节点的对象,且继续进行步骤s3读取报文信息,若不是或者为空则继续读取下一行,并且再进行判断报文名称。

采用上述方法,可以快速的检索报文内部的有效名称,并将报文名称进行记录,且在第一行中未检索到报文名称的时候,自动下一行检索,直到检索到报文名称进行文件的搭建为止。

较佳的,步骤s4中若是下一行中报文字节名称与上一行报文字节名称相同则直接在报文名称后面记录后面的信号发送类型、信号数据类型、属性、信号属性值、信号最大最小值、信号字节长度、信号起始位、信号初始值等。

采用上述方法,即在当报文名称相同的时候,可以自动将数据记录在报文名称后面,减少数据的错乱性和复杂性,使得报文数据在后续的生成sym文件的时候能够快速简洁。

较佳的,步骤s4中若是下一行中报文字节名称与上一行中报文字节名称不相同则重复步骤s3和步骤s4,生成报文数据信息。

采用上述步骤,在报文名称信息不同的时候,需要对报文名称另起一行,然后在一次录入报文信息,进行生成报文记录。

较佳的,步骤s5在读取下一行报文信息之前先进行数据判断,若是还有数据,则继续读取下一行数据信息,若没有数据,则将读取的报文信息生成sym文件。

采用上述步骤,可以自动检索报文信息十分全部录入结束,如果没有依旧进行录入,当录入到最后的时候,可以直接将报文信息生成sym文件,使得sym文件通过上位机即pcan—explorer中的工具symboleditor进行打开,并且将sym文件转化生成dbc文件。

较佳的,步骤s7中的pcan上位机即pcan—explorer,是一款对应pcan的can报文读取解析工具。

采用上述步骤,采用pcan可以有效的sym文件进行打开,并且通过pcan软件中的symboleditor工具实现生成dbc文件,快速简单,不需要工程师进行手动编写。

具体工作步骤:

第一步,选取需要生成dbc的can矩阵文件,将can矩阵文件录入到matlab软件中进行报文读取解析,且can矩阵文件是特定的can矩阵工作使用的excel工作表进行数据信息的存储;

第二步,报文信息判断,从第一步中的can矩阵文件的工作表工作区域中的x行第一个单元格开始读取文件信息,并且进行判断,若有报文字节名称则创建报文名称为节点的对象,且继续进行步骤s3读取报文信息,若不是或者为空则继续读取下一行,并且再进行判断报文名称;

第三步,读取报文信息,读取同一行报文名称之后开始读取报id、报文周期、报文长度、报文名称,且将以上报文数据进行一个数据一行单独显示;

第四步,继续读取报文信息,继续读取同一行信号发送类型、信号数据类型、属性、信号属性值、信号最大最小值、信号字节长度、信号起始位、信号初始值等,且在读取的时候进行判断,以及读取完成一行报文信息之后自动继续读取下一行,且对报文信息进行判断下一行是否为空,若是下一行中报文字节名称与上一行报文字节名称相同则直接在报文名称后面记录后面的信号发送类型、信号数据类型、属性、信号属性值、信号最大最小值、信号字节长度、信号起始位、信号初始值等,可以自动将数据记录在报文名称后面,减少数据的错乱性和复杂性,使得报文数据在后续的生成sym文件的时候能够快速简洁,若是下一行中报文字节名称与上一行中报文字节名称不相同则重复步骤s3和步骤s4,生成报文数据信息;

第五步,读取结束,当读取到can矩阵文件的最后一行时候,且最后一行没有报文名称的时候,停止读取can矩阵文件,若是还有数据,则继续读取下一行数据信息,若没有数据,则将读取的报文信息生成sym文件;

第六步,生成sym文件,将读取到的can矩阵文件的数据表生成一个sym文件;

第七部,pcan-explorer软件打开sym文件,将sym文件录入到pcan-explorer软件中,然后通过pcan-explorer中的工具symboleditor打开生成的sym文件;

第八步,生产dbc文件,将sym文件通过工具symboleditor中的export生成所需的dbc文件。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

matlab dbc文件,一种EXCEL转DBC文件的生成方法及装置与流程相关推荐

  1. qnx 镜像文件_一种基于Hypervisor的QNX操作系统启动方法及装置与流程

    本发明涉及计算机领域,尤其涉及一种基于Hypervisor的QNX操作系统启动方法及装置. 背景技术: 基于Hypervisor的QNX是一种商用的遵从POSIX规范,常用用在汽车及路由器上,QNX是 ...

  2. Android硬件扩展接口有哪些,一种安卓智能设备USB接口拓展的方法及装置与流程...

    本发明涉及安卓智能设备技术领域,特别是涉及一种安卓智能设备USB接口拓展的方法及装置. 背景技术: 安卓是一种以Linux为基础的开放源码操作系统,2007年正式推出后,在短短几年时间内得到了广泛的应 ...

  3. DBC转Excel;DBC转位定义;Excel转DBC;Excel转位定义;MatrixCreat(四)之工具使用

    工具使用 一.摘要 1.描述 2.关键字 二.什么时候需要使用MatrixCreat工具 三.MatrixCreat转换后效果图 四.MatrixCreat运行环境 五.MatrixCreat使用介绍 ...

  4. JNI开发笔记(六)--一种更规范的so库生成方法

    一种更规范的JNI工程写法 引 前言 1. MainActivity中的两个重要的语句 2. 建立Util类来替代MainActivity 3. 在MainActivity中验证JNI工程并生成so库 ...

  5. 快递取件码生成软件_一种分布式的取件码生成方法技术

    [技术实现步骤摘要] 本专利技术涉及样品柜取件码生成 ,特别涉及一种分布式的取件码生成方法. 技术介绍 在快递柜的领域中,快递员进行快件派送的时候,通常会遇到收件人无法立刻来取件的情况,这样就需要快递 ...

  6. canoe的dela_一种基于CANoe的ECU软件刷新方法及装置的制造方法

    一种基于CANoe的ECU软件刷新方法及装置的制造方法 [技术领域] [0001]本发明涉及汽车电子技术领域,尤其涉及一种基于CANoe的ECU软件刷新方法及 目-ο [背景技术] [0002]随着汽 ...

  7. java实现安全卡模块,一种Java卡防火墙漏洞的检测方法和装置的制造方法

    一种Java卡防火墙漏洞的检测方法和装置的制造方法 [技术领域] [0001]本发明涉及智能卡领域,尤其涉及智能卡领域中的一种Java卡防火墙漏洞的检测方法和装置. [背景技术] [0002]Java ...

  8. linux虚拟机怎么看var文件,一种获取Linux虚拟机内部日志的方法

    一种获取Linux虚拟机内部日志的方法 [技术领域] [0001]本发明涉及云计算管理技术领域,特别是指一种获取Linux虚拟机内部日志的方法. [背景技术] [0002]在云计算环境下,虚拟机被广泛 ...

  9. matlab 功率分配,一种基于遗传算法的NOMA功率分配方法与流程

    本发明涉及一种基于遗传算法的NOMA功率分配方法,属于无线通信技术领域. 背景技术: 随着移动互联网应用的发展,移动数据流量和终端连接数也呈爆炸式增长,未来全球移动通信网络连接的设备总量将达到千亿规模 ...

  10. 电池工况测试 matlab,一种燃料电池耐久性测试加速工况建立方法及装置与流程...

    本发明属于燃料电池技术领域,具体涉及一种燃料电池耐久性测试加速工况建立方法及装置. 背景技术: 近年来,环境污染问题日益严重.为了应对全球能源短缺和环境污染等问题,开始提倡大力发展新能源汽车,越来越多 ...

最新文章

  1. php range第二个参数比第一个小,鲜为人知的 PHP range() 函数
  2. Anaconda建立新的环境,出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url 解决过程
  3. 机器学习基础 --- numpy的基本使用
  4. 安卓手机浏览器排行_安卓手机性能排行榜:国产手机集体“出位”,华为却在角落哭泣?...
  5. Ubuntu系统上安装微信(legacy)
  6. 【Qt教程】3.1 - Qt5 event事件、Label控件的鼠标事件捕获
  7. 16g电脑内存有什么好处_电脑内存容量都是16GB, 买单根16G好还是双根8G好呢?
  8. memcache集群服务:memagent配置使用
  9. 分享一波 Altium Designer超全封装库(带3D模型)
  10. photoshop印章效果制作
  11. 工作半年就迷茫,给你一盏明灯
  12. vue+vant移动端入门实现5(仿网易严选)
  13. python个人博客搭建_Django后台 + Wordpress主题快速搭建个人博客
  14. Android Studio插入图片
  15. 使用StopWath统计代码执行耗时方法
  16. 基于以太坊ICO的安全合约架构
  17. 小和尚打水问题_三个和尚阅读题答案阅读题目
  18. 中国为什么产生不了Salesforce?
  19. 微信JS SDK开发 共享问题小结
  20. 字节测试爆料薪资普降17%,薪资和假期之间的抉择

热门文章

  1. pythonsample_python sample code | 学步园
  2. 黑莓手机刷linux,【教程】黑莓手机 BlackBerry DM6.0 完整刷机教程 含瘦身方法...
  3. GRE阅读高频机经原文及答案之鸟叫研究
  4. google 翻译 api
  5. HTML+CSS零基础学习笔记(二)
  6. 前端地图之色斑图渲染(数据格式为.tif的栅格数据)(一)——以leaflet为例
  7. w10电脑c盘满了怎么清理_快速清理:Win10系统C盘满了怎么办?
  8. HTML5如何实现开心消消乐小游戏
  9. MATLAB将界面语言由中文改成英文
  10. 最快的滚屏截图软件--SpaceCapture