ODX介绍(2)[ DiagLayerStructure]
ODX data model for diagnostics
DIAG-LAYER
提供tester与ECU诊断通讯的信息,如诊断参数,诊断服务等。所有ECU特定通讯参数被包含在ODX中,tester完全由数据驱动,当测试另外一个新ECU时,软件不需要改动,只加载相应的ODX data即可。
为了避免诊断数据的重复冗余,比如,某个ECU根据高低配置,有几个变种,它们的诊断数据部分可能不同,ODX将这些数据分为了5个层次,从上到下依次为:
PROTOCOL,
FUNCTIONAL-GROUP,
BASE-VARIANT,
ECU-VARIANT.
ECU-SHARED-DATA类似与lib的机制,为其他4层提供服务。
实现策略
实现分层数据模型,达到各层数据的抽象,这种特殊继承方式叫值继承,并且底层对象(specialized)可以覆盖(overriding)上层对象(general);
创建框架支持ECU 变种和base变种;
定义D-server应用可见的对象,如DIAG-SERVICE(下面讲);
UML表示的诊断层次模型图:
例子
下图是一个这些分层的diag 层数据的例子;
⎯ a protocol (ISO 15765);
⎯ two base variants (a body control module BCM and a door control module DCM);
⎯ two variants of the BCM and one variant of the DCM;
⎯ a library to collect globally defined PIDs (parameter identifiers);
⎯ a functional group definition to allow functional communication to the complete DOORS system
(functional addressing).
Diag layer的共性
DIAG_LAYER集合了以下组件:
- REQUEST 对象;
- POS-RESPONSE, NEG-RESPONSE, GLOBAL-NEG-RESPONSE 响应对象;
- ADMIN-DATA and COMPANY-DATA 对象;
- FUNCT-CLASS对象,用来分类DIAG-COMM包含的对象,语义由用户自定义;
- DOP-BASE and TABLE,DIAG-DATA-DICTIONARY-SPEC:包含数据元素,用来解析诊断消息;
- DIAG-COMM对象:DIAG-SERVICE和SINGLE-ECU-JOB的抽象,被暴露给D-server;
- ADDITIONAL-AUDIENCEs
- STATE-CHARTs
- LIBRARYs;
- SUB-COMPONENTs
UML视图如下:
DIAG-Layer数据模型包括众多对象,建议从DIAG-SERVICE 对象(XML中,称为元素)入手,作为诊断服务数据的根节点,其结构如下
对象都是可以复用的,一个对象链接到另一个对象可以通过reference形式(links in XML),
值继承
值继承属于ODX中核心概念,让对象继承的技术用于诊断数据模型:
- 多个ECU或ECU变种对诊断数据的复用;
- 抽离出各个ECU项目中不同的数据并说明,而不是重复相同数据,从而减少数据量;
- 提供了数据安全和可集成性;
值继承是不同诊断层的一种关系,比如在类 PROTOCOL, FUNCTIONALGROUP,
BASE-VARIANT, ECU-VARIANT and ECU-SHARED-DATA之间,意味着包含在DIAG-LAYER A的数据对象,通过在DIAG-LAYER B中建立到A的值继承关系,也可以被包含进B中。
diag layer的一种类型(PROTOCOL, FUNCTIONAL-GROUP, BASE-VARIANT, ECU-VARIANT
or ECU-SHARED-DATA)只能继承diag-layer的其他指定类型,比如,一个diag layer不能继承其他diag layer的同种类型,它们之间继承关系如下图所示:
较高层次的diagnostic layer被认为“more general”,较低层的被认为“more special”,
只有下面的类对象遵从值继承:
⎯ DIAG-COMM (its specializations);
⎯ DIAG-VARIABLE;
⎯ GLOBAL-NEG-RESPONSE;
⎯ DOP-BASE (its specializations);
⎯ TABLE;
⎯ FUNCT-CLASS;
⎯ VARIABLE-GROUP;
⎯ ADDITIONAL-AUDIENCE;
⎯ STATE-CHART;
⎯ UNIT-GROUP.
下表2展示了可能的值继承关系
值继承规则及优先级
这里不做详细说明,参考ISO22901-1 章节7.3.2.4.3,7.3.2.4.4,7.3.2.4.5
ODX介绍(2)[ DiagLayerStructure]相关推荐
- 【ODX介绍】-1- 标准梳理
总目录:(单击下方链接皆可跳转至专栏总目录) <UDS/OBD诊断&诊断描述文件CDD>总目录(全网最全诊断梳理)https://blog.csdn.net/qfmzhu/arti ...
- 【ODX介绍】-3.1-ODX-D,ODX-F,ODX-C,ODX-V,ODX-M的XSD文件
ODX-D,ODX-F,ODX-C,ODX-V,ODX-M文件实质是一个XML(XML Schema Definition)文件.和XML文件一样,ODX文件一般通过标准的XSD进行约束. 关于XSD ...
- 【ODX介绍】-2-如何手动编辑PDX文件以及PDX结构介绍
总目录:(单击下方链接皆可跳转至专栏总目录) <UDS/OBD诊断&诊断描述文件CDD>总目录https://blog.csdn.net/qfmzhu/article/detail ...
- 【ODX介绍】-3-ODX文件结构分解
目录 1 ODX描述语言 2 ODX Instance结构 2.1 DIAG-LAYER 2.1.1 ODX-D-XML实现 2.2 COMPARAM-SPEC 2.3 MULTIPLE-ECU-JO ...
- ODX介绍(4)[Data Stream]
本文描述tester和ECU之间的通信数据流,主要有两部分: - 请求 - 响应 了解UDS通信过程的对下图应该不陌生 tester通过SID 23服务,请在204813h开始的地址,请求都3个字节数 ...
- 【ODX介绍】-4.3-UDS诊断$3E服务在ODX-D诊断描述文件中如何描述
共18页精讲:应用领域:读懂ODX-D诊断描述文件:制作生成ODX-D/PDX文件的脚本. 附ODX-D:UDS $3E TesterPresent服务. 目录 1 ODX-D描述一个UDS $3E ...
- 【ODX介绍】-5-用于Flash刷写的ODX-F文件概述
总目录:(单击下方链接皆可跳转至专栏总目录) <UDS/OBD诊断需求编辑工具>总目录https://blog.csdn.net/qfmzhu/article/details/123697 ...
- 【ODX介绍】-4.26.3-OBD诊断$09服务Request vehicle information(CVN)在ODX-D诊断描述文件中如何描述
点击返回「<UDS/OBD诊断需求编辑工具>总目录」 共34页精讲:应用领域:读懂ODX-D诊断描述文件:制作生成ODX-D/PDX文件的脚本. 附ODX-D描述:OBD $09 Requ ...
- 【ODX介绍】-4.1-UDS诊断$10服务在ODX-D诊断描述文件中如何描述
共18页精讲:应用领域:读懂ODX-D诊断描述文件:制作生成ODX-D/PDX文件的脚本. 附ODX-D:UDS $10 Session会话服务0x01 Sub-Function,其它Sub-Func ...
最新文章
- DevDays2012 开发者日中文版资料下载
- 2018年人工智能13大预测
- 批量下载的实现及java.lang.IllegalStateException异常
- axios的简单封装和http请求实践
- 年过30 ,这10条人生建议句句肺腑
- js实现字体和容器宽高随窗口改变
- Unity UGUI实现鼠标拖动图片
- html表格布局方式有那几种,前端几种常见的布局方式
- 【转】同步的HttpClient使用详解
- Bailian2786 Pell数列【数列】(POJ NOI0102-1788,POJ NOI0103-1788)
- eclipse启动失败,报an error has occurred.see the log file错
- python代码怎么样_python代码怎样清屏
- Go程序设计语言1.1 hello,world
- touchpanel驱动
- 可变剪切(选择性剪接)rmats2sashimiplot可视化安装与使用
- Vue3和Vue2组件单元素的过渡
- VirtulBox安装虚拟机(鼠标点击时)0x00000000指令引用的0x00000000内存该内存不能为written错误解决方案...
- 【车载开发系列】UDS诊断---DTC故障码基础回顾
- 归一化数字角频率_数字信号处理中的各种频率
- 【点云系列】基于图结构的点云快速重采样 翻译
热门文章
- 软件的分类及应用领域
- webgl径向模糊实现体积光
- slmgr.vbs是什么?
- 棋牌游戏开发可持续发展 需重视长期运营优化
- Android 短信 彩信 wap push的接收
- Nodejs 服务端MVC架构
- 解决Error inflating class com.google.android.material.appbar.CollapsingToolbarLayout
- 屏幕录制软件camtasia studio 8序列号激活
- kicad最小布线宽度默认是多少_CABLExpress发布了最新的光纤布线最佳实践指南
- echarts-JSON请求数据