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

一、摘要

1.描述

  • 本文主要描述的是MatrixCreat上位机的使用,通过本文可详细的了解DBC文件和Excel文件的相互转换的过程,了解如何对工具进行自定义配置。
  • 在网络上对于DBC和Excel转换的工具并不多,在早期的时候,由于工作的需要,常常需要使用到DBC文件,也需要根据客户提供的Excel文件转换位定义,在最开始的时候我的想法是固定Excel表格的格式,然后把客户给的Excel表格信息有效内容复制到对应标准的Excel中,然后在进行转换,这样虽然实现了转换,但是伴随的问题也来了,要很好的,高效率的复制粘贴也不是一件容易的事情,而且相对来说每次客户更改文件都需要再复制粘贴一次,显得异常麻烦。所以我想我们可以通过配置的方式,通过读取配置文件来识别不同Excel之间有效的信息,虽然不同客户提供的Excel格式差异比较大,但是具体的内容其实并没有太多的区别。
  • 对于刚开始接触MatrixCreat上位机的人来说可能觉得有些麻烦,觉得转换我只需要点击就可以,但其实你仔细阅读本文后,你会发现这种方式也是一种相对较好的方式,可以很好弥补不同Excel格式之间DBC的转换,也不需要你去网上下载了一个又一个转换工具,最后却发现没有一个工具好用的情况,毕竟每个软件工程师写代码的时候,都是有自己的开发环境和配置,当编译后的软件在其他地方运行时候会出现其他的问题,格式也会有不同的情况。
  • 本软编写的语言是基于C#语言,并未使用其他关联的DLL文件,所以不同的电脑之间兼容性很好,不会出现调用异常的问题。
  • 郑重申明,本软件可以适配绝大多数车厂给的Excel文件,但是不保证所有文件都能适配,绝大部分地方都做了容错处理,但是不排除有异常情况的发生,若遇到有异常的情况,可联系我对代码进行优化,我会听君言及时处理,对软件进行更新升级。

2.关键字

DBC,DBC转Excel,DBC转位定义,Excel转DBC,Excel转位定义,DBC转XLSX,XLSX转DBC。

二、什么时候需要使用MatrixCreat工具

  • 当客户给Excel的CAN矩阵时,却不方便给DBC文件,我们在调试的时候DBC文件可以大大的提高我们的工作效率,我们就需要自己去生成DBC文件,如果编辑DBC文件我们都使用Vector工具CANdb++ Editor去编辑,那效率将会是十分的低下,我们可使用MatrixCreat工具进行转换。
  • 当客户给的Excel的CAN矩阵和客户给的DBC文件信号发生冲突时候,可以将客户给的DBC文件进行转换成Excel格式进行对比查看,或者当我们只有DBC文件却没有Excel文件时,我们可使用MatrixCreat工具进行转换。
  • 当我们需要通过客户给的Excel或者DBC文件生成位定义参与编译,手动生成效率低而且不能保证准确性,我们可使用MatrixCreat工具进行转换。

三、MatrixCreat转换后效果图

  • 一个好的上位机软件不光要实现应有的功能,对用户的使用来说也需要友好的界面,对于容错的处理也需要尽可能的加入,对于生成的文本也需要尽可能的美观,软件的实用性和美观并不冲突。

  • 上位机人机交互界面如下图
    在这里插入图片描述

  • Excel转DBC文件,DBC文件如下图
    在这里插入图片描述

  • Excel转位定义文件,DBC转位定义文件,位定义文件如下图
    在这里插入图片描述

  • DBC转Excel文件,Excel文件如下图
    在这里插入图片描述

四、MatrixCreat运行环境

五、MatrixCreat使用介绍

  • 安装好NET Framework4.7.2后,下载MatrixCreat工具压缩包后解压,解压后选择MatrixCreat.exe执行文件,双击运行。
    在这里插入图片描述

  • 打开后即可显示人机交互界面,使用说明如下图所示
    在这里插入图片描述

  • 第一次使用如果不熟悉可以使用Demo里面的模版进行修改转换DBC,如果是DBC或者LDF转换EXCEL,可以直接选择文件进行转换即可。
    在这里插入图片描述

六、MatrixCreat配置详解

  • 配置文件可实现不同Excel信号的提取,可以有效的提高转换的效率,不同的车厂对CAN矩阵的描述信息各有千秋,我们只需要提取我们需要的信息即可,了解配置文件可自行编辑配置文件已达到期望的效果。

  • 配置文件的后缀.ini结尾的,配置文件其实是xml文件,xml文件作为存储信息的重要一种文本方式,可通过记事本进行打开编辑,打开后如下图所示
    在这里插入图片描述

  • 了解配置之前我们需要了解什么是列标识符,其实就是我们说的描述,一般在列的抬头,上位机就是通过识别标识符来达到对应信息的提取,标识符如下图所示
    在这里插入图片描述

  • 下面我们将对每一项配置进行详细的解释,方便用户去了解它,配置它。

1.EndianType

EndianType代表单片机的类型,在前面的章节我们提到过大端小端,如果不太懂的朋友可以仔细阅读以下前面的章节,这个主要是为了生存的位定义文件格式需要,这个配置只能为Big和Little,分别代表大端和小端。

2.BusType

BusType代表总线类型,主要用于生成DBC总线类型,目前只有CAN和CAN FD两个选择。

3.MessageName

MessageName代表报文名称,这个关联列如果未查找到,生成出来的DBC文件默认为传输ECU加报文ID。

4.MessageType

MessageType代表报文类型,报文类型前面章节也提到过有哪些,这里不再仔细介绍,这个关联列如果未查找到,生成出来的DBC文件默认为Normal。

5.MessageID

MessageID代表报文标识符,这个配置对应的列的数据必须要为16进制,可以加0x开头,也可以不加。

6.MessageSendType

MessageSendType代表报文发送类型,报文发送类型前面章节也提到过有哪些,这里不再仔细介绍,这个关联列如果未查找到,生成出来的DBC文件默认报文发送类型为NoSendType。

7.MessageCycleTime

MessageCycleTime代表报文周期时间,这个关联列如果未查找到,生成出来的DBC默认报文周期时间为0。

8.MessageCycleTimeFast

MessageCycleTimeFast代表报文发送的快速周期,这个关联列如果未查找到,生成出来的DBC文件默认报文发送的快速周期为0。

9.MessageNrOfRepetition

MessageNrOfRepetition代表报文快速发送的次数,这个关联列如果未查找到,生成出来的DBC文件默认报文快速发送的次数为0。

10.MessageDelayTime

MessageDelayTime代表报文延时时间,这个关联列如果未查找到,生成出来的DBC文件默认报文延时时间为0。

11.MsgLength

MsgLength代表报文长度,这个关联列如果未查找到,生成的DBC文件默认报文长度为8。

12.SignalName

SignalName代表信号名称,这个关联列如果未查找到,生成出来的DBC文件信号名称为报文名称_加起始位。

13.SignalDescrption

SignalDescrption代表信号描述,这个关联列如果未查找到,生成DBC文件默认信号描述为空。

15.ByteOrder

ByteOrder代表排列格式,这个关联列如果未查找到,生成的DBC文件默认排列格式为Inter格式。

16.Startbyte

Startbyte代表起字节,这个关联列如果未查找到,不影响生成DBC。

17.Startbit

SignalStartbit代表起始位。

18.SignalSendType

SignalSendType代表信号发送类型,信号发送类型前面章节也提到过有哪些,这里不再仔细介绍,这个关联列如果未查找到,生成出来的DBC文件默认信号发送类型为NoSendType。

19.BitLength

BitLength代表信号长度。

20.DataType

DataType代表数据类型,这个关联列如果未查找到,生成DBC文件默认数据类型为Unsigned格式。

21.Factor

Factor代表精度,这个关联列如果未查找到,默认生成精度为1.0。

22.Offst

Offst代表偏移量,这个关联列如果未查找到,默认生成偏移量为0。

23.SignalMinValuePhy

SignalInvalidValue代表物理最小值,这个关联列如果未查找到,,生成DBC文件默认物理最小值为0。

24.SignalMaxValuePhy

SignalMaxValuePhy代表物理最大值,这个关联列如果未查找到,,生成DBC文件默认物理最大值为总线最大值*精度+偏移。

25.SignalMinValue

SignalMinValue代表总线最小值,这个关联列如果未查找到,,生成DBC文件默认总线最小值为0。

26.SignalMaxValue

SignalMaxValue代表总线最大值,这个关联列如果未查找到,,生成DBC文件默认总线最大值为位宽度。

27.InitValue

InitValue代表初始值,这个关联列如果未查找到,生成DBC文件默认初始值为0。

28.InvalidValue

InvalidValue代表无效值,这个关联列如果未查找到,生成DBC文件默认无效值为0。

29.InactiveValue

InactiveValue代表非使能值,这个关联列如果未查找到,生成DBC文件默认非使能值为0。

30.Unit

Unit代表单位,这个关联列如果未查找到,生成DBC文件默认单位为空。

31.SignalValueDescrptions

SignalValueDescrptions代表信号值描述,这个关联列如果未查找到,生成DBC文件默认信号值描述为空。

32.Comments

Comments代表备注信息。

七、其他

本文主要是讲解MatrixCreat工具的使用,有些地方可能会有描述性的错误,希望看到的朋友及时指出,我会及时更正错误,其他地方有些借鉴的描述,写此文章的目的是为了交流,非商业用途,欢迎私信讨论,感谢大家阅读。

八、参考

【1】:DBC转Excel;DBC转位定义;Excel转DBC;Excel转位定义;MatrixCreat(一)之CAN矩阵详解
【2】:DBC转Excel;DBC转位定义;Excel转DBC;Excel转位定义;MatrixCreat(二)之DBC文件创建
【3】:DBC转Excel;DBC转位定义;Excel转DBC;Excel转位定义;MatrixCreat(三)之DBC文件详解

  • 34
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 240
    评论
评论 240
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值