可配置ECU检测及诊断系统介绍——基于工作流模式的ECU检测及诊断组态系统设计
2022-02-01
来源:星星旅游
Science and Technology Innovation Herald Q Q Q:垫 工程技术 可配置E C U检测及诊断系统介绍 基于工作流模式的ECU检测及诊断组态系统设计 郭刚 柳野 姚俊明 刘立国 (启明信息技术股份有限公司 长春 1 3O1 22) 摘要:介绍基于工作流模式的,面向过程的、可组态的ECU检测及诊断系统的设计方法。 关键词:EOL"F线检测 工作流 ECU COM/ActiveX ODX 中图分类号:TP3 文献标识码:A 文章编号:1 6 74—098X(201o)11(c)一0l 08—02 1产品背景及意义 汽车电子技术的发展和对汽车性能要 求的提高,使得汽车对电控单元(ECU, Electronic Control Unit)的依赖程度越来 越高,但是在以往的开发模式之中,E0L (End Of Line,整车/发动机ECU生产线终 的劳动,而提供的仅仅是客户难懂的代码 或无从下手的程序。本论文论述的基于“工 作流”模式的EOL和诊断开发平台较好的 解决的此问题,使产品研发人员能够轻松 的调用程序员提供的代码,大大减少时间, 人力成本,并保证了相关软件产品的质量。 从产品研发的角度而言,诊断协议是 不断更新的,客户的需求是不断变化的,基 从理论上讲,组态软件是要尽量避免 用户编写代码的,但上述工具都难以做到。 这使得EC U检测及诊断开发人员的研发过 程变得很难,想要自主研发必须同时跨领 件基础,无形中增加了ECU诊断/检测产品 求,才能适应不同的管理信息系统。 4)提供常用协议的模板库,包含 KWP2000,IS015765,SAE J1939等l模板既 能简化常用协议的开发过程,又能使用户 域,在拥有业务基础的同时也必须具备软 迅捷的了解软件使用过程。 端检测)和诊断产品研发人员付出了巨大 的研发周期和研发成本。 5可配置EOL系统介绍 (1)系统功能简介 系统包括组态环境和解释运行环境两 部分。组态环境包括界面订制,协议配置和 3产品的目标 提供一款开发E0L及诊断仪产品的组 态环境及运行环境,包括界面订制,协议订 制、流程定义和流程流转控制。 界面订制,要能够满足用户输入输出 的基本要求,提供类似于可视化的编程环 境的控件和可拖拽的开发环境。 流程编辑三个部分。解释运行环境,是加载 运行检测或诊断脚本的环境。 (2)系统功能详细介绍 1)界面订制 即界面编辑环境的功能设计,提供用 于这两点需求,软件公司希望产品能适应 户设计交互环境、设计数据展示方法的环 这种不断变化的需求,利用这种“工作流” 的解析方法编辑和导入环境,以及其它非 境,并为流程设计过程提供必要的描述。其 模式,使每个功能模块各司其职,最大限度 标准协议的解析方法订制环境,提供协议 内容包括控件的布局、控件的属性、方法和 的满足代码重用的目的。同时从人员配置 协议订制,提供基于0DX的标准协议 在脱机状态的下的模拟调试环境。 的角度,产品研发人员和程序员在各自的 领域是专家,对于跨领域知识大多了解不 域的专家,相应也会增加研发成本和风险。 采用“工作流 模式,可使研发人员各展所 长,最大限度的降低开发周期和成本。 未来诊断仪将向通用化,智能化,网络 事件定义、和界面的存储和加载。系统将提 iveX扩充,还包括 流程定义,基于图形模式的流程定义 供大量的控件,也支持Act组合面板。 环境。使不具备跨领域基础的技术人员能 深入,如果每个项目都需要一个跨技术领 够订制检测及诊断流程。流程定义环境是 2)协议订制 提供通讯协议的编辑处理,包括ODX 开放的并且简化的。 EODX格式数据的编 流程流转控制,是一个解释运行环境。 格式数据编辑处理、 ̄[这个环境要稳定安全的支持全部的过程定 辑处理,同时还需要对协议解析过程中所 义语言 需的事件和方法进行定义和处理。 3)流程编辑 ‘ 化的方向发展,EcU检测及诊断组态系统, 能够快速构件这一平台。 4产品设计主要工作 1)用最通俗的语言来描述用户的开发 过程。 2)界面订制,协议订制、流程定义和流 定义一个检测及诊断包的执行过程, 包括协议的解析调度方法,界面的响应和 显示方法,COM/ActiveX组件的调用和事 件响应。最终要将流程定义存储为脚本,并 2国内外同类产品现状及问题 在自动化领域,国内外工业组态软件 很多,这些软件常常用于DCS、PLC应用 程流转控制。订制是将图形化的语言转化 编译为可执行的脚本,与附加的脚本、组 等工业现场监控领域,图形界面做得很出 成内存中的二进制的存储格式,并将内存 件、动态链接库、驱动程序及安装注册方法 色,特别是国外软件开放性很好,但缺乏 中存储结构存储到磁盘中(这里采用xML 打包发布。ECU方面的协议支持和检测及诊断流程控 格式),流程的流转控制,也就是流程的解 制;专门针对ECU检测及诊断的软件也有,  ̄lSofting 的DTS系列产品、Vect0r的 CANdela Studio等,这些工具在汽车诊断协 4)解释运行环境 释执行,是通过流程描述语言创建、修改流 程对象内容的过程。 调度脚本的运行,根据脚本的处理结 果,调度流程的流转,来实现检测序列对 协议、窗体、COM/ActiveX组件等的调用 和处理。 3)提供EOL及诊断软件所必须的基本 议方面都是很具备权威性的,但流程控制 组件,包括:VIN码的验证和识别、车型的识 部分就不甚完善、开放性不够,界面展示手 段匮乏,专业性非常强,不利于技术推广使 测和诊断的理想平台。 别、基于表格的打印功能、基于条码的打印 功能、日志管理功能以及数据库的写入功 功能,必须订制开发,才能满足不同的需 6工作流模式的ECU检测及诊断组态系 用。目前而言,以上工具都不是开发ECU检 能等。对于数据的处理和数据的统计分析 统的设计思路 关于设计模型 参考资料:ISO一22900,ISO一2290 1 作者简介:柳野,男,启明信息技术股份有限公司检测系统项目部软件工程师。现从事ECU检测及诊断软件开发工作。 l 08 科技创新导报Science and Techno Logy Innovation Herald ! : Science and Technology Innovation Herald 工程技术 工作流本来是自动化办公领域的概 念,在开发ECU检测及诊断组态系统的过 持标准和非标准协议的订制过程。ODX作 为ISO在ECU诊断方面的标准数据交换格 式,需要特别为其开发一种编辑方法。 支持ODX格式的协议的编辑主要从以 下几方面着手: 解读ISO229O1中关于0DX格式的描述{ 构,并构造基于这个数据结构的Request, Response、属性、方法和事件处理机制; 流程编辑,是通过图形化的界面和直 观的流程表现方法使用户能够鼠标操作描 绘出检测过程的流程图。需要从以下几个 方面着手: 程中借用了这一概念,模拟正常的开发过 程、分解ECU检测及诊断功能,以通过组态 来实现简化ECU检测及诊断软件开发的过 定义流程图描述工具、工具箱/工具栏 程。按照工作流所定义的四要素:实体、参 与者、流程定义、工作流引擎,对ECU检测 及诊断组态系统也做类似的划分。 实体(Entity):是工作流的主体,EcU 检测及诊断过程所处理的核心内容是报 文,报文在不同环节的展现形式不同,每 个环节所关心的内容也不尽相同。报文的 的内容管理,描述内容的属性设置,描述内 编程描述ODX所描述的内容的数据结 容的存储和加载。 事件响应的实现。 事件实质上是应用程序执行过程的一 部分,只不过这个过程可以由事件处理者 来控制而已。由于程序员和用户都需要面 为编辑环境提供属性、方法、事件、参 数、返回值的枚举方法及编辑方法; 编程解释运行这种处理机制。 对时间,只不过二者所关心的内容不同而 传递和展示过程即是ECU的检验或诊断 的过程。 参与者(Participant):是流程中参与处 理信息的各个角色,这里将其定义为负责 处理指定功能的组件,包括:操作员,协议 组件、界面组件、数据库组件、打印组件和 其它外围组件;其中,协议组件本身,又对 协议按类型按电控单元做出划分,实例化 后的协议组件也构成了不同的角色。同时, 操作员和每种组件都受控于权限,根据不 同的检测流程可以组件可以展现不同的形 态。协议组件和界面组件本身是可自定义 的,可根据需要设定其行为。 流程定义(Flow Definition):是预定义 的工作步骤,它规定了实体流动的路线。 Ecu检测及诊断中,将数据在不同角色之 间的流转过程作为流程定义。 工作流引擎(Engine):是驱动数据按照 规则从一个角色传递到下一个角色的一种 机制。在ECU检测及诊断系统中,它将是解 释执行检测脚本的客户端软件,而业务逻 辑、界面、协议都是用户所定义的。 下面将从组态软件和解释系统两个方 面来介绍一下实现思路。 7组态软件的实现思路 组态软件包括:界面订制、协议订制和 流程订制三个方面,它既包含也包含部分 角色定义也包含的全部的流程定义的过程。 1)界面订制软件的实现思路 界面是向操作员展示数据(输出)的过 程,也是接受操作员指令(输入)的过程。通 过实现输入输出过程的分析,并总结出一 缕标准函数库的基础上,实现对该过程的 解释执行,并进一步作为一类角色来定义 和处理。拥有一系列方法窗体,自然也描述 了一个角色。界面订制软件所需处理内容: 设计窗体及其元素描述的描述方法,方法 调用,事件管理,属性管理,存储结构,加载 方法。 2)协议编辑软件的实现思路 在ECU检测和诊断协议方面,ISO ̄U定 了统一的标准,但目前还有很多非标准的 协议需要兼容,因此最佳选择就是同时支 不支持ODx格式的协议的编辑需要从 已,这需要创建一种映射机制,来描述程序 以下几个方面着手: 内部事件与用户事件的对应关系,并确保 设计基于字节流模式的协议描述方法; 应用程序事件发生时能够处理用户时间。 编程描述基于字节流的处理流程编辑 用户事件包括:界面事件(即窗体输 方法; 入输出事件,包含窗体内元素的事件)、诊 编程描述基于字节流处理方法的数据 断事件、系统异常处理事件和流程控制事 结构,并构造基于这个数据结构的Request, 件等。 . Response、属性、方法和事件处理机制; ④流程的编译。 为编辑环境提供属性、方法、事件、参 编译的目的是验证假设依赖关系、提 数、返回值的枚举方法及编辑方法; 高执行效率、脱离对编辑环境的依赖,并实 编程解释运行这种处理机制。 现从描述过程向可执行代码的转化。最简 3)流程编辑软件的实现思路 单的方式就是将描述内容编译成现有的可 流程编辑软件,是实现流程定义的关 解释执行的代码,如JavaSC riPt语言, 键。它包括变量及表达式的定义,功能调用 VBScript语言等。 的定义,流程定义和流程的编译四个部分。 ①变量及表达式的定义。 8解释运行系统的实现思路 表达式是进行运算的基础,变量是表 解释运行系统包括:流程的运行、组件 达式的基石,函数是表达式的特殊实现,三 的调用。 者缺一不可,提供一个直观的方便灵活的 1)流程的运行 表达式编辑界面是流程编辑软件的基础。 编程实现主控流程的解释执行; ②功能调用的定义。 编程实现主控流程内的流程控制的实现, 功能调用就是对DLL,COM组件,界面 编程实现对编译代码的执行; 组件,协议组件以及一些辅助函数的调用。 编程实现子流程执行过程中的参数传 函数是用户难于处理的功能的集合,是调 递,返回值获取。 用复杂函数的桥梁。 2)组件的调用及事件处理方法 ③流程定义的实现。 实现事件、事件处理过程与检测流程 流程的定义需要从流程控制、流程编 之间映射关系; 辑、事件响应等几个方面着手。 实现事件处理过程对检测流程的调用; 实现流程控制,是控制信息流向、数 实现事件处理过程与检测流程之间的 据展现方式的手段。需要从以下几个方面 参数返回值的传递; 着手: 实现对协议的动态解析,并触发对应 编程实现高级语言中的If、sWitCh、 的事件。 Whi1e,For,Goto等结构; 实现对COM组件和普通DLL函数的调 9结语 用过程的描述。对COM组件的处理包括: 随着基于工作流模式的ECU检测及诊 创建对象和属性及方法的调用,并实现对 断组态系统设计开发工作的展开,将为 其事件的处理;对DLL函数的调用更为复 ECU检测及诊断产品的开发提供极大的便 杂,关键是对数据结构及数据传递过程的 利,能够使整车生产厂家轻易的开发出自 描述。 己的检测和诊断产品。这个系统不但能为 流程控制,还应该有对界面及其元素调 ECU通讯提供便利,也能扩展到自动化控 用的描述过程的描述方法,还应包括对协 制的其它领域。 议调用的描述方法 实现通过流程调用流 程也是流程控制中不可缺少的重要环节。 流程编辑的实现。 科技创新导报Science and Technology Innovation Herald 1 09