CANdela/Diva系列6--CANdela Studio中Data Types在DID中的应用

在上篇文章中(CANdela/Diva系列5--CANdela Studio的Data Types功能介绍),给大家介绍了6中不同的Data Type,本篇文章给大家介绍一下Data Types在DID 编辑中的应用。

目录

1. DID 的需求:

2. 创建对应的Data Types:

2.1 Vehicle Speed对应的Data Type:

2.2 Current gear对应的Data Type:

2.3 Operating voltage value对应的Data Type:

2.4 Odometer对应的Data Type:

2.5 year对应的Data Type:

2.6 month对应的Data Type:

2.7 day对应的Data Type:

2.8 hour对应的Data Type:

2.9 minute对应的Data Type:

2.10 Sec对应的Data Type:

2.11 ECU Temperature对应的Data Type:

3.Data Types在DID中的应用:

后言:


1. DID 的需求:

首先我们拿到一个ID 为0x0500,名为snapshot record的DID信息,可以发现这个DID包含了“Vehicle Speed”、“Current gear”、“Operating voltage value”、“Odometer”、“year”、“month”、“day”、“hour”、“minute”、“Sec”、“ECU Temperature” 这11中数据,我们先根据下图的表格去创建这个DID 所需要的Data Types.

图1

2. 创建对应的Data Types:

2.1 Vehicle Speed对应的Data Type:

从图1可以读取到如下信息:Vehicle Speed的数据长度是2个byte,物理值与实际值的转化关系如下:phys=hex*0.05625,单位是km/h,最小值是0,最大值是299.98125,首先我们可以在Data Types中去New一个新的“Linear” 的Data Type:

1.将新的Data Type名字更改为DTC Snapshot VehicleSpeed;

2.将length改成2个byte;

3.在Factor下方的空格处填写0.05625;

4.在Unit下方的空格处填写km/h;

5.将Dispaly Format更改成Floating Point;

6.最后点击OK,这样就创建好了Vehicle Speed对应的Data Type。

2.2 Current gear对应的Data Type:

从图1可以读取到如下信息:Current gear的数据长度是1个byte,物理值与实际值的转化关系为枚举类型,单位是rpm,最小值是0,最大值是15,首先我们可以在Data Types中去New一个新的“Text Table” 的Data Type:

1.将新的Data Type名字更改为DTC Snapshot Gear;

2.将length改成1个byte;

3.在Coding下面根据如下关系去填写:

0=invalid
1='P' drive gear
2='R' drive gear
3='N' drive gear
4='D' drive gear
5=Not used
6=Not used
7=Not used

4.最后点击OK,这样就创建好了Current gear对应的Data Type。

2.3 Operating voltage value对应的Data Type:

从图1可以读取到如下信息:Operating voltage value的数据长度是1个byte,物理值与实际值的转化关系为phys=hex/10,单位是V,最小值是0,最大值是25.5,首先我们可以在Data Types中去New一个新的“Linear” 的Data Type:

1.将新的Data Type名字更改为DTC Snapshot Operating Voltage;

2.将length改成1个byte;

3.在Divisor下方的空格处填写10;

4.在Unit下方的空格处填写V;

5.将Dispaly Format更改成Floating Point;

6.最后点击OK,这样就创建好了Operating voltage value对应的Data Type。

2.4 Odometer对应的Data Type:

从图1可以读取到如下信息:Odometer的数据长度是3个byte,物理值与实际值的转化关系为phys=hex/10,单位是km,最小值是0,最大值是999999,首先我们可以在Data Types中去New一个新的“Linear” 的Data Type:

1.将新的Data Type名字更改为DTC Snapshot Odometer;

2.将length改成3个byte;

3.在Unit下方的空格处填写km;

4.将Dispaly Format更改成Decimal;

5.将最大值改成999999;

6.最后点击OK,这样就创建好了Odometer对应的Data Type。

2.5 year对应的Data Type:

从图1可以读取到如下信息:year的数据长度是1个byte,物理值与实际值的转化关系为phys=hex+2000,最小值是2000,最大值是2255,首先我们可以在Data Types中去New一个新的“Linear” 的Data Type:

1.将新的Data Type名字更改为DTC Snapshot Year;

2.将length改成1个byte;

3.在Offset下方的空格处填写2000;

4.将Dispaly Format更改成Decimal;

5.最后点击OK,这样就创建好了year对应的Data Type。

2.6 month对应的Data Type:

从图1可以读取到如下信息:month的数据长度是1个byte,物理值与实际值的转化关系为phys=hex,最小值是1,最大值是12,首先我们可以在Data Types中去New一个新的“Linear” 的Data Type:

1.将新的Data Type名字更改为DTC Snapshot  Month;

2.将length改成1个byte;

3.将最小值改成1;

4.将最大值改成12;

5.将Dispaly Format更改成Decimal;

6.最后点击OK,这样就创建好了month对应的Data Type。

2.7 day对应的Data Type:

从图1可以读取到如下信息:day的数据长度是1个byte,物理值与实际值的转化关系为phys=hex,最小值是1,最大值是31,首先我们可以在Data Types中去New一个新的“Linear” 的Data Type:

1.将新的Data Type名字更改为DTC Snapshot  Day;

2.将length改成1个byte;

3.将最小值改成1;

4.将最大值改成31;

5.将Dispaly Format更改成Decimal;

6.最后点击OK,这样就创建好了day对应的Data Type。

2.8 hour对应的Data Type:

从图1可以读取到如下信息:hour的数据长度是1个byte,物理值与实际值的转化关系为phys=hex,最小值是0,最大值是23,首先我们可以在Data Types中去New一个新的“Linear” 的Data Type:

1.将新的Data Type名字更改为DTC Snapshot  Hour;

2.将length改成1个byte;

3.将最小值改成0;

4.将最大值改成23;

5.将Dispaly Format更改成Decimal;

6.最后点击OK,这样就创建好了hour对应的Data Type。

2.9 minute对应的Data Type:

从图1可以读取到如下信息:minute的数据长度是1个byte,物理值与实际值的转化关系为phys=hex,最小值是0,最大值是59,首先我们可以在Data Types中去New一个新的“Linear” 的Data Type:

1.将新的Data Type名字更改为DTC Snapshot  Minute;

2.将length改成1个byte;

3.将最小值改成0;

4.将最大值改成59;

5.将Dispaly Format更改成Decimal;

6.最后点击OK,这样就创建好了minute对应的Data Type。

2.10 Sec对应的Data Type:

从图1可以读取到如下信息:Sec的数据长度是1个byte,物理值与实际值的转化关系为phys=hex,最小值是0,最大值是59,首先我们可以在Data Types中去New一个新的“Linear” 的Data Type:

1.将新的Data Type名字更改为DTC Snapshot  Second;

2.将length改成1个byte;

3.将最小值改成0;

4.将最大值改成59;

5.将Dispaly Format更改成Decimal;

6.最后点击OK,这样就创建好了Sec对应的Data Type。

2.11 ECU Temperature对应的Data Type:

从图1可以读取到如下信息:ECU Temperature的数据长度是1个byte,物理值与实际值的转化关系为phys=hex-40,单位是℃,最小值是-40,最大值是100,首先我们可以在Data Types中去New一个新的“Linear” 的Data Type:

1.将新的Data Type名字更改为DTC Snapshot ECU Temperature;

2.将length改成1个byte;

3.在Offset下方的空格处填写-40;

4.在Unit下方的空格处填写℃;

5.将最大值改成100;

6.将Dispaly Format更改成Decimal;

7.最后点击OK,这样就创建好了Sec对应的Data Type。

通过创建上述的11个数据类型,可以用到DID 0x0500中啦!

3.Data Types在DID中的应用:

在DIDs中去创建一个新的DID,ID值为0x0500,然后按照顺序,将我们在步骤2中创建的Data Types一个一个的添加,可以发现,选择对应的Data Type,所定义的数据长度会在右侧显示出来:

最终添加完后的DID的overview如下所示:

后言:

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

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

道法自然0402

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

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

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

打赏作者

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

抵扣说明:

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

余额充值