特别提醒:本稿件是作者的总结!本稿件未经本人同意禁止转发和转载,造成的所有后果由使用者自负!
本文主要介绍CANoe中常用的模块,建议稍微有一些CANoe经验的同事参考。模块如下:
? IG
? Automation,
通过以上模块,可以基本解决平时遇到的网络问题。
目录
目录............................................................................................................................... II 总体介绍................................................................................................................. 1 CAN IG模块 .......................................................................................................... 1 IG模块 ................................................................................................................... 3 Automation ............................................................................................................. 3
总体介绍
IG 模块主要用于模拟发送报文,其优势是可以同时并行发送多条周期或者事件性报文,报文之间没有逻辑关系(这不包含使用周期或者按键等操作实现的简单逻辑);
Automation模块可以发送信号或者设置系统(环境)变量等等,其优势在于可以形成一个执行序列,类似于函数一样从前到后执行,因此Automation的优势是可以逻辑执行。对于一些简单的逻辑,完全可以使用Automation来代替CAPL。另外,Automation可以调用系统变量,这极大的增加了它的使用灵活性。
Reply Block是一个神奇的模块,它的原理是将录制的trace在其它CAN real或者simulation总线上进行回放。请注意可在real模式下,将录制的trace百分百还原发送(包括报文的前后时间间隔等)。这样通过Reply Block+过滤,你就可以拥有一个实车测试环境。这个模块如灵活应用,便可解决很多意想不到的问题。
接下来将一一介绍。
CAN IG模块
IG模块是本文介绍的一个最基本的模块。运用相对来说更基础一些。它的用途主要是在总线中模拟发送单个或者多个报文。和周立功CAN卡中发送报文比较相似。
1) 插入IG模块:单击总线->insert CAN Intercative Generaor
2)双击模块,如下图。包括三个选项,分别表示从数据库加载报文,手动设置要发送的CANFD报文,手动设置要发送的CAN报文。
1
A. Add Frame from database
? 前提是CANoe工程中已经加载.dbc文件,选择对应frame即可。
? 加载Frame如图所示,triger可以设置是手动发送还是周期发送。手
动发送可以设置按键发送。(一般设置为大写字母要稳定些)。
? 下方signals:可以根据信号设置要发送的报文 下方Raw data:可以直接设置十六进制的报文
加载后显示的值即为DBC中定义的初始值,可以根据需要修改。
B. ADD CAN Frame
相对于从数据库加载,需要设置CAN ID(使用者需要知道报文的ID)等信
2
息。设置类似
IG模块
与CAN Intercative Generaor类似,另外可以模拟LIN报文等。
Automation
Automation相对于IG模块要灵活的多,相对于IG的主要区别是,它可以设计一个逻辑执行流程,比如设置前后操作直接的时间间隔,设置信号检测条件,IF语句等。应用:比如发送含有流控帧的报文(诊断),对控制器执行一系列操作(比如渐变的设置发动机的冷却水温度),和Panel交互实现逻辑复杂的控制(比如代替重复的手动button操作)。甚至可以这样认为,如果Automation使用足够熟练,一些小的逻辑完全可以替代CAPL实现(一些函数调用当另说)。因此Automation可以高效的完成很多小功能。
1.选择simulation->Automation
2.右键-> New
3