职贝云数AI新零售门户
标题:
基于ODX诊断测试开发(2): ODX数据库解析
[打印本页]
作者:
花眠故里
时间:
2023-2-23 08:37
标题:
基于ODX诊断测试开发(2): ODX数据库解析
1.前言
上回系列文章《基于ODX诊断测试开发(1): ODX数据库分析》简单引见了ODX文件类型及各个文件层级结构,本期我们来详细引见下ODX数据库如何解析。
往期回顾:
在展开注释之前,先阐明一下,此文引见的解析ODX数据库的目的所在。针对触及诊断功能类(如DTC等)测试的项目,完成过程大致为两步:先经过CANoe-CAPL完成通用的诊断功能测试脚本的开发;当针对详细ECU实施测试时,根据该ECU的诊断数据表,完成上述通用脚本的参数配置,可以手动配置(效率较低)或经过解析诊断数据表完成自动配置。过往项目中,诊断数据表既有Excel表格也有ODX格式。为此,北汇开发了诊断数据表的解析模块(支持Excel和ODX格式),完成对测试脚本参数的自动配置,从而提高效率。
2.ODX完成方式
ODX运用一致建模言语UML类图来描画的,ODX数据又是经过XML文件格式来储存的。我们知道类包含属性和方法,同时具有封装、承继、多态等特点。那么如何将UML映射为XML呢?ISO22901-1规范做出如下规定:
将UML类映射为XML的元素;
假如UML中类的属性有《attr》标记,则将该属性映射为XML元素的属性;假如UML中类的属性无《attr》标记,则映射为XML元素的子元素。假如UML属性有《content》标记,则映射为XML元素的内容;
假如类B经过Aggregation和composition和类A建立联络,则类B映射为XML 类A元素的子元素;
假如类B经过association和类A产生关联,则在XML中通常以援用的方式完成,如《snref》,《snpathref》或《odxlink》;
UML类图中的承继关系,在XML中以<PARENT-REF>的方式完成;
注:Aggregation、composition和association为UML类图之间的关系,在这里不做详细引见。
图1和图2就是根据以上规则,将UML转化为XML的例子。
(, 下载次数: 3)
上传
点击文件名下载附件
图1
(, 下载次数: 1)
上传
点击文件名下载附件
图2
3.ODX承继-值承继
值承继属于ODX中的核心概念,面向对象承继的概念用于诊断数据模型具有如下优点:
(1)多个ECU变体对诊断数据的复用;
(2)对于ECU运用于多个项目的状况,可以提取公共数据,ECU变体中只保留不同的数据,从而减多数据冗余;
(3)提供了数据安全和可集成性。
在上一期我们简单引见了下ODX承继,为了避免数据的反复冗余,ODX将诊断层分为了5个层级。如图3所示,其中,Protocol具有普通性,ECU Variant具有特殊性,ECU Shared Data相似一个library,可以为其他层提供数据和服务。
(, 下载次数: 1)
上传
点击文件名下载附件
图3
我们知道,ODX中的承继关系,在XML中以<PARENT-REF>的方式完成的,假如承继的数据中有部分数据不适用,可以经过<NOT-INHERITED-DIAG-COMM>去除不适用的数据。从图4的例子中可以看出,该ECU不支持level3和level4解锁等级。
(, 下载次数: 1)
上传
点击文件名下载附件
图4
4.ODX解析思绪简介
当我们拿到一份ODX或者PDX(PDX是将一系列ODX文件打包)时,如何展开解析工作呢?
(1)首先找到ECU的Base Variant文件。
(2)在Base Variant中查找承继关系。
(3)在Base Variant文件中查找对应的ECU变体即ECU Variant。
(4)在ECU Variant文件中查找对应的诊断服务和数据。
(, 下载次数: 1)
上传
点击文件名下载附件
图5
5.ODX解析实际
根据章节3的ODX解析思绪,获得的解析结果见图6、7和8。其中ECU Shared Data作为library,提供了通用的诊断服务,见图6;而ECU变体BCM 88890251 A除了承继Base Variant的通用诊断服务,还添加了多个DID、RID、IO Control,同时去除了19 15、27 05和27 06这些不适用的服务。图8展现了ODX中包含的多种数据类型,这里不再详细引见。
(, 下载次数: 1)
上传
点击文件名下载附件
图6
(, 下载次数: 2)
上传
点击文件名下载附件
图7
(, 下载次数: 1)
上传
点击文件名下载附件
图8
6.总结
相较于传统的Excel格式的诊断数据交换的不便性,ODX一致了诊断文件的格式,在研发、测试、消费和售后等部门传递交换时,不需求停止格式转换,因此,很多OEM末尾运用ODX。目前,北汇曾经开发基于ODX的诊断自动化测试方案,感兴味的小伙伴可以一同交流。
参考文献
[1] ISO 22901-1
<hr/>
更多诊断测试相关文章:
基于ODX诊断测试开发(1):ODX数据库分析 - 知乎 (zhihu.com)
科普系列:诊断路由类型简介及测试实际 - 知乎 (zhihu.com)
<hr/>作者:北汇信息——zh
喜欢此篇文章欢迎
赞同、评论、收藏、分享
支持小编~
更多相关资讯及业务引见,欢迎访问
上海北汇信息官方网站
:上海北汇信息科技有限公司
商务合作资讯联络方式
:
电话
:021-34716271
邮箱
:info@polelink.com
其它平台官方账号:
CSDN:
北汇信息的博客_上海北汇信息科技有限公司_CSDN博客
Bilibili:
哔哩哔哩 ( ゜- ゜)つロ 乾杯~ Bilibili——各种演示教学视频任你学习!
更多技术干货,行业前沿动态,请关注
上海北汇信息官方公众号:Polelink_Info
北汇信息成立于2010年,是一家技术驱动的创新型服务企业。北汇信息一直专注于汽车电子范畴的新技术和新产品,为整车厂和零部件企业提供残缺的研发、测试处理方案。从测试工具、公用测试设备、残缺测试方案到实车测试服务,我们与我们的客户一同努力,让中国的汽车变得越来越安全、越来越温馨、越来越智能。
欢迎光临 职贝云数AI新零售门户 (https://www.taojin168.com/cloud/)
Powered by Discuz! X3.5