如何使用ODX描述诊断会话和安全等级
ODX 2.2是由ASAM(自动化及测量系统标准协会)提出的诊断标准,是一种基于XML语言的开放式诊断数据格式,已在国际上得到广泛使用。目前ODX诊断标准也已被国内各大OEM采用,但在ODX数据开发阶段,ODX诊断数据库的编辑、创建是一项庞大的工作。对此,Softing推出了ODX自动转换工具——VisualODX,以解决OEM的需求。
| 自VisualODX发布以来,我们也陆续收到整车厂对于ODX如何处理Session和Security的问题咨询,这里就和大家进行简单介绍:
根据ODX协议,对Session和Security子模块的描述分为两部分:
描述执行一个诊断对象(DIAG-COMM)可能产生的状态跳转结果(State Transitions Resulting)
描述一个诊断对象(DIAG-COMM)执行的前提条件(Precondition)
使用ODX对这两个子模块进行描述,首先需要在诊断容器层的STATE-CHART模块分别按会话(Session)和安全(Security)定义控制器支持的所有状态(States)和状态跳转(State Transitions)。其中状态(States)用于描述诊断对像执行的前提条件,状态跳转(State Transitions)描述了执行诊断对象可能产生的跳转结果。
图1 安全等级状态(States)
图2 会话类型状态(States)
图3 安全等级状态跳转(State Transitions)
图4 会话类型的状态跳转(State Transitions)
在完成State Chart定义后,可为诊断对象关联执行的前提条件(Precondition)和执行诊断对象可能产生的状态跳转结果(State Transitions Resulting)。图5示例,以22服务作为诊断对象,关联了支持此服务执行的前提条件——会话和安全。
图5 Precondition 关联示例
图6则提供了以11服务为执行诊断对象产生的状态跳转结果关联示例,同样也包括了会话和安全两部分。(11服务即ECUReset)
图6 State Transitions 关联示例
为诊断对象逐一添加前提条件(Precondition)和状态跳转(State Transitions)是一件复杂且繁琐的工作。如果使用我们的VisualODX半定制化软件则能够极大的减轻工程师的工作量。
我们将在ODX模板和诊断问卷调查表模板中依据需求规范定义会话类型和安全等级。客户仅需在表格中为服务填写其支持的安全等级及会话类型,即可在转换ODX数据时自动为服务关联。
图7 ECU诊断问卷调查表
图8 模板定义的会话类型和安全等级
图9 在表格中为服务填写其支持的安全等级及会话类型
完成ECU诊断问卷调查表填写后,将表格导入VisualODX软件,即可自动生成ODX数据。
除了VisualODX半定制化软件可以创建ODX数据库外,Softing的DTS Venice也可以帮助用户编辑创建ODX数据库。它是一个强大的ODX编辑器,可根据ODX标准创建、查看、编辑ODX诊断数据,并且支持对数据进行一致性检查。
不同于VisualODX提前在ODX模板中创建了StateChart模板,通过DTS Venice关联执行的前提条件(Precondition)和状态跳转结果(State Transitions Resulting)是需要先编辑StateChart模块的,然后再在诊断服务页添加关联Precondition和State Transitions。
图10 在诊断会话层编辑StateChart的示例
图11 为服务添加Precondition