电子说
诊断是应用于ECU全生命周期的重要功能,在整车的开发阶段、生产阶段和售后阶段扮演重要角色。诊断的开发与应用,是一个跨部门,甚至跨公司的复杂工作。
工程诊断仪在开发和应用过程中会遇到如下挑战:
诊断需求的协同
工程诊断仪的需求如何有效地反馈到ECU诊断功能开发中?ECU诊断功能开发时如何充分兼顾工程诊断仪的需求?研发、生产和售后如何高效地协同诊断需求?
诊断数据的复用
研发、生产和售后如何实现诊断数据的交互?研发阶段的诊断数据库如何方便地复用到生产和售后阶段?
参数化
是否需要参数化工程诊断仪?为了支持新车型/新ECU,需要基于新增的诊断需求,对非参数化工程诊断仪进行二次开发,导致诊断仪成本增加,诊断仪开发周期延长。从成本和开发周期的角度来看,工程诊断仪需要参数化。
诊断测试序列
在实际应用场景中,需要一系列诊断动作才能满足测试需求。为了实现所需的测试序列(Sequence),操作者需要具有一定的编程能力才能通过编辑脚本实现一键式测试需求。
1、参数化诊断仪方案--Indigo
Indigo作为参数化工程诊断仪,其参数化体现在如下两个方面:
诊断对象的参数化
Indigo可以自动解析诊断数据库文件,解析不同车型/ECU的诊断数据库文件的差异性,差异化的功能自动化体现在Indigo中。诊断对象的不同,只体现于诊断数据库的不同。
诊断内容的参数化
Indigo预定义工程诊断的所有诊断内容和所有应用场景,诊断内容是可配置的。
Indigo作为一款参数化工程诊断仪,可以快速便捷地对车辆和ECU进行诊断。无论是在ECU开发阶段,还是车辆测试阶段,工程师都可以轻松使用Indigo完成诊断测试工作,无需具备专业化的诊断知识:
支持CDD/ODX文件,便捷地实现参数化;
图形化显示ECU故障信息;
符号化显示所有诊断故障代码(DTC),包括状态标识、环境参数和故障条件;
利用诊断控制台可以直接访问所有的诊断服务;
显示发送和接收的诊断数据;
支持KWP、UDS和GMW3110;
可扩展License支持远程诊断功能。
2、基于Indigo的二次开发
除了自适配显示诊断使用界面之外,Indigo还可以支持基于脚本的二次开发:
扩展Indigo诊断功能;
自动执行用户自定义的诊断任务(诊断序列)。
具体实现方式分为Script Recording和Vector Diagnostic Scripting Library。
Script Recording
Indigo无需操作者掌握编程技巧即可记录诊断测试序列(图1)。
图1 Indigo脚本记录器
开启此功能后,操作Indigo实现特定诊断应用,脚本记录器即可录制操作过程,自动转化为Script脚本。用户可根据测试需求,选择需要进行的诊断测试序列(图2)。
图2 记录测试序列
录制脚本完成后,脚本源码如图3所示。
图3 脚本源码
诊断测试序列录制完成后,保存记录的脚本并加载到Indigo中自动运行(图4)。
图4 执行测试序列
技术优势
操作者无需编程能力,即可创建诊断Script;
一键式执行已创建的诊断序列。
Vector Diagnostic Scripting Library
Indigo集成Vector Diagnostic Scripting Library(VDS,Vector诊断脚本库),在编译环境Microsoft Visual Studio中通过编辑C#(.NET)脚本来实现用户与对话框的交互和输入验证,此脚本与CANoe/CANape/vFlash等工具兼容。
在Indigo安装目录选择安装VDS(图5),完成对Microsoft Visual Studio的扩充。
图5 安装VDS
通过Visual Studio新建VDS工程(图6):
图6 新建Vector Diagnostic Scripting
完成对ECU数据的读取并显示在交互界面(图7):
图7 定义特定诊断需求
编辑完成后保存工程,并将脚本加载到Indigo工具中,运行后结果如图:
图8 运行特定序列结果
VDS便捷性一览:
支持函数关键字;
支持数据库属性作为函数参数。
图9 VDS支持函数关键字
图10 VDS环境添加CDD数据库
图11 VDS识别CDD数据库中诊断描述内容
技术优势
提供开发环境,支持Script编辑,工程师可自主创建诊断Script;
VDS环境支持加载诊断数据库,自动识别数据库中的诊断描述内容;
支持函数关键字,可快速实现脚本编辑。
3、总结
Indigo作为参数化工程诊断仪,可以对不同车型/ECU进行诊断,快速获取所有诊断信息并显示在特定窗口。当用户需要特定的诊断测试序列时,Indigo支持脚本(C#)的二次开发,满足用户的特定测试需求,极大地提高了在实际应用中的灵活性。
责任编辑:lq6
全部0条评论
快来发表一下你的评论吧 !