CANdela/Diva系列5--CANdela Studio的Data Types功能介绍

Data Types在CDD文件中是一个很重要的部分,它能够便捷地解析DID/RID的数据内容和0x19服务的相关子服务,同时能够能够全局定义一些变量,达到整个CDD文件公用的效果。

目录

1. Raw Value:

2. Text Table:

3. Linear:

4. Characteristic Curve:

5. Packet:

6.Multiplexer:

后言:


CDD文件主要支持的数据类型如下:这里面像“Piecewise Linear”、“Procedure”这些数据类型比较不常用,所以此篇文章就暂时不对这些不常用的数据类型做介绍了。(后续有用到的话会重新开一篇来介绍)

1. Raw Value:

Raw Value是指原始值或未经处理的数据。这种数值通常表示从数据源(如传感器或其他系统)接收到的信息,尚未进行任何转换或解释。这些原始数值可能需要进一步处理和解析,以便在汽车诊断工具和软件中进行正确的显示和分析。

新建一个Raw Value类型的数据,然后将"Name"改成对应的“DID D000”,然后在“Bitlength/field size”中输入该DID对应的byte长度,最后在左下方的“Encoding”中选择“Unsigned”,然后对应的“Display Format”会默认为“Hexadecimal”十六进制;

如果在“Encoding”中选择“BCD”,然后对应的“Display Format”会默认为“Decimal”十进制;

如果在“Encoding”中选择“ASCII”,然后对应的“Display Format”会默认为“Text”;

2. Text Table:

文本表格是实际值与附加信息的一个mapping关系表,如下图所示:

定义一个名为“PAS Mode”的Text Table数据类型,然后根据自己的需求将不同的值对应的Assigned Text添加到上图红框2的列表中,这样的话将此数据类型应用到DID中之后,读取DID的值,就会出现对应的文字解析。

3. Linear:

线性数据类型一般用于处理较大数值的数据,如车数,转角,温度,电压等,如下图所示:

定义一个名为“Power Voltage”的Linear数据类型,然后选择这个数据类型应该支持的数据长度(Byte:Bit),然后在转化公式的方框中去填写对应的转化关系:Factor是乘数因子,Divisor是除数,offset是偏差,Unit是单位,单位可以在下拉框去选择,也可以自定义填写。上图中的转化公式表示raw除以10就是power voltage的物理值,最后选择Dispaly Format是10进制(Decimal)。

4. Characteristic Curve:

特征曲线是使用笛卡尔坐标系中的一组(x,y)来表示对应数据的对应关系的。如下图所示:假如DID D001是某个变量,支持1个Byte的数据长度,D001回复0x00,表示的是变量实际值为0,D001回复0x01,表示的是变量实际值为0.02,D001回复0x02,表示的是变量实际值为0.03,D001回复0x03,表示的是变量实际值为0.05,D001回复0x04,表示的是变量实际值为0.07。

5. Packet:

Packet这个数据类型在我理解,是将不同的小的数据类型封装到一个大的数据类型,同时能够被广泛复用。下图是我所使用的一个CDD文件中的Packet的数据类型:

在这个名为“Communication Type”的packet数据类型中,可以看到这个packet中包含四个小的数据类型,如上图所示,“normalCommunicationMessages”和“networkMangementCommunicationMessage”这两个小数据的数据类型都是一样的:

通过Bit Pos.来定位四个小数据类型的长度:“normalCommunicationMessages”的Bit Pos.是0,“networkMangementCommunicationMessage”的Bit Pos.是1,表示“normalCommunicationMessages”的长度为1个bit。

6.Multiplexer:

Multiplexer是一个可以支持多种数据类型的复合器,以我CDD模板中的一个Multiplexer的数据类型来做介绍:

上图中可以发现,Snapshot Record 10的前两个字节是0xF412的Constant数据,Byte2-3是Packet的数据类型,其实可以发现DID F412自身就是Packet的数据类型

综上,Multiplexer其实就是一个更大的Packet数据类型,可以囊括更多的数据类型。

本篇文章主要介绍了6中不同的数据类型,前三种在我的实际工作中有广泛的应用,后三种基本都是特殊诊断服务中应用到了,如果学习CDD文件,其实只要掌握前三种数据类型即可。

后言:

本人有CANdelaStudio Admin的license,最高支持CANdela V15的版本,支持CDD文件的定制化服务!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道法自然0402

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值