经本人员实际测试CANoe 16 SP4,曾遇到踩过CAPL脚本编译得以通过然而仿真节点却死活都不产生响应的情况,新手依照步骤一步步去进行操作,便能够较为轻松地避开这类常见问……
经本人员实际测试CANoe 16 SP4,曾遇到踩过CAPL脚本编译得以通过然而仿真节点却死活都不产生响应的情况,新手依照步骤一步步去进行操作,便能够较为轻松地避开这类常见问题,,此工具用于做总线仿真以及信号注入时颇为顺手,不过头一回使用时容易在工程配置以及参数匹配方面遭遇挫折。
DBC文件加载总是乱码怎么办
将Simulation Setup窗口打开,在左侧的Database节点上进行双击操作,把你的DBC文件进行加载选择。需要注意路径之中不要包含中文以及空格字样,不然解析会直接出现报错情况。波特率要强制设置成为500kbps,绝大多数车载ECU默认此值,若改高会出现丢帧现象,改低则总线负载过高,经实际测量此值最为稳定。
初涉者免受困扰之事,加载之后弹出这般提示“Parser error: unrecognized token”,大多情况是DBC里注释运用了中文全角逗号或者分号,所对应的解决办法为,运用记事本打开DBC,通过Ctrl+H将全角标点替换为半角,保存之后再次加载便能够识别了。
仿真节点无响应如何排查
于右键处点击Network节点,从中选择Insert CAN Node选项,接着输入节点名“EngineNode”。于Node之下增添一个呈现周期性发送特质的CAPL事件,即on timer t1,将周期设定为10ms,在其内部塞入一条ID为0x123的信号。待编译成功通过之后,点击Start Simulation,进而观察Trace窗口之中是否存在报文。
作为新手需要避免踩坑,编译的时候出现了零个错误,然而Trace却看不到任何输出情况,大概有八成的可能性是你忘掉了要把Node的“Simulation Mode”从Off拨到On,其路径是右键点击节点,然后选择Configuration,接着勾选“Simulation active”,另外timer必须要通过手动调用settimer来启动,可千万别遗漏了。
离线仿真和在线注入两种方案怎么选
用Replay Block回放已录制好的log文件为一种方式,通过Interactive Generator手动调整信号值是另一种方式。回放方案适宜于复现场景中的bug进而进行跑批量回归测试,但无法实时改变数值;注入方案适合极限边界测试,举例来说如同突然把电压信号拉至12V来检验保护逻辑。
【新手需防入坑】当碰到报错显示为“No bus access: node not running”时,有着完整的解决流程,此流程分为三步来走:其一,要去检查CAN通道是不是处于激活状态(也就是Configuration→CAN→State=Active);其二,需验证波特率与DBC定义是不是保持一致;其三,要右键点击节点并选择“Force Start”。出现这种情况百分之九十是由于通道被其他进程给占用了。
关键参数仿真的时间步长,推荐为10ms ,要是设得太小,CPU会飙升,并且消息会出现重叠的情况。要是设得太大,就会错过事件,10ms这个数值兼顾了实时性与资源这两方面。
在纯硬件在环(HIL)全实物信号的闭环测试里,本方法并不适用,那种场景得加dSPACE或NI的实时机才行。要是仅做单节点功能验证,借助CANoe自带的Panel设计器拖几个控件,就能把复杂的CAPL编程给替代掉。你有没有踩过仿真节点莫名其妙掉线的坑呢?在评论区分享你的硬刚经历,点赞过百的话,我就接着去写CAPL串口调试的硬核避坑。
微信扫一扫
还没有评论呢,快来抢沙发~