CANoe作为各位工程师们最常使用的一款软件,涵盖了很多非常全面且细致的功能,对各位工程师的开发、测试和分析等过程提供了大量的帮助。
但在使用过程中总是会衍生出许多各式各样的问题,想要快速找到问题点并加以解决总是会花费大量时间与精力。那接下来小编就给各位工程师们提供一些常见的CANoe使用问题以及详细的解决方案,希望可以帮助各位工程师们解决CANoe带来的使用困扰。
Question 1:Graphics窗口曲线显示不全或颜色变浅
用CANoe软件离线回放数据,或在线记录数据时,我们可以通过Graphics窗口分析信号/变量。正常运行时Graphics窗口的显示如图1所示:
图1 Graphics窗口正常显示内容
可若是添加的信号/变量过多、记录时间较长、窗口内显示的信息较多,会导致在Graphics窗口出现信号/变量曲线颜色变淡的情况。具体表现为颜色变为暗淡,左侧信号/变量列表出现“*”标识。如图2所示:
图2 Graphics窗口图形颜色变为暗淡
根本原因是Graphics窗口缓存不足。
Graphics窗口的缓存大小决定了当前窗口中显示信号/变量的数据量,若查看、显示的X轴(时间)长度为总时长的一部分,或信号/变量的数量较少,则大概率不会出现此问题。若显示出测量/回放过程的完整内容且时长过大,Graphics中显示的数据量超过了CANoe中设置的Graphics窗口缓存大小,就会出现将信号/变量转为压缩数据形式的情况,在这种情况下我们甚至无法使用光标功能进行准确的数据值查看。
解决方法:
增大Graphics窗口的Buffer limit。具体位置为CANoe-Options-Windows/Blocks-Graphics Window,设置Graphics 窗口的Buffer limit,将图形窗口的缓存限制调高,使得Graphics 窗口可以加载足够多的数据量,最大可以设置到1000000kB。如图3所示:
图3 Graphics窗口Buffer limit设置
增大Swap File的存储空间,前提是Swap File所在路径的硬盘空间足够,如图4所示:
图4 增大Swap File存储空间
检查“限制数据”选项是否在图形配置中没有设置,或取一个适当的值。如果激活了“限制数据到n秒”的选项,所有比选择的时间更早的数据将在测量结束后被删除,如图5所示:
图5 Graphics窗口限制数据选项
若上述方案均无法解决此问题,可以适当减少Graphics窗口中显示的信号/变量个数,若是在线记录的话还可以通过减少测量时间或者延长测量周期来减少Graphics窗口数据的buffer。
Question 2:CAPL文件加密
CANoe中可实现对CAPL代码加密。CAPL代码所在的文件名后缀为.can,此外,CAPL代码中还可以引用.cin文件(全称为CAPL Include File,也是用CAPL编写的,可定义常量、变量及函数,在.can文件中调用,类似C语言中的头文件)。
CANoe版本为9.0 SP4或者以上
对.can文件进行加密:
使用CAPL Browser打开需要加密的CAPL文件.can进行编译,编译通过后,点击菜单栏 File -Save As Encrypted,将.canencr文件保存到.can文件相同的路径中(.canencr文件就是.can文件的加密文件),将.can文件从当前路径移除,CANoe也可以正常运行,如图6所示:
图6 将.can文件加密
另一方可以运行CANoe工程的前提是:CANoe的版本是9.0 SP4或者更高。
对.cin文件进行加密
与方法a类似,用CAPL Browser打开.cin文件进行编译,编译通过后,在相同路径下另存为.cinencr文件,再移除.cin文件即可。
CANoe版本为9.0 SP4以下
对.can文件进行加密
将CAPL文件.can进行编译,编译通过后,会在CAPL文件相同的路径下生成.cbf文件,保留.cbf文件,将.can文件移除,CANoe也可正常运行。
但该种方法对CANoe版本匹配要求严格,对方的CANoe版本需要和生成工程的CANoe版本完全一致,包括小版本(即补丁包版本)。例如,生成工程的CANoe版本是8.5.38,对方的CANoe也必须是8.5.38才能正常运行此工程,否则会出现缺少.can文件的报错。
对.cin文件进行加密
CANoe 9.0 SP4以下的版本,无法通过上述方式对.cin文件进行加密。
Question3:Loop Test硬件循环检测程序
在CANoe中进行CAN总线通信时,若Trace窗口出现“Stuff Error”或Write窗口出现“Driver error 11 in TransmitCANFrame”的提示,代表CAN总线通信出现了问题,通常情况下,各位工程师需要检查以下内容是否无误:
请确保总线上连接了终端电阻(两端节点处接入120Ω电阻);
在CANoe-Hardware-Network Hardware中配置正确的波特率(Baud Rate)、采样点(Sample Point)、Bit Timing(单位:TQ)以及同步跳转宽度(Sync Jump Width),确保所有参数与真实ECU完全一致;
检查D-SUB9接口的pin脚连接是否准确;
在Vector官网下载安装最新版本的硬件驱动程序(安装过程中关闭所有防火墙和杀毒软件);
降低总线负载、检查是否存在错误帧、检查报文循环发送周期是否过小。
通常以上步骤可以排查出问题原因,恢复总线的正常通信和工程的正常运行。但若是总线通信接口设备(例如VN1640A设备)本身存在问题,对各位工程师来说是很难自行检查的。
因此要向大家介绍Loop Test硬件循环检测程序,该方法可以轻松判断总线接口设备(例如VN1640A设备)的各路物理通道是否处于正常连通且可以进行通信的状态,帮助大家解决这个困扰。使用方法如下:
在下载并安装硬件驱动程序时,驱动安装包文件夹中会自带名称为Loop3的程序,可以用于验证总线通信接口设备的通道循环检测,路径如图7所示:
图7 Loop3程序路径
成功安装硬件驱动程序后,打开Loop3程序会自动识别当前PC上连接的设备,并将设备及通道(本文以VN1640A设备和四路CAN通道为例)显示在左上方Selected channels列表内;Settings区域为参数设置区域,如没有特殊需求,Settings部分可以不进行更改;操作区域包括开始测试按键、清除提示信息按键和退出按键。如图8所示:
图8 Loop3程序操作界面
在VN1640A设备上将需要检测的两路物理通道通过D-SUB9线束进行连接(需要接入120Ω终端电阻),将这两路通道在Loop3程序中进行勾选,并点击Start开始测试,下方窗口会显示出通信信息,设备通道指示灯也会显示为通信中的状态,表示参与测试的两路通道可以正常通信。如图9所示:
图9 VN1640A两路物理通道测试通过
若选择的两路物理通道有问题,则会报错,表示参与测试的两路通道无法正常连通并通信。如图10所示:
图10 VN1640A两路物理通道测试失败
通过Loop Test方式可以有效的排查总线通信接口设备的物理通道是否正常,方便各位工程师排查总线通信失败的原因。
以上就是这次分享的CANoe常见的Questions以及解决方案,篇幅有限,希望能对大家有所帮助。若各位工程师们遇到了其他CANoe使用的问题且您无法自行处理,欢迎随时将问题发送至沈阳东信创智科技有限公司的支持邮箱support@dotrustech。