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]相关推荐

  1. 【ODX介绍】-1- 标准梳理

    总目录:(单击下方链接皆可跳转至专栏总目录) <UDS/OBD诊断&诊断描述文件CDD>总目录(全网最全诊断梳理)https://blog.csdn.net/qfmzhu/arti ...

  2. 【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 ...

  3. 【ODX介绍】-2-如何手动编辑PDX文件以及PDX结构介绍

    总目录:(单击下方链接皆可跳转至专栏总目录) <UDS/OBD诊断&诊断描述文件CDD>总目录https://blog.csdn.net/qfmzhu/article/detail ...

  4. 【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 ...

  5. ODX介绍(4)[Data Stream]

    本文描述tester和ECU之间的通信数据流,主要有两部分: - 请求 - 响应 了解UDS通信过程的对下图应该不陌生 tester通过SID 23服务,请在204813h开始的地址,请求都3个字节数 ...

  6. 【ODX介绍】-4.3-UDS诊断$3E服务在ODX-D诊断描述文件中如何描述

    共18页精讲:应用领域:读懂ODX-D诊断描述文件:制作生成ODX-D/PDX文件的脚本. 附ODX-D:UDS $3E TesterPresent服务. 目录 1 ODX-D描述一个UDS $3E ...

  7. 【ODX介绍】-5-用于Flash刷写的ODX-F文件概述

    总目录:(单击下方链接皆可跳转至专栏总目录) <UDS/OBD诊断需求编辑工具>总目录https://blog.csdn.net/qfmzhu/article/details/123697 ...

  8. 【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 ...

  9. 【ODX介绍】-4.1-UDS诊断$10服务在ODX-D诊断描述文件中如何描述

    共18页精讲:应用领域:读懂ODX-D诊断描述文件:制作生成ODX-D/PDX文件的脚本. 附ODX-D:UDS $10 Session会话服务0x01 Sub-Function,其它Sub-Func ...

最新文章

  1. DevDays2012 开发者日中文版资料下载
  2. 2018年人工智能13大预测
  3. 批量下载的实现及java.lang.IllegalStateException异常
  4. axios的简单封装和http请求实践
  5. 年过30 ,这10条人生建议句句肺腑
  6. js实现字体和容器宽高随窗口改变
  7. Unity UGUI实现鼠标拖动图片
  8. html表格布局方式有那几种,前端几种常见的布局方式
  9. 【转】同步的HttpClient使用详解
  10. Bailian2786 Pell数列【数列】(POJ NOI0102-1788,POJ NOI0103-1788)
  11. eclipse启动失败,报an error has occurred.see the log file错
  12. python代码怎么样_python代码怎样清屏
  13. Go程序设计语言1.1 hello,world
  14. touchpanel驱动
  15. 可变剪切(选择性剪接)rmats2sashimiplot可视化安装与使用
  16. Vue3和Vue2组件单元素的过渡
  17. VirtulBox安装虚拟机(鼠标点击时)0x00000000指令引用的0x00000000内存该内存不能为written错误解决方案...
  18. 【车载开发系列】UDS诊断---DTC故障码基础回顾
  19. 归一化数字角频率_数字信号处理中的各种频率
  20. 【点云系列】基于图结构的点云快速重采样 翻译

热门文章

  1. 软件的分类及应用领域
  2. webgl径向模糊实现体积光
  3. slmgr.vbs是什么?
  4. 棋牌游戏开发可持续发展 需重视长期运营优化
  5. Android 短信 彩信 wap push的接收
  6. Nodejs 服务端MVC架构
  7. 解决Error inflating class com.google.android.material.appbar.CollapsingToolbarLayout
  8. 屏幕录制软件camtasia studio 8序列号激活
  9. kicad最小布线宽度默认是多少_CABLExpress发布了最新的光纤布线最佳实践指南
  10. echarts-JSON请求数据