工具使用
- 一、摘要
- 1.描述
- 2.关键字
- 二、什么时候需要使用MatrixCreat工具
- 三、MatrixCreat转换后效果图
- 四、MatrixCreat运行环境
- 五、MatrixCreat使用介绍
- 六、MatrixCreat配置详解
- 1.ProjectName
- 2.EndianType
- 3.BitsName
- 4.SheetName
- 5.ParasRowNum
- 6.VariableNameLenth
- 7.NameIsEqual
- 8.DiagnosticIsExist
- 9.Version
- 10.BaudRate
- 11.Jitter
- 12.TimeBase
- 13.MasterName
- 14.SlavesName
- 15.MessageName
- 16.MessageID
- 17.MessageLength
- 18.MessageSendType
- 19.MessageChecksumMode
- 20.MessageResponseError
- 21.MessageTransmitter
- 22.SignalName
- 23.SignalStartbit
- 24.SignalLength
- 25.SignalByteOrder
- 26.SignalDataType
- 27.SignalInitValue
- 28.SignalInvalidValue
- 29.SignalInactiveValue
- 30.SignalUnit
- 31.SignalFactor
- 32.SignalOffst
- 33.SignalMinValuePhy
- 34.SignalMaxValuePhy
- 35.SignalReceivers
- 36.SignalMinValue
- 37.SignalMaxValue
- 38.SignalValueDescrptions
- 39.SignalComments
- 40.ScheduleTables
- 七、其他
- 八、参考
一、摘要
1.描述
- 本文主要描述的是MatrixCreat上位机的使用,通过本文可详细的了解LDF文件和Excel文件的相互转换的过程,了解如何对工具进行自定义配置。
- 在网络上对于LDF和Excel转换的工具并不多,在早期的时候,由于工作的需要,常常需要使用到LDF文件,也需要根据客户提供的Excel文件转换位定义,在最开始的时候我的想法是固定Excel表格的格式,然后把客户给的Excel表格信息有效内容复制到对应标准的Excel中,然后在进行转换,这样虽然实现了转换,但是伴随的问题也来了,要很好的,高效率的复制粘贴也不是一件容易的事情,而且相对来说每次客户更改文件都需要再复制粘贴一次,显得异常麻烦。所以我想我们可以通过配置的方式,通过读取配置文件来识别不同Excel之间有效的信息,虽然不同客户提供的Excel格式差异比较大,但是具体的内容其实并没有太多的区别。
- 对于刚开始接触MatrixCreat上位机的人来说可能觉得有些麻烦,觉得转换我只需要点击就可以,但其实你仔细阅读本文后,你会发现这种方式也是一种相对较好的方式,可以很好弥补不同Excel格式之间LDF的转换,也不需要你去网上下载了一个又一个转换工具,最后却发现没有一个工具好用的情况,毕竟每个软件工程师写代码的时候,都是有自己的开发环境和配置,当编译后的软件在其他地方运行时候会出现其他的问题,格式也会有不同的情况。
- 本软编写的语言是基于C#语言,并未使用其他关联的DLL文件,所以不同的电脑之间兼容性很好,不会出现调用异常的问题。
- 郑重申明,本软件可以适配绝大多数车厂给的Excel文件,但是不保证所有文件都能适配,绝大部分地方都做了容错处理,但是不排除有异常情况的发生,若遇到有异常的情况,可联系我对代码进行优化,我会听君言及时处理,对软件进行更新升级。
2.关键字
LDF,LDF转Excel,LDF转位定义,Excel转LDF,Excel转位定义,LDF转XLSX,XLSX转LDF。
二、什么时候需要使用MatrixCreat工具
- 当客户给Excel的LIN矩阵时,却不方便给LDF文件,我们在调试的时候LDF文件可以大大的提高我们的工作效率,我们就需要自己去生成LDF文件,如果编辑LDF文件我们都使用Vector工具DF Explorer Pro或者LDFEditor去编辑,那效率将会是十分的低下,我们可使用MatrixCreat工具进行转换。
- 当客户给的Excel的LIN矩阵和客户给的LDF文件信号发生冲突时候,可以将客户给的LDF文件进行转换成Excel格式进行对比查看,或者当我们只有LDF文件却没有Excel文件时,我们可使用MatrixCreat工具进行转换。
- 当我们需要通过客户给的Excel或者LDF文件生成位定义参与编译,手动生成效率低而且不能保证准确性,我们可使用MatrixCreat工具进行转换。
三、MatrixCreat转换后效果图
- 一个好的上位机软件不光要实现应有的功能,对用户的使用来说也需要友好的界面,对于容错的处理也需要尽可能的加入,对于生成的文本也需要尽可能的美观,软件的实用性和美观并不冲突。
- 上位机人机交互界面如下图
- Excel转LDF文件,LDF文件如下图
- Excel转位定义文件,LDF转位定义文件,位定义文件如下图
- LDF转Excel文件,Excel文件如下图
四、MatrixCreat运行环境
- Windows操作系统电脑一台。
- NET Framework4.7.2,如果没有安装此环境,运行软件会提示缺少运行框架,此软件可百度下载,也可通过我的资源进行下载,安装包很小,只有几十兆,这个安装环境只需要安装一次,以后对于下载执行我C#软件都无需再下载,安装过程很简单,但是只能安装在C盘,直接点击下一步完成即可。
NET Framework4.7.2: - MatrixCreat,这个软件只能在我的资源进行下载,如果没有积分的朋友可以在下方留言私信我,免费邮箱发送。
LDF转Excel;LDF转位定义;Excel转LDF;Excel转位定义:
五、MatrixCreat使用介绍
- 安装好NET Framework4.7.2后,下载MatrixCreat工具压缩包后解压,解压后选择MatrixCreat.exe执行文件,双击运行。
- 打开后即可显示人机交互界面,使用说明如下图所示
- 第一次使用时候默认配置为…\MatrixCreat V1.0\project\Test_Demo.ini,该配置和默认路径…\MatrixCreat V1.0\demo\Test_Demo.xlsx标题相对应,如果不会配置的朋友可以直接使用该模板,将LIN矩阵表复制到该Excel中,转换即可,如果选择的是LDF文件,可以不用太关注配置文件,选择文件后直接点击生成即可获取需要的文件,配置文件也可以自己编辑,每次启动软件都会自动读取上次选择的配置文件和转换的文件,缺少文件会提示错误信息,转换过程如下图所示
六、MatrixCreat配置详解
- 配置文件可实现不同Excel信号的提取,可以有效的提高转换的效率,不同的车厂对LIN矩阵的描述信息各有千秋,我们只需要提取我们需要的信息即可,了解配置文件可自行编辑配置文件已达到期望的效果。
- 配置文件的后缀.ini结尾的,我们一般可将写好的配置文件存放在…\MatrixCreat V1.0\project目录下,配置文件其实是xml文件,xml文件作为存储信息的重要一种文本方式,可通过记事本进行打开编辑,打开后如下图所示
- 了解配置之前我们需要了解什么是列标识符,其实就是我们说的描述,一般在列的抬头,上位机就是通过识别标识符来达到对应信息的提取,标识符如下图所示
- 下面我们将对每一项配置进行详细的解释,方便用户去了解它,配置它。
1.ProjectName
ProjectName代表工程名称,是区分不同配置的重要信息,这个名称也可以为空。
2.EndianType
EndianType代表单片机的类型,在前面的章节我们提到过大端小端,如果不太懂的朋友可以仔细阅读以下前面的章节,这个主要是为了生存的位定义文件格式需要,这个配置只能为Big和Little,分别代表大端和小端。
3.BitsName
BitsName代表节点名称,主要是用于位定义生成代表是哪路LIN,一般没特别需要求默认配置为Lin即可。
4.SheetName
SheetName代表Excel的sheet名称,当我们拿到客户给的Excel文件时候,一个文件里面有许多的表格,通过这个名称可以快速定位我们需要的信息在哪个文件,解析的时候上位机会自动查询到与SheetName相匹配的sheet,然后再进行下一步匹配工作。
5.ParasRowNum
ParasRowNum代表我们要识别的列的标识符是第几行,有的厂家给的Excel第一行给的空白,第二行才是描述信息,通过配置快速定位行信息是否相匹配,该配置是从0开始的,代表第一行,这个参数十分重要,否则无法匹配到数据,这个值不能为空。
6.VariableNameLenth
VariableNameLenth代表变量名称长度,主要是为了限制最大的信号定义长度,不同的单片机可能存在不同,建议保持默认配置35即可。
7.NameIsEqual
NameIsEqual代表名称是否需要完全相等还是说只要要包含即可,也就是相当于搜索中的模糊匹配和全字匹配,主要用于SheetName,报文消息,信号消息的匹配,所谓全字匹配是指大小写和空格均需匹配,不包含换行符。如果列标识符中没有相同的,可以将此设置为False,这样出现的问题几率小。该值只能是True和False。
8.DiagnosticIsExist
DiagnosticIsExist代表是否需要生成带有诊断报文的LDF文件,如果矩阵表里无诊断报文,设置此项也可以生成诊断相关的LDF文件。该值只能是True和False。
9.Version
Version代表版本信息,可以设置为1.3,2.0,2.1,2.2。
10.BaudRate
BaudRate代表波特率,假设为19200,即设置为19.2 kbps。
11.Jitter
Jitter代表偏移,假设为5ms,即设置为5ms。
12.TimeBase
TimeBase代表时间基数,假设为0.1ms,即设置为0.1 ms。
13.MasterName
MasterName代表主节点名称,此参数不能配置为空,否者生成的LDF文件节点识别会出错。
14.SlavesName
SlavesName代表从节点名称,此参数不能配置为空,否者生成的LDF文件节点识别会出错。
15.MessageName
MessageName代表报文名称,这个配置可以为空,生成出来的LDF文件默认为传输ECU加报文ID。
16.MessageID
MessageID代表报文标识符,这个配置不能为空,这个配置对应的列的数据必须要为16进制,可以加0x开头,也可以不加。
17.MessageLength
MessageLength代表报文长度,这个配置可以为空,生成的LDF文件默认报文长度为8。
18.MessageSendType
MessageSendType代表发送类型,这个配置可以为空,生成的LDF文件默认UF类型。
19.MessageChecksumMode
MessageChecksumMode代表校验类型,这个配置可以为空,生成的LDF文件默认Enhanced类型。
20.MessageResponseError
MessageResponseError代表错误响应帧,这个配置可以为空,生成的LDF文件默认无错误响应帧。
21.MessageTransmitter
MessageTransmitter代表发送ECU,这个配置如果配置了,会去查找对应列的发送ECU,如果没有查找到,会使用MasterName和SlavesName配置进行二次查找。一般两个配置配置一个即可,该配置可以为空。
22.SignalName
SignalName代表信号名称,这个配置可以为空,生成出来的LDF文件信号名称为null_加起始位和长度。
23.SignalStartbit
SignalStartbit代表起始位,这个配置不能为空。
24.SignalLength
SignalLength代表信号长度,这个配置不能为空。
25.SignalByteOrder
SignalByteOrder代表排列格式,这个配置可以为空,默认排列格式为Inter格式。
26.SignalDataType
SignalDataType代表数据类型,这个配置可以为空。
27.SignalInitValue
SignalInitValue代表初始值,这个配置可以为空。
28.SignalInvalidValue
SignalInvalidValue代表无效值,这个配置可以为空。
29.SignalInactiveValue
SignalInactiveValue代表非使能值,这个配置可以为空。
30.SignalUnit
SignalUnit代表单位,这个配置可以为空,生成LDF文件默认单位为空。
31.SignalFactor
SignalFactor代表精度,这个配置不能为空。
32.SignalOffst
SignalOffst代表偏移量,这个配置不能为空。
33.SignalMinValuePhy
SignalInvalidValue代表物理最小值,这个配置可以为空。
34.SignalMaxValuePhy
SignalMaxValuePhy代表物理最大值,这个配置可以为空。
35.SignalReceivers
SignalReceivers代表接收ECU,这个配置如果配置了,会去查找对应列的接收ECU,不同ECU之间用“,”隔开,如果没有查找到,会使用MasterName和SlavesName配置进行二次查找。一般两个配置配置一个即可,该配置可以为空。
36.SignalMinValue
SignalMinValue代表总线最小值,这个配置可以为空,生成LDF文件默认总线最小值为0。
37.SignalMaxValue
SignalMaxValue代表总线最大值,这个配置可以为空,生成LDF文件默认总线最大值为0。
38.SignalValueDescrptions
SignalValueDescrptions代表信号值描述,这个配置可以为空,生成LDF文件默认信号值描述为空。
39.SignalComments
SignalComments代表信号描述,这个配置可以为空。
40.ScheduleTables
ScheduleTables代表调度表,这个配置可以为空,可以创建多个调度表,用“;”隔开。
七、其他
本文主要是讲解MatrixCreat工具的使用,有些地方可能会有描述性的错误,希望看到的朋友及时指出,我会及时更正错误,其他地方有些借鉴的描述,写此文章的目的是为了交流,非商业用途,欢迎私信讨论,感谢大家阅读。