CANoe总线开发测试工具学习帖(20190329-201904)

【说明】:本贴主要为自己学习而总结。根据上海理工大学景传奇师兄的材料所总结,在此深表感谢。希望和大家一起学习,编辑仓促,内容有误,欢迎拍砖~同时如师兄所说,学习一款软件最好的教程最好不过是Help文档。

【一、CANoe学习方法&CANoe简介】

<入 门>:找视频学习——下好软件,跟着视频做一遍(B站上有),熟悉软件界面。
<理 解>:找培训文档——重点是CANoe三大编辑工具软件:数据库编辑器(CANdb++ Editor)、面板设计(Panel Designer)和CAPL浏览器(CAPL Browser)。另外官网的许多材料可以下载来,一般是英文的。
<自 学>:遇到不明白的地方,按F1查看Help文档。
<实 战>:自己设计一个基于CAN网络的监测、控制系统,全仿真也行(以下我以自己设计的直线倒立摆控制系统作为介绍)。研究在单片机上(如STM32Fx系列),实现CAN总线的报文通信,重点要自己规划设计CAN网络的通信报文(ID、DLC、Data)。

【CANoe(CAN Open Environment)简介】
CANoe是德国Vector软件公司(官网网址)的产品,这公司做各种总线、分布式系统的分析、仿真、测试软件,结合着卖各种硬件接口卡之类的,Vector公司的软件往往需要插上接口卡后一些功能才能用,所以这软件基本只有汽车行业人才接触到。Vector公司对CANoe的定位是:针对汽车行业,适用多种总线(CAN、FlexRay、LIN)为基础的ECUs、全网络或分布式系统的测试、仿真、诊断和分析。 Verctor也有其他总线开发测试软件,比如CANalyzer(CANoe功能子集)。
对CANoe,有PRO、PEX、RUN三个版本,注意别装成Demo版,不支持中文,CANoe最新版本Version 11.0,推荐10.0版本,新版本加强了对硬件卡的要求。CANoe也是向上兼容,新版本也能打开6、7版本工程文件。

  1. 四大功能(部分):分析(Analysis)、仿真(Simulation)、测试(Test)、诊断(Diagnostics)
    分析:显示、解析、记录、回放
    仿真:作为虚拟节点来参与总线通信,作用和真实节点相同
    硬件接口卡+
    /VN56系列 /VN76系列(FlexRay)
    Piggy收发器
    提供了丰富的DLL库(IL信号交互层、NW网络管理、TP传输层)以及信号发生器Signal Generator、Signal Server,来模拟实现ECU的各种各样发送报文行为。
硬件(系列)名 功能
VN16系列 属于硬件接口卡,CAN/LIN网络
VN26系列 属于硬件接口卡,MOST网络
VN56系列 属于硬件接口卡,Etheren/CANt网络
VN76系列 属于硬件接口卡,FlexRay网络
VN8900 单机模块,内置了i7处理器

CANoe总线开发测试工具学习帖(20190329-201904)_第1张图片
                                              图1-实验室使用的双通道接口卡

【二、软件界面及重要操作】

CANoe是标准的Windows窗口风格,有菜单栏(Ribbon风格)、窗口、桌面、状态栏。基本上CANoe的每个重要的功能就对应一个菜单栏的一个选项。

1.文件(File)栏

<介 绍>:该栏下有保存、另存为、打开、最近使用、新建、全局配置、帮助、示例配置、选项、支持、退出 11个选项,其中常用操作如高亮所标记。CANoe每次打开会默认加载上一次的工程。CANoe在Sample Configuration中提供了许多Demo示例,可以看看。
CANoe总线开发测试工具学习帖(20190329-201904)_第2张图片
                                              图2-新建模板(单通道500Kbps)
<操 作 >:
New    主要用于新建各种协议的模板。如图2所示。
新建CANoe工程(.cfg): File -> New -> 选择模板 。如图2所示
Options 用于软件运行的默认设置、用户偏好设置、拓展设置(Matlab、LabVIEW)等。如图3所示。
测量通道配置: File -> Options -> Measurement -> General -> 选择通道数目
历史数据保存设置: File -> Options -> Measurement -> Data History -> 选择临时数据缓存大小
CANoe总线开发测试工具学习帖(20190329-201904)_第3张图片
                                              图3-软件选项配置

2. 硬件(Hardware)栏

<介 绍>:如图4,该栏有4块,功能如下,真实总线测试主要用到1,
(1)Channels:   包括前面选项设置里的通道数目设置,软硬件通道映射(激活),接口卡配置。
(2)VT System:VT板块配置
(3)Sensors:提供传感器与ECUs之间的分析、仿真、测试功能。
(4)I/O-Hardware:Vector I/O接口设备、GPS接口、摄像头接口、其他硬件。
CANoe总线开发测试工具学习帖(20190329-201904)_第4张图片
                                              图4-Hardware选项栏
<操 作>:
Network Hardware CAN通道设置(CAN/CAN FD协议选择),设置波特率、采样点设置
关联软硬件通道: Hardware -> Network Hardware -> Driver -> 如图5操作,则将硬件的高速口与CAN1通道关联
CANoe总线开发测试工具学习帖(20190329-201904)_第5张图片
                                              图5-完成接口卡关联

3.主页(Home)栏

<介 绍>:主页栏主要涉及仿真/测试的控制、设置共3块,如图6所示,12个选项对应作用如下,都很实用:
(1)Start/Stop:   仿真-测试开始/停止
(2)Step:步进;Break:暂停;Animate:离线回放。
(3)时间步进值。
(4)在线/离线模式 切换。
(5)仿真总线/真实总线 切换。
(6)单机模式(针对VN8900等单机模块)。
(7)数据显示进制格式切换。
(8)窗口同步,比如你在图形窗口抓一个数据,按下该选项,对应在Trace窗口中该数据也会显示出来。
(9)信息输出窗口(该窗口既是系统报告窗口,我们在CAPL编程时可以把其当成printf()来使用)
(10)面板配置或新增面板窗口
(11)收藏的窗口所在的地方
CANoe总线开发测试工具学习帖(20190329-201904)_第6张图片
                                                  图6-主页栏

4.分析(Analysis) 栏

<介 绍>:分析栏很重要,报文行为观察就是在这,也一共有3块,如图7所示,Configuration主要为测量设置,Bus Analysis则可以提供列表式、窗口化及统计性的信息,最后一块和拓展硬件有关,暂不用了解,其中1、5、6、7、9刚开始接触比较多:
(1)测量设置 ,包括插入过滤器、数据记录配置、插入CAPL节点或分析窗口。
(2)离线模式配置
(3)过滤器
(4)数据记录模块
(5)跟踪窗口,按时间列表式地实时显示总线报文情况,
(6)图形曲线窗口
(7)数据窗口
(8)状态跟踪器
(9)数据统计窗口
(10)GPS轨迹、视频配置、示波器配置,均需结合硬件。
CANoe总线开发测试工具学习帖(20190329-201904)_第7张图片
                                                  图7-分析栏
<操 作>:
Measurement Setup 基本功能如图8,都有用。其中插入过滤器可以是针对总线通道、事件或变量,而插入CAPL节点,就是利用编程来过滤数据,其他还有插入触发等。
数据源切换: 实时数据/历史数据(.blf),也就是离线/在线模式切换。
数据记录设置: 如图9所示。
Tips:选中相应模块前面的蓝色块块,按下空格键,来激活/屏蔽相关模块~~~
CANoe总线开发测试工具学习帖(20190329-201904)_第8张图片
                                                 图8-测量设置窗口

Logging 激活记录模块、触发设置、插入新的记录模块、记录文件配置(文件存储路径、存储文件格式、数据覆盖勾选等)
CANoe总线开发测试工具学习帖(20190329-201904)_第9张图片
                                                 图9-记录设置选项
Trace 跟踪窗口会按时间显示报文信息,窗口子选项栏选项功能大部分如图10所示。窗口有很多小技巧:比如使用Marker标记重要报文,按ID等设置显示报文。
CANoe总线开发测试工具学习帖(20190329-201904)_第10张图片
                                                 图10-Trace窗口编辑
Graphics 窗口选项主要用于设置信号/变量的曲线图形显示的方式,基本操作如图11所示。
CANoe总线开发测试工具学习帖(20190329-201904)_第11张图片
                                                 图11-Graphics窗口编辑
Data 数据显示窗口,用于显示信号/变量的值(单位)、原始值、柱状显示。操作也是右击添加要显示的信号或变量。

Statistics 查看总线负载率、数据帧速率等。
Tips 信号互相拖动,比如可以从Trace窗口选中信号,左键直接拖入Data、Graphic、State Tracker等,Data、Graphic、State Tracker三个窗口也可以互相拖动信号。挺方便的~~~

5. 仿真(Simulation)

<介 绍>:如图12,最重要的是Simulation Setuup选项,是添加仿真节点或一些功能模块的地方,2与DBC Node的IL属性相关,3是报文发生器,4为自动测试序列。
CANoe总线开发测试工具学习帖(20190329-201904)_第12张图片
                                                 图12-Simulation栏
<操 作>:
Simulation Setuup 添加仿真节点/功能模块,整个窗口的基本操作如图13所示,需要提示的是利用数据库(.dbc)进行仿真是很实用的(将所用的信号、报文、变量、节点都建好,用到则直接调用)
CANoe总线开发测试工具学习帖(20190329-201904)_第13张图片
                                                 图13-编辑Simulation Setup窗口
向总线发送特定信号(正弦、阶梯、周期等特点): 利用上面的IG模块(交互发生器)便可以实现,如图14所示。
CANoe总线开发测试工具学习帖(20190329-201904)_第14张图片
                                                 图14-配置IG模块
3. 测试(Test)

诊断(Diagnostics)

环境(Environment)

硬件(Hardware)
软件通道与硬件通道的映射
主页(Home)栏

工具(Tools)

输出(Layout)

  1. 新建工程
  2. 软件通道关联硬件通道

三大件(工具链或叫编辑环境):DBC编辑器、CAPL编程浏览器、面板设计

节点、ECU、报文、信号、系统变量、环境变量的关系与区别
报文(Message)概念与现实中的一样,节点发送的便是报文;信号(Signal)是对划分封装在报文数据场中数据的称呼,
CANoe中报文值转换
真实值(Phys)=报文值(Raw Value)×比例因子(Factor)+偏移值(Offset)

环境变量与系统变量的区别:环境变量是节点的I/O信号,典型用在真实I/O或面板,面板设计时关联的便是环境变量;系统变量是节点内部参数,比如 系统变量a = 报文1.信号1 - 报文2.信号2

【扩展】

CANoe的高级用法(需要结合实际的项目),分为以下几个方面:
-汽车网络总线(CAN、LIN、FlexRay、Ethernet等)的诊断——基于UDS协议
-汽车控制器标定,例如常见的TCU、VCU标定——基于CCP/XCP协议,可以结合CANape软件使用
-自动驾驶ADAS测试
-汽车网络的设计仿真——对应OEM在V字模型的规划设计,制定Spec阶段
-CAPL程序设计(.can/.cin文件),支持诊断、网络管理、ECU标定等
-对于外部程序的接口支持,常见的有Matlab、LabVIEW
-对于底层库(.dll)和脚本文件的支持(.xml)——用于建立测试用例(TFS)

【CANoe综合项目学习】

                                     一、需求分析,网络规划,报文设计(根据实际项目)
                                     二、新建CANoe配置模板(CANoe)
                                     三、新建dbc数据库(CANdb++ Editor)
                                     四、在仿真设置中导入数据库(Simulation Setup)
                                     五、新建面板(Panel Designer)
                                     六、仿真节点编程,实现功能(CAPL)
                                     七、运行仿真

注:这里使用我自己的一个小项目来做学习,项目详细资料:
此外CANoe中的Easy Demo也可以打开对照看看,大同小异

  1. 需求分析和网络规划
  2. 新建CANoe配置模板
  3. 新建dbc数据库
    报文•信号(一个报文可以携带多个信号)定义
    环境变量
    面板上的控件就是根据数据库中环境变量、报文•信号来显示,用CAPL编程进行关联
    新建数据库;新建信号
  4. 导入Simulation Setup
  5. 新建面板
  6. 仿真功能
  7. 运行仿真

由于CAN本身就是基于事件触发的通信机制,所以CAPL它也是面向事件的。
CANoe总线开发测试工具学习帖(20190329-201904)_第15张图片
图-9针CAN接口的定义
【专业名词集】

名词 解释
License 不同一般的密钥许可的证书形式,Vector公司把软件许可烧在接口卡等硬件上
Piggy 各种总线收发器的昵称(CANPiggy1040等)
ECU (Electronic Control Unit)电子控制单元,一般为嵌入式设计,一般小型车单元数目<100
DLC
OEM (Original Entrusted Manufacture)代工厂商的英文缩写
DLL (Dynamic Link Library)动态链接库文件,标准化的,提高软件复用性

你可能感兴趣的:(CANoe)