0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【CDD】诊断数据库创建速成班-课堂(一)

北汇信息POLELINK 2022-08-01 14:15 次阅读

每一辆车都有很多功能,比如智能驾驶功能、娱乐域功能。但是无论怎么发展,我们车辆传统的诊断功能都是必须要有的,而且是十分重要的。那么什么是车辆诊断呢,简单来说就是在通过诊断服务一问一答的方式,获取车辆内部的参数信息

车辆诊断过程:

poYBAGLmKjOAaw1DAAG0wNVGanI006.png

在我们整个汽车开发、测试、生产、售后服务过程中,都需要用到车辆诊断功能。但是这些都是由不同公司或者不同部门完成的,那么在各个阶段我们就需要统一诊断数据库,去保证整个流程中诊断需求的一致性和诊断数据的复用性。诊断数据库需要具备机器(如软件)可读的特性,从而使诊断自动化测试和诊断协议栈自动生成成为可能。诊断数据库平台还需要具备良好的交互性,便于不同格式的诊断数据库的交互和转换。

这里就给大家开一个速成班,让大家了解Vector诊断产品CANdelaStudio工具,是如何生成诊断数据库文件,保持诊断规范的一致性。

一、 CANdelaStudio简介

1.CANdelaStudio诊断规范定义

poYBAGLmLBWAZpqbAAC-74La5vs571.png

如上图所示,就是一个典型的V-L模型,从前期开发到售后阶段,以ECU的诊断数据库(对应于ECU的诊断需求)为核心。在开发阶段根据ECU诊断数据库,进行ECU诊断协议栈的实现。测试阶段根据ECU诊断数据库,生成诊断测试规范和测试用例。生产阶段,根据ECU诊断数据库,开发、应用参数化的EOL设备。售后阶段,根据ECU诊断数据库,开发、应用参数化的诊断仪。不同阶段,使用的诊断数据库格式可能不一样,但是所有的诊断数据库都源于同一个数据源。基于机器可读的诊断数据库,实现诊断在开发、测试、生产和售后阶段的需求一致性、数据复用性和诊断设备参数化。

CANdelaStudio用于定义ECU的诊断需求,支持用户创建和编辑车辆ECU诊断需求,生成诊断数据库文件(CDD),实现我们诊断需求的一致性。

pYYBAGLmLCuAcrBNAACv6_nmHKI654.png

安装CANdelaStudio软件后,会自带CDDT模板,CDD文件是由CDDT模板文件生成,生成的CDD文件也可以导入不同软件中。比如基于AUTOSAR体系,CDD文件可以导入到达芬奇软件中,生成MICROSAR Diag部分的代码;CDD文件可以导入其他Vector软件中(CANoe、CANape、Indigo等),进行诊断的手动测试;还可以导入CANoe.DiVa软件中生成诊断自动化测试用例,最终在CANoe中导入CANoe.DiVa生成的测试用例进行自动化测试。

刚才说了CDD文件是由CDDT文件生成而来,那么它们之间到底有什么区别呢?CDDT文件就是CDD的模板文件。当CDD文件生成后,我们需要明确它是由哪个CDDT文件生成。

poYBAGLmLFSAbNI3AACR47_xf9Y923.png

CDDT文件:定义宏观-整车级通信参数类型、服务列表、结构、整车通用的会话模式、安全访问、DID等

CDD文件:定义微观-单个控制器级具体的通信参数、具体的服务参数、具体的会话模式、安全访问、DID等

2.CANdelaStudio版本介绍

CANdelaStudio View:可以查看CDD文件,不能对CDD文件进行编辑

CANdelaStudio Standard:基于CDDT编辑CDD文件,但不可以编辑CDDT文件

CANdelaStudio Pro:支持多语言版本

CANdelaStudio Admin:权限最高版本,可以编辑CDDT文件

查看软件版本:

pYYBAGLmLHWAHKV8AACvaKWj3AI119.png

3.CANdelaStudio中诊断数据和架构介绍

1)工程创建方法:

点击New选择相应的CDDT模板来编辑数据库保存为CDD文件

poYBAGLmLNKAdHOvAAEc-HbK-UI284.png

点击Open,可以打开CDDT文件,编辑保存CDDT文件;或者打开一个CDD文件进行编辑保存。

pYYBAGLmLOiAXzjKAADNQv38RZI990.png

2)CDD文件结构分析:

pYYBAGLmLPeAbWmMAACmxJWPA-I347.png

Variants:变体,CDD文件的核心内容,包含一个ECU当中的所有诊断服务数据。在这里出现了Base Variant和Variants,可以简单理解为车型分高中低配,每个配置的车型对应一个Variant。在其他Vector工具(CANoe、Diva等)中导入CDD文件时可以选择相应Variant。

每个Variant下,都需要去选择所支持的类(Supported Classes):

pYYBAGLmLQuAMcKxAADWjC9xTCM767.png

打开每个类,下面都有不同的服务,比如Sessions类,下面就包含了10会话服务。可以查看支持的子功能和服务相关参数

poYBAGLmLRyAQ0vJAACTDb9jgCQ753.png

再打开DID相关的类,可以去勾选是否支持可写

poYBAGLmLSuAfcmhAADIdezEB68061.png

3)CDD数据复用性

在CDD里面的数据内容Data Types、Variants、DTC、DID等,可以通过粘贴复制来完成数据复用,从CDD1到CDD2不用重新编辑

服务架构查看:

pYYBAGLmLUSANU7gAAD7aBQ0l_A307.png

二、编辑CDD文件工程

1.创建新工程

1)接下来,我们就来通过CDDT文件创建一个新的CDD工程:

poYBAGLmLWiAVYcOAACaX6rmzuc083.png

poYBAGLmLXiAGV0XAADx6WKrWyA096.png

2)编辑作者、变更历史:Document->Revision History:

pYYBAGLmLYaALfYuAADejTbe9hw254.png

3)ECU信息描述编辑:

pYYBAGLmLZ2APfeAAADA9VqrTow625.png

4)选择相关总线接口类型:

pYYBAGLmLa-AC7UDAACmHJI5xOo206.png

2.通信参数编辑

通信参数设置:需要设置请求ID、响应ID、时间参数、波特率等

poYBAGLmLcGALAnXAAEITmQf59g098.png

3.DID编辑

DID是两个字节的标识符,不同的DID存放的数据格式不一样,比如存放多少字节的十进制数、ASCII码类型数或者线性的数据等。那么在CANdelaStudio里面如何去编辑DID呢?

首先我们需要去创建DID,一般都是选择在Base Variant里进行创建。

步骤一:新建DID

1.选择DIDs;2.选择New DID;3.编辑ID和名称。

pYYBAGLmLe2Af0DEAADjMSv9Fjs404.png

步骤二:新建Data Type

1.选择Data Type;2.选择New;3.选择需要的数据类型;4.编辑参数。

poYBAGLmLfyADTiGAAE1EQXTgj8805.png

poYBAGLmLhOAC6-jAACir80hoD4763.png

步骤三:DID与Data Type关联

1.选择DIDs,并选择之前创建的DID;2.选择相应的Data Type。

pYYBAGLmLiiAG-GOAAEqmxywgUY618.png

为什么需要Data Type呢,因为读取或者写入的DID数据都是有数据类型的,所以需要进行关联一个Data Type进行解析。常见的Data Type有Raw Value(软硬件版本号);Text Table(枚举型);Linear(线性的)。

步骤四:Class类关联

1.选择DID相关的Class类。

poYBAGLmLlOAQJDyAAEgbpiX_fU373.png

2.如果有需要定义bit的DID,先在关联Data Type处选择New Bitfield,然后在关联Data Type。

pYYBAGLmLmCASf54AABagATr1ZI186.png

poYBAGLmLm2AMuN5AAEI0ysCsTs088.png

无效值定义:

在定义Data Type时,选择Invalid Values,去定义无效值的类型。

pYYBAGLmLoyAN54gAACupzuQHpw224.png

激活/取消激活DID:

针对我们创建的DID,可以选择进行激活或者取消激活

pYYBAGLmLp-ATawlAAFOALKWL_8079.png

4.DTC故障码编辑

在创建编辑DTC之前,我们先了解一下CDD里的DTC库:

poYBAGLmLtOATm-8AAG6I8fTorc202.png

新建DTC:

1.选择DTC数据库;2.点击新建DTC;3.DTC参数编辑。

poYBAGLmLvKAL0ZuAADmu_wfl6Q111.png

DTC故障码导入/导出:

在DTC数据库中,可以将Excle表中的DTC直接导入CANdelaStudio中,也可以将CANdelaStudio中的DTC导出成Excle表格。

poYBAGLmLwOATYavAAIzQPO8sN8115.png

将DTC库中的DTC加载到Variant中:

在Primary Fault Memory的DTC Table中,右键弹出的窗口中选择Copy & Reference from Available DTCs…,即可将DTC库中的故障码加载至Variant中。

pYYBAGLmLxmALDY_AAEYDZFzkqs657.png

虽然选择Copy和Reference都可以加载DTC,但是如果我们在DTC库中有修改DTC,通过Copy的方式加载的DTC在DTC Table中不会跟着DTC库的修改而自动更新。通过Reference的方式加载的DTC可以自动更新。

0x19服务设置:

设置需要应用的0x19服务

poYBAGLmLzSAFW63AAFSnz8o4x0139.png

状态掩码设置:

1.根据需求进行Status mask设置;2.设置请求的默认值

pYYBAGLmL06Ae1Q1AADIw1baGNs266.png

DTC码总览:

在此处所有的DTC会显示出来,可以查看DTC码是否被应用。

poYBAGLmL16ANmKsAAI3TlOUOGw752.png

5.快照数据编辑

步骤一:1.定义所有DTC记录的快照数据个数;2.针对所有DTC,设置快照数据读取的DID内容。

poYBAGLmL3GAdePxAAE4JQ_FepA730.png

步骤二:1.显示所有的DTC,可以单独选择进行编辑;2.可以针对单个DTC选择需要记录快照的DID。

pYYBAGLmL32AXMrNAAD_W9RqGcA088.png

步骤三:显示快照数据的个数,可设置是否支持快照数据。

poYBAGLmL4yAKgdLAADQYQRtcZA307.png

6.扩展快照数据编辑

步骤一:1.定义扩展快照数据个数;2.设置扩展快照数据内容。

pYYBAGLmL5uAfQ0gAADmI5LEc_M167.png

步骤二:1.显示所有的DTC,可以单独选择进行编辑;2.设置是否支持扩展数据。

poYBAGLmL6mASQTLAAD0wPFAhGs122.png

本堂课关于CANdelaStudio之CDD文件速成的分享就到这里,请继续关注我们下堂课的分享。

Vector Informatik公司是全球领先的分布式系统设计开发工具、网络节点测试验证工具和嵌入式软件组件提供商,为汽车总线网络的设计、建模、仿真、分析、测试以及ECU的开发、测试、标定和诊断等过程提供一系列强有力的软硬件工具和组件,支持CAN、LIN、MOST、FlexRay、以太网、SAE J1939、OSEK和AUTOSAR等多种总线系统、协议和标准。在全球范围内,来自汽车、商用车、工程机械控制工程领域的客户都在应用Vector提供的解决方案和产品。

北汇信息作为Vector中国的合作伙伴,不仅提供相应的工具和技术支持服务及培训,还针对不同的应用提供相应的解决方案,助力中国客户的研发效率提升。欢迎联系北汇信息,为您答疑解惑!

注:图中部分图片来源于Vector

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    ODX诊断数据库转换工具 - DDC

    INTEWORK-DDC (Diagnostic Database Convertor) 是将诊断调查问卷转换为标准ODX(2.2.0)数据库的工具。DDC工具可以将易于沟通交流的Excel诊断调查
    的头像 发表于 12-31 11:22 63次阅读
    ODX<b class='flag-5'>诊断</b><b class='flag-5'>数据库</b>转换工具 - DDC

    数据库数据恢复—Mysql数据库表记录丢失的数据恢复流程

    Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分
    的头像 发表于 12-16 11:05 170次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—Mysql<b class='flag-5'>数据库</b>表记录丢失的<b class='flag-5'>数据</b>恢复流程

    数据库事件触发的设置和应用

    数据库无论对于生产管理还是很多的实际应用都非常重要。小编这次聊数据库事件触发的应用。示例使用了postgresql和Python。
    的头像 发表于 12-13 15:14 146次阅读

    数据库数据恢复—MYSQL数据库ibdata1文件损坏的数据恢复案例

    mysql数据库故障: mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库
    的头像 发表于 12-09 11:05 162次阅读

    数据库数据恢复—通过拼接数据库碎片恢复SQLserver数据库

    个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成个NDF文件,每个NDF几百GB大小。数据库
    的头像 发表于 10-31 13:21 235次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—通过拼接<b class='flag-5'>数据库</b>碎片恢复SQLserver<b class='flag-5'>数据库</b>

    Oracle数据恢复—异常断电后Oracle数据库报错的数据恢复案例

    Oracle数据库故障: 机房异常断电后,Oracle数据库报错:“system01.dbf需要更多的恢复来保持致性,数据库无法打开
    的头像 发表于 09-30 13:31 312次阅读
    Oracle<b class='flag-5'>数据</b>恢复—异常断电后Oracle<b class='flag-5'>数据库</b>启<b class='flag-5'>库</b>报错的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—Oracle数据库文件system01.dbf损坏的数据恢复案例

    打开oracle数据库报错“system01.dbf需要更多的恢复来保持致性,数据库无法打开”。
    的头像 发表于 09-21 14:25 376次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—Oracle<b class='flag-5'>数据库</b>文件system01.dbf损坏的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—SQL Server数据库出现823错误的数据恢复案例

    SQL Server数据库故障: SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库
    的头像 发表于 09-20 11:46 358次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQL Server<b class='flag-5'>数据库</b>出现823错误的<b class='flag-5'>数据</b>恢复案例

    华纳云:MySQL初始化操作如何创建新的数据库

    要在MySQL中创建个新的数据库,可以按照以下步骤进行操作: 登录到MySQL数据库管理系统中。可以使用MySQL命令行客户端或者图形化工具,如phpMyAdmin。 使用CREAT
    的头像 发表于 09-04 14:30 274次阅读

    恒讯科技分析:sql数据库怎么用?

    。 2、安装数据库软件: 在您的服务器或本地计算机上安装所选的数据库软件。 3、配置数据库服务器: 根据需要配置数据库服务器设置,包括内存分配、存储位置、网络配置等。 4、
    的头像 发表于 07-15 14:40 364次阅读

    数据库数据恢复—SQL Server数据库所在分区空间不足报错的数据恢复案例

    Server数据库故障: 存放SQL Server数据库的D盘分区容量不足,管理员在E盘中生成了个.ndf的文件并且将数据库路径指向E盘继续使用。
    的头像 发表于 07-10 13:54 514次阅读

    7月15日开班啦! | Cadence 高速项目设计暑假速成班

    一年一度暑假季高考结束,暑假已至!在这一年一度的暑假季里,机遇与成长相伴。李老师满怀热忱,计划安排次Cadence高速项目设计速成班,本次培训将带领大家完成高速实例项目设计。课程介绍
    的头像 发表于 07-06 08:12 304次阅读
    7月15日开班啦! | Cadence 高速项目设计暑假<b class='flag-5'>速成班</b>

    数据库数据恢复—raid5阵列上层Sql Server数据库数据恢复案例

    数据库数据恢复环境: 5块硬盘组建组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql Server数据库,存储空间在操作系统层面划分
    的头像 发表于 05-08 11:43 519次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—raid5阵列上层Sql Server<b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复案例

    数据库数据恢复】Oracle数据库ASM实例无法挂载的数据恢复案例

    oracle数据库ASM磁盘组掉线,ASM实例不能挂载。数据库管理员尝试修复数据库,但是没有成功。
    的头像 发表于 02-01 17:39 529次阅读
    【<b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复】Oracle<b class='flag-5'>数据库</b>ASM实例无法挂载的<b class='flag-5'>数据</b>恢复案例

    labview与sql数据库连接5种方法

    数据库的技术,可以通过调用ADO.NET提供的函数来连接和操作数据库。在LabVIEW中,可以使用ADO.NET连接SQL数据库。具体步骤如下: 在LabVIEW中创建
    的头像 发表于 01-07 16:01 4944次阅读