CANoe

1. CANoe使用介绍

1.1. CANoe安装

1.2. 基本界面功能

  1. CANoe连接电源、电脑(USB)及被测设备,通过CANoe图标打开软件。

若有可用的工程文件,也可通过.cfg文件打开需要使用的工程。

  1. 打开工程后点击菜单栏中 Hardware→ Channel Mapping,在这里进行软件通道和物理通道的映射设置。根据自己所连接的通道选择,若不知道选择哪个通道,可查看Simulation → Simulation Setup界面下的”Channels”,设置完毕后,若硬件无变动则无须设置第二次

如VN5620这个CANoe设备,只有一个接口,该接口有 5/6 两个CAN Bus channel,那么在下图的Hardware一栏就会读取到这两个channel并显示。

示例的工程为一路CAN,所以选择channel 5 或 channel 6均可,若工程是两路CAN,则分别分配两个channel给CAN 1、CAN 2。

NetworkHardware中可以设置通信速率,通信速率需要与实际连接通信的ECU保持一致。

若已有工程文件,通信速率一般都是设置好的,直接就可以使用。若是新建空白工程,则需要和开发确认下,所需测试的ECU通信速率是多少,并对应修改。

3.上述步骤完毕后,接下来需要进行DBC文件 ((Data Base CAN)文件用于描述单个CAN网络的通信)) 的导入操作,导入完成后即可使用DBC文件中定义好的报文。

下图为DBC文件的详细界面:

DBC导入方法详见"1.2.1.Simulation Setup"。

1.2.1. Simulation Setup

Simulation → Simulation Setup

在Simulation Setup中,整个系统图形化地显示了CAN总线和所有网络节点。模拟的总线用一条红色的水平线表示。上面的蓝线代表真正的总线。这两个总线通过网络接口相互连接。要在总线上从CANoe传输数据,需要在Simulation Setup中插入Transmit blocks(如下图中的ECU spb)。

在该界面下,可通过右键Databases → Add... / Import Wizard... 的方式导入新的DBC文件。

二者的区别在于Add...只会导入DBC,想要导入DBC中的节点需要右键DBC,选择Node Synchronization。而Import Wizard则会将DBC和其下的节点一同导入。

下图中,在Available nodes下选中需要导入的节点,点击 “ >> ” 图标,点击“下一页”,点击“完成”即可。导入完毕的节点可以在Simulation Setup中查看。

导入DBC文件后,便可以对DBC中的报文进行收发、修改等操作,具体方法详见 "1.3. 报文发送"

1.3. 报文发送

报文有两种发送方式,一种是通过Panel,另一种是通过IG窗口

在发送报文之前,需要先点击启动工程。

1.3.1. Panel发送

若当前工程有作成的Panel,可通过Panel菜单选择并打开

下图为“GatewayPanel“的界面,可直接对相应的信号进行修改来发送

1.3.2. IG发送

要使用IG发送,需要在Simulation Setup中添加IG,方法为在红蓝线处右键,选择Insert CAN Interactive Generator

(下图中的节点模块的打开/关闭方式:选中节点 → 单击空格键。置灰的即为关闭状态)

创建完毕后,通过Interactive Generator打开IG窗口

下图中方块表示“正在发送”,三角表示“暂停发送”,Trigger栏中可以设置message的触发方式是手动还是周期发送,并可以设置周期发送的时间

下图即为选中报文的signals,可在该界面下对相应信号的值进行修改

若要添加其他报文,在IG窗口中右键空白处,即可使用相应选项进行添加

Ps:关于CAN FD (CAN with Flexible Data rate)与CAN主要有以下的两点区别:

1、可变速率:CAN FD采用了两种速率;从控制场中的BRS(速率转换开关位)位到ACK场之前(含CRC分界符)为可变速率;其余部分为原CAN总线用的速率。

2、CAN FD对数据场的长度作了很大的扩充,DLC最大支持64个字节,在DLC小于等于8时与原CAN总线是一样的。

下图为新增的空白报文

在ID一栏中输入DBC文件中包含的Message ID,其余参数会自动配置,如上图中的 ID 0x80,0x81 ,0x82 。或使用上图中Add Frame from Database选项直接浏览Database进行信号的选择

1.3.3. Trace

Analysis → Trace窗口会显示报文的相关信息并可进行过滤等操作。

Trace界面提供了多种过滤方式,但一般常用的是通过信号ID进行过滤。具体过滤操作可点击”ID”右上角的图标进行设置(将鼠标移到”ID”处时会显示出)。

可以通过点击下图标志3处的这个图标改变报文的显示模式(将同一ID的报文逐条显示或者只显示最后一次的此ID的报文)

下图标志1处的图标表示清空当前”Trace”界面的报文显示

下图标志2处的图标表示停止/更新”Trace”界面的报文显示

下图为在Trace中显示的报文,Chn表示使用的通道,Event Type中的CAN Frame表示报文使用的是标准帧,Dir表示方向(Tx:发送,Rx:接收),DLC表示报文长度,Data表示报文的详细收发数据。

1.3.4. Logging

通过Logging保存日志文件

当我们需要保存整个报文交互过程,以便后续的分析操作时;我们则可以通过打开Logging功能,将整个报文交互的信息保存下来。具体操作如下:

(1)日志文件保存设置:打开“Analysis”下的“Measurement Setup”,此时界面下图所示。

右键上图中的”Logging”,点击”Logging File Configuration”。此时界面如下图,在这里进行日志文件的保存设置。

(2)使用Logging功能:经过前面的操作我们完成了日志文件的保存设置;当我们需要保存日志文件时,则可以通过双击下图红框的暂停箭头,打开Logging功能

此时Logging图标状态如下图所示,截止关闭CANoe工程之前,所有的报文交互信号将被记录保存下来;当然在中间过程可以点击下图红框圈起来的暂停按键停止记录。

1.4. Panel制作

1.4.1. 设计Panel

  1. New Panel打开Panel制作窗口

  1. 下图文本框表示的是Panel界面的大小,右侧Toolbox中是各种素材,方法是使用鼠标拖动到文本框内

Properties中可对选中的素材进行设置

  1. Panel布局完毕后,还需要创建并关联相应的环境变量,环境变量需要在DBC文件中定义,DBC文件可通过CANdb++Editor打开并编辑:

下图为DBC界面,右键左侧的Environment variables → new 新建,以电池电量为例:Name为 "HvBattsoc", 电量范围为 0~100 ,初始值 0 ,单位 % ,Value Type为 Float , Access默认即可,“确定”保存修改

4.打开之前设计好的Panel面板,选中设计区域内的 "HvBattSOC" 输入框,在Properties → Symbol一栏中选择刚刚创建的“HvBattSOC”环境变量,保存该Panel

5.为了把数据库中的元素和面板上的各个控件关联起来,进而实现各个节点的功能,还需要编写各个节点对应的CAPL程序。

1.4.2. CAPL(Communication Access Programming Language)

CAPL是一种类C的编程语言,CAPL程序 必须通过编译才可执行,CAPL的可执行文件扩展名为*.cbf,编译可通过菜单命令、工具条按钮、或快捷键来激活,信息窗格显示编译信息,通过错误信息定位错误。一个完整的CAPL程序包括三个部分:

1.点击Simulation Setup下 "spb" ECU上的进入打开CAPL Browser

2.下图中通过CAPL将环境变量“HvBattSOC”与信号"HvBattSoc"相关联,当用户在Panel界面输入电量值时,对应的信号值就会发生变化。

通过on envVar定义环境变量事件,该事件会在指定的环境变量值有新的输入时执行。环境变量常常用于关联上一个面板控件,当我们对控件进行操作时,对应改变关联上的环境变量值,而此时我们在CAPL中关于该环境变量的事件就会被调用,以此完成交互操作。

3.编写好CAPL程序后点击工具栏的Compile(F9)来编译CAPL程序,output窗口中会显示编译成功或错误的相关信息。

4.以上完毕后,即可运行工程,在Panel上操作各个控件,查看对应的控制和显示效果。

1.5. CANoe资料链接

CANoe官方视频教程:https://www.bilibili.com/video/BV1t54y1s7Qo?spm_id_from=333.337.search-card.all.click

Panel设计:https://blog.csdn.net/miracle8510/article/details/94132317

CAPL编程:https://blog.csdn.net/haokeyu1752558508/article/details/111819480

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值