如何使用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)是一件复杂且繁琐的工作,但若使用Softing的半定制化软件——VisualODX,则能够极大地减轻工程师的工作量。
我们将在ODX模板和诊断问卷调查表模板中依据需求规范定义会话类型和安全等级。客户仅需在表格中为服务填写其支持的安全等级及会话类型,即可在转换ODX数据时自动为服务关联。
(图7 ECU诊断问卷调查表)
(图8 模板定义的会话类型和安全等级)
(图9 在表格中为服务填写其支持的安全等级及会话类型)
完成ECU诊断问卷调查表填写后,将表格导入VisualODX软件,即可自动生成ODX数据。
除了VisualODX半定制化软件可创建ODX数据库外,Softing的VCD.studio也可帮助用户编辑创建ODX数据库。它是一个强大的ODX编辑器,可根据ODX标准创建、查看、编辑ODX诊断数据,且支持对数据进行一致性检查。
VisualODX是提前在ODX模板中创建了StateChart模板,并通过VCD.studio来关联执行前提条件(Precondition)和状态跳转结果(State Transitions Resulting),而VCD.studio与VisualODX不同,它是需要先编辑StateChart模块,然后再在诊断服务页中添加关联Precondition和State Transitions。
(图10 在诊断会话层编辑StateChart的示例)
(图11 为服务添加Precondition)