CDD文件的编辑与设置

1:cdd文件的重要性

CDD文件是我们执行开发,诊断测试中最为重要的一个文件,学会编辑,修改CDD文件对于我们来说很重要

2:编写cdd文件前,需要做的工作

**1)你首先安装一个CandealStudio程序到你的电脑上,一般安装CANoe时已经安装过了,大家需检查自己电脑,没有的话去官网下载即可。

**2)你首先需要一个带CandealStudio编辑权限的license,license具有三个种类,

        #1Standard模式,

基于模板新建一个诊断数据库,更改诊断数据库的内容(更改DID,DTC这些);

       #2Pro模式

支持多语言的,也就是添加支持德语,日语,

       #3Admin模式

相比Standard模式,可以对CDDT进行编辑和更改,这些在Standard模式下是无法实现的。

**3)你必须有一个诊断规格书,有些公司叫做诊断调查表。反正本质就是一份对诊断归纳的一份表格或文字说明

3:开始编辑CDD文件

3.1 如何打开CandealStudio软件

步骤1:连接带有CDD编辑权限liences的工具到电脑上:

步骤2:打开CandealStudio软件,如下图,红框中,提供了三种语言格式的工具,我们要选择english版本的,如果精通德语和日语,那你随便

3.2 选择合适CDDT的模板文件 

**1)CDDT和CDD的区别和联系

主要是用于整车规范的制定(新建或者删除服务,服务是否支持肯定响应抑制位;DTCtable里的内容),CDD是基于CDDT继续特殊定制。

**2)利用工具CDD和CDDT文件也是可以相互转换的

回到主题,打开软件后选择file-》new新建一个cdd文件

注意看图中的文件类型是CDDT,我们先要选取一个模板文件,就可以创建一个cdd文件了。

这里需要注意的是,CDDT模板文件,每个不同的主机厂都有自己的一套模板,即使同一个主机厂,不同的项目模板文件也会有区别。我们编辑cdd文件时,需要选择合适的模板。

如果连模板都没有的话,可以选择工具自带的模板来编辑cdd暂时应对一下。

或者自己先编辑一版符合要求的CDDT文件,这样对我们工具license的要求又高了。

3.3 依据框架填写式的编辑

CDDT模板文件打开后,得到如下一幅类似树的结构图文件,我们只需要从上到下依次填写,就可以得到一份我们需要的CDD文件,下图是软件自带的一份模板文件。

3.3.1 先从variant开始来了解CDD文件的架构

 机翻的错误很多,更正一下

  • variant 可以理解为,一种文件结构。这个结构包含了class(类)和instance的子模块。
  • variant是cdd文件的组成单元,有一系列特征,每个cdd文件中,必须有一个variant,通常名称是 base variant。以这个base variant为模板,通过增加,删除等动作,可以新建其他variant

3.3.2 ECU Iformation

我们将该选项完全展开,得到如下图

我们还是从上到下依次点击和编辑

**1)ECUinformation

**Name:就输入对应的ECU名称即可,这里我们就改成HVAC(热管理系统)

**中间的工具栏

这些都是底下Description编辑器中的文本,设置的工具,设置字体大小,是否加粗,是否斜体,是否下划线,调整文本段落结构,字体颜色等等。。。大家可以自行尝试一下,这里没有特别重要的点

**2)Supported Interface 支持接口

如图所示,存在四种can类型可以选择,但是CDD license无法编辑,只能在CDDT中去选择编辑,既然这样我们不过多关注

 **3)Supported Interface 支持接口

 如上图,定义了诊断中很多的属性和参数,简单列举一下,诊断ID的类型,诊断ID多少,传输网络层的时间参数,应用层的时间参数,状态维持的服务数据,波特率,诊断填充数据等等,大家可以自行打开一个仔细观察都定义了啥

这些参数都是在cddt中定义的,cdd中是无法编辑的,这里需要注意

3.3.3 Diagnostic Trouble Code 即DTC

先看主体结构如下

先是一个标题,标题下面,分为了两个子类

子类1:叫做DTC Pool     可以理解为,是一个

子类2:叫做DTC Variants

3.3.3.1 :DTC Pool    操作和界面介绍

**1)标题栏,没有什么重要信息,主要是CDDT中定义的一些声明和说明信息

**2)DTC Pool Fault Memory(24bit 3个Byte)

新建一个DTC,在DTC展示区鼠标右键单击,出现选择菜单,如下,选择New DTC Code

找到新建的DTC,如下图

选中这个新建的DTC,右键单击选择properties(这里是个复数形式,说明了属性存在多个)如下两图

重点关注DTC的编辑界面,主要可以分为两个部分

部分1:导航部分

给编辑增加了便利 

部分2:属性说明和定义部分

** General:如上图主要是对DTC置位,复位消除,自消除逻辑的一些,文字描述

**Authorization 

这里看到 有两个属性可以选择配置,Required in all variants  和May be modified ,这里均不能修改(难道又是CDDT定义的?)

vehicle System Group 和Attributes都是没什么可以修改的地方

总结:此处的故障代码,均是不能自主编辑,那能添加还有什么意义?还是因为LICENSE的原因

回到主界面

  1. DTC Export  可以将pool中设置好DTC导出,我们看看导出的格式是什么?,从图中可以看出,文件格式大致分为表格格式,odx格式,和一个CDI格式(CDI我也不知道是什么东西)
  2. 我们选一个最常见的excel表格格式,直接保存。然后打开,如下图所示

 3.3.3.2 DTC Variant Overview Fault Memory

打开后界面如下

大家放大一点,可以看到

这里显示了DTC被那些variant包含了,有没有被DTCpool包含等。。

同样的也显示了,哪个variant和哪一个sanple中存在这个DID 

3.4 独立的DID OverView

就是一个预览页面,等我们在variant中编辑好了数据,就可以直接在这里检查编辑有没有错误,DID的数量有没有遗漏等操作。界面如下图

4:library

4.1 新建library

鼠标移动到libary处,鼠标右键单击,选择第一个“Create New Library”新建一个library。

library我的理解,是一个库

如图所示,我们新建了两个库

4.2 库中的配置和设置

可以看到,库里新建的Newlibrary 存在两个子选项,一个是DIDS,另外一个是“Support Diagnostic Class”(就是支持的class)

我们依次从上点击

4.2.1 library的总览界面

library总览界面底下,还有几个选项,如下图

   关于Lock library,点击这个图标后,会有一段显示,如下图

 4.2.2 library中的DID设置

然后接下来展开库,选择DID

我们发现箭头标注处,不可以选择,原因在于新建的没有导入Attribute, 导入后便可以创建DID了。

CDD文件把这个叫做 "DID Diagnostic Instance"(DID诊断实例???)

 4.2.3 library中的"Support Diagnostic Classes_Session"设置

点击"Support Diagnostic Classes"选项并将其展开,单击该选项,选择

随后点击确定,我们勾选的Class,将会显示在 "Support Diagnostic Classes"子文件夹中。

**1)以session为例,来讲解如何具体的设置过程

将“session”展开,得到上图,鼠标单击“Default Session”,关注左边的设置界面,如下图

1:有些模板下,此界面下可能不显示否定响应,采取下图方式即可

2:重点是设置会话服务中的其他数据 

1:注意,界面下方有一段浅色字体“Please click here to create element”(点击此处,创建element),会默认添加一个Data Object。

但是此处还能添加其他类型的数据,鼠标右单击,如下界面;

红框中,显示可以添加2种,数据类型(data object)和Bitfield。其他三种类型是在模板中选择,或以模板为参考,选择性的将部分属性添加。

这一段,比较难以理解,打个比方,我们编写一些技术资料时,通常都会选择一个模板,但是有时候模板也不能满足我们的要求,此时我们是不是可以找个类似产品的文档作为参考,在这个基础上编写新产品的文档。

2:参数设置的具体细节

就是需要将下图中,标选的选项依次设置

从左往右依次显示的是

1:Byte(字节位置)

2:bit (信号如果不是整个字节,则需要标注其在哪个字节中的起始bit位)。

3:name 可以按照诊断调查表中数据的名称填写,即可

4:DataType 数据类型,这个需要预先定义好!而且比较复杂,我们这里存在已经定义好的DataType,我们选择一个DataType,选择下拉列表,如下图。可以看到所有已经定义好的DataType。

3:参数设置的具体细节——NRC的定义

  4.2.3 library中的"Support Diagnostic Classes_Identification"设置

和上个章节一致,先鼠标单击“ Identification”,总览如下图

 新建关于DID的Istance,上个总览界面视图下,左下角,存在一个新建按钮。如下图

鼠标点击一下,出现一个提示选项,如下图

这个提示是指?library中的添加的DID,是否作为其他几个variant的reference。一般全选,然后点击yes即可。

部分同学,走完这一步,有点蒙圈,新建的DID去哪了,下图解释了

需要编辑新建的DID,直接双击,进入编辑界面,如下图

  4.2.4 library中的"Support Diagnostic Classes_Security"设置

直接看图,不在赘述。。。

    4.2.5 library中的"Support Diagnostic Classes_FaultMemory"设置

这个class是指对DTC,以及DTC相关的一些诊断数据,进行设置,故看起来也是比较复杂。

如果读者对uds诊断中的Mask掩码,诊断19子服务,故障码snapshot,extense data record 等,诊断判定的起始条件,DTC老化计数等概念了解不清楚,建议直接找一份ISO-14229-1.彻底搞懂后,再来看此段。

   4.2.5.1 DTC Setup

首先我们要确定最基本的,就是采取哪一种诊断协议,一般现在乘用车都是使用ISO-14229-1,就是UDS协议。

 **1)简单了解下 ISO15031-6中的DTC结构

提取信息ISO15031-6中的DTC是两个字节长度,与ISO14229-1中定义的三个Byte是不一样的。

 **2)简单理解下J1939协议:

19+5+7+1=32/8=4Byte,故也是4个字节,和ISO14229-1中定义的DTC字节数一致。

4.2.5.2 Service的设置

 

可以看到,诊断数据简单分类为6种,此界面可以设置其中4种,我们从左往右看。

       DtcStatusMask:DTC状态掩码,这是大家都比较熟悉的 ,我们根据诊断调查表,选择勾选相关的选项即可。

format Identifier 数据格式,这里的yy是指DTC的数据格式。

   GroupOfDtc

根据诊断调查表,勾选即可,从图表中可以看出,ww是专门针对0x14服务的,ww是相关三个字节

**1)Emission-relate systems :发射相关的系统

**2)Powertrain ;动力域 0x10 00 00

**3)chassis group 底盘域 0x 40 00 00

**4)body group 车身域 0x80 00 00

**5)Network communication group 0x C0 00 00 。网络域 0x C0 00 00

但是通常使用时,0x FF FF FF,即清除所有DTC,诊断时,是以ECU为单位的,现在情况下一个ECU一般只负责一个域,反应在DTC上,只包括,动力域/底盘域/车身域3选1,和NCG(网络通讯域),如果只想清楚其中一个域,就需要知道这些值

  RC相关,即可以为不同的服务子功能,添加合适的NRC,按照诊断调查表的说明添加即可

4.2.5.3 DTCs的设置

接下来, 看看设置详情,

此处很多性质设置时,需要前提设置好相关参数。

4.2.5.4 EventSetup的设置

Opetation Cycle,操作循环,操作循环的意思,在于DTC检测中,DTC存在一个计数counter

那么这个counter,多久加一次,

这里说明一下常见的检测循环:

**1)Ignition,一般就是OFF-ON-OFF是一个循环

**2)Time循环,就是以固定的时间为检测循环

Debounce Algorithms (防反跳算法)

Count-Base,如下图新建和设置

  4.2.4 library中的"Control DTC"设置

直接树形界面移动到此处,然后右击菜单选择“New Diagnostic Instance”。

如图所示,我们按照诊断调查表填写即可,其他class我们也按照诊断调查表,和之前的设置经验填写完成即可。

5:Variant 的设置

studeal工具默认的是,varint是完全继承,library中的全部性质。我们根据实际项目,如一个项目中分为高中低三个型号,我们就在variant中设置3个Sample,根据诊断调查表依次删除多余项目即可。

6:State

点击开来,显示存在3个小项

6.1 StateGroup

感觉像是Session中的NRC设置,暂时还没搞清楚这个选项具体干嘛?

6.2 Dependencies

7:VehicleSystemGroup

7.1 DataTypes

如果数据中不存在我们需要的DataTpye,我们就需要自行设置新的DataType

要实现Indigo参数化诊断仪中的诊断数据复用,可以利用其支持的CDD和ODX文件格式。这些标准化文件允许诊断数据在车辆的整个生命周期中被轻松复用,从而避免了数据的重复创建和维护。具体来说,你可以从研发阶段获取CDD或ODX文件,并将这些文件导入到Indigo中,这样就可以在后续的生产、测试和售后服务中使用同一套诊断数据。 参考资源链接:[Indigo参数化诊断仪的二次开发应用](https://wenku.csdn.net/doc/88ersxhzj1?spm=1055.2569.3001.10343) 至于通过二次开发支持自定义诊断测试序列,Indigo提供了一套脚本编程接口,允许用户通过脚本语言编写自定义的诊断测试序列。这些脚本通常使用类似于C语言的语法,允许开发者创建复杂的测试逻辑。用户可以通过Indigo的脚本编辑器编写脚本,或者导入现成的脚本文件,并通过图形化界面进行调整和测试。 为了更好地掌握这些技术细节,推荐查阅《Indigo参数化诊断仪的二次开发应用》一书。该书详细介绍了Indigo的二次开发工具和接口,并通过丰富的示例展示了如何复用诊断数据以及如何通过编程扩展诊断功能。在阅读这些内容后,用户将能够有效地利用Indigo的参数化优势,提高诊断工作的效率和质量。 参考资源链接:[Indigo参数化诊断仪的二次开发应用](https://wenku.csdn.net/doc/88ersxhzj1?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值