中文  |  English
所在位置:市场活动 > 客户案例与技术文章

3分钟,11张图,教你学会CANoe标定小工具

前言


说起CANoe,大家一定不会觉得陌生;CANoe(CAN open environment)是Vector公司推出的一款总线开发工具,它作为全球汽车电子设计的利器,主要为汽车总线的开发、仿真、测试、诊断和分析而诞生。它强大丰富的功能,在汽车行业可谓家喻户晓。CANoe不仅自身武艺超群,它还有许多得力干将。


今天我们就来聊一聊其中一位猛士——Option AMD/XCP模块,为CANoe开拓了读写ECU内部参数的新世界。它扩展了CANoe的功能领域,使其具备快速加载A2L文件,并通过ASMA官方定义的标准协议XCP/CCP来访问以及修改ECU内存参数的能力。在该模块的加持之下,我们可以对参数修改后系统的响应结果进行监测;以实现总线信号和ECU内部参数同时分析的功能。


基本概念


在正式使用该功能前,我们先来看看相关基本概念。

image.png 

图1 访问机制


功能窗口


说了这么多,让我们进入正题一起操作。


首先,我们在使用时需要license,并在软件中激活该功能模块,方可显示此功能图标(以CANoe14为例)。

image.png

图2 模块激活


正确激活后,会在CANoe上方菜单功能页Diagnostics&XCP中添加XCP/CCP功能模块。 

image.png

图3 功能图标


打开XCP/CCP窗口,我们可以方便地添加A2L文件,查看并修改设备中的详细信息。如果ECU被写保护,我们需要添加相应的Seed&Key文件来确保正确通讯。

image.png

 图4 设备配置


在Measurement Groupe窗口中可以根据需要配置不同的变量,及其读取方式。激活Configuration的变量后,在CANoe中的Environment\System Variables会自动创建相应的系统变量。A2L中变量名包含的“.”“()”等会用“_”代替。其中,Maps和Curves类型变量会以Structs类型变量显示。

image.png

图5 变量配置


image.png

图6 系统变量


在我们与ECU正常建立起通讯后,启动工程,便可以读取ECU的数据。对于ECU内部定义的标定量可以对其进行修改,对测量量可以读取相应的数值。

image.png

图7 变量信息


变量调用


被激活的变量会自动生成CANoe工程中的系统变量,我们可以基于此进行变量调用。

1)在观测窗口中调用

例如我们在Data Window,右键选择变量,添加A2L文件中被激活的信号。

image.png

图8 Data窗口


image.png

图9 添加变量


当然我们也可以在不同窗口中进行观测,如Graphic窗口。

image.png

图10 Graphic窗口


对于所添加的系统变量,可以通过鼠标右键选择Change Value,即可在值的区间内进行修改,并同时进行观测。

image.png

图11 面板调用

2)在CAPL中调用

作为系统变量,我们也能在CAPL脚本中对我们的信号调用。


例如:

读取:sysGetVariableInt/sysGetVariableFloat

赋值:sysSetVariableInt/sysSetVariableFloat

读取、赋值也可以使用:@Namespace::Variable

示例:

intValue = @Namespace1::Parameter2;  //取值

@Debug::MotorValues::EngineSpeed = $EngineSpeed;  //赋值



总结


CANoe软件有了Option AMD/XCP功能模块的加持后如虎添翼,能够对ECU内存参数进行读写。但在面对专业的标定应用场景时,例如:需要快速保存参数集文件、标定数据集管理、MAP/Curve数组标定等,则会显得吃力。此时我们就需要将重心转移到另一款强大的测量和标定工具——CANape上了。针对标定,您或许还有更多疑问:如果系统与ECU通讯需要大量的数据吞吐?需要快速的信息交互?或者CANape标定功能强大在哪里?


北汇信息作为Vector中国合作伙伴,不仅提供相应的工具、技术支持服务及培训,还针对不同的应用场景提供专业的解决方案。欢迎联系北汇信息,为您答疑解惑!


注:图中部分图片来自于Vector。