大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
转载自 http://blog.michiru.me/posts/canoe-tutoiral-part-1.html
简介
CANoe是什么
如果你和我一样接触了点车辆电子开发的话,你可能会听说过CANoe。CANoe是德国Vector Informatik出品的开发软件,主要用于主机厂(OEMs),或者ECU供应商进行CAN网络,或者CAN相关ECU的开发、分析、仿真、测试和诊断。当然,CAN 总线主要应用与汽车。所以 Vector Informatik(简称 Vector )可以算是一家车辆电子技术公司。和 Vector 做类似事情的公司还有 Phoenix Contack、Robert Bosch、Siemens、Magix 等等。我目前所在的单位选择 Vector 的 CANoe 是有理由的,尽管我不知道(汗
CANoe能做什么
庞大的机器中,很有可能含有许多电子控制器(称为ECU,Electronic Control Unit)。如果是汽车,他们很有可能使用CAN总线进行通讯。比如发动机控制器、车身控制器、仪表盘。CANoe有两个主要功能,
-
CANoe提供了一个由计算机控制的仿真CAN网络,以及仿真网络上的仿真CAN总线设备。并且配合外设CAN收发器,CANoe还能够将这段虚拟网络与真实网络连接起来。
-
CANoe能够分析、记录网络上的消息。这样就能知道任何设备向任何设备发送的信息。给出各种图表和报告,例如总线占用率、某个信号值随时间的变化等等。将这些信息展示给用户,用于对器件或者网络的诊断。
简单来说,仿真和分析。
比如,我们现在要设计一个CAN网络,包含若干ECU。那么在我们的一份设计书中,就会列出,各个ECU向外发送哪些消息、分别使用什么ID、值代表什么意思、哪些ECU会接收哪条消息,以及这些消息是否是周期信号,等等。在开发的初期,我们可能没有任何ECU。那么使用CANoe仿真整个网络(所有设备),这样就能了解你设计的网络会不会有什么问题。最极端的问题的例子就是总线上设备太多消息太多占满了总线负载。
此外,根据这一份设计,我们能提取出某个ECU相关的消息,形成各个ECU独立的设计书。随着开发的进展,我们按照其中某ECU设计书实现了一个真正的ECU,叫ECU1。会周期性的向ECU2汇报状态,并且接受ECU3给予的控制信号。那么我们将其接入真实的CAN网络(只有ECU1的网络),并连接到CANoe的仿真网络(含有仿真的ECU2、ECU3……),通过CANoe的分析和图表功能,我们就能知道ECU1是否如设计般的工作——消息的周期是否正确,发送的数据是否准确,是否能够正常相应控制指令……
接下来我们相继开发出了ECU2、ECU3。我们都将其接入CAN网络。相应的,CANoe中仿真的设备越来越少。通过CANoe来观察、分析网络,并提供一部分网络功能,就能顺利进行开发。直到最后一个ECU接入真实网络后,并经过CANoe分析无误后,我们就完成了整个网络。
之后,CANoe仍然可以担当CAN网络的监视者,向我们汇报数据。或者,在必要时向CAN网络发送消息,控制任何设备。
CANoe教程
安装与运行
这里没有太多值得说明的。从官网下载CANoe的安装包,如果你已经有了DirectX和.Net的话,可以选择体积小一些的版本。之后解压安装即可。安装时可以选择安装试用版,这不需要任何软件或者硬件许可证(一般是Vector自家的CAN收发器),但试用版只能使用仿真网络。如果你有许可证,务必安装非试用版。安装的最后会询问你需要的安装的CAN收发器硬件驱动,对于我来说是VN1630的硬件驱动(同样由Vector出品),试用版当然就什么都不用选了。
如果一切顺利,可以直接运行CANoe了。第一次运行,CANoe可能会警告你电脑设置了休眠、设置了动态鼠标、设置了Aero等等影响性能的选项;或者没有硬件许可证之类的,可以不予理会。
先忍忍,在实际上开始任何工作之前,看看这些内容:
界面
和其它复杂的大程序一样,CANoe窗口下有许多子窗口。默认会打开的是CANoe最重要的两个窗口,Simulation Setup
和Measurement Setup
。分别对应我在第二节介绍的CANoe的两个功能。如果没有看到的话,注意CANoe窗口下方、状态栏之上,有几个小按钮。默认是Trace、Configuration、Analysis,它们被称为Desktop。因为CANoe子窗口有点多,因此通过Desktop来管理。点击Configuratin,打开这个预设的Desktop。
- Simulation Setup:仿真网络的设计,在这里添加、设置、删除仿真节点。
- Measurement Setup:这里打开和设置图表、报告、记录等窗口。
另一个有用的窗口是Write,它显示程序的输出。关掉其它可能会影响你注意力的窗口,有了这三个,我们就可以开始工作了。窗口们都可以从菜单栏的View
打开。
附加工具
菜单栏Tools下,有最重要的两个工具:CAPL Browser和CANdb++ Editor忽略其它:
- CAPL Browser: CANoe使用的开发语言CAPL的编辑器,同时可以编译。
- CANdb++ Editor: CAN数据库编辑器,编辑仿真和分析功能所需要的CAN消息数据库。
可以都打开看看,然后不保存任何内容关掉。
CANoe相关文件格式
这三种是最重要的文件,还有一些其它格式的文件,可以先不在意。
.cfg
:CANoe项目配置文件,可以理解为工程文件;.dbc
:CAN数据库文件;.can
:仿真节点程序源代码,编译后生成.cbf
。
简易工作流程
- 使用File > New Configuration新建一个CANoe项目配置文件。
- 打开Simulation Setup窗口,为仿真网络添加CAN数据库。
- 在Simulation Setup内添加仿真节点。
- 为仿真节点编写程序,语言可以使用CAPL或者.Net。
- 选择全仿真网络(Simulated bus)或者真实网络(Real bus),半仿真同样使用Real bus。
- 运行CANoe,开始仿真或者分析。
- 通过Measurement Setup打开各个窗口观察CAN网络,通过Write窗口观察仿真程序的输出。
- 结束
新建配置文件
首先让我们来规划一下文件结构:
<Project>
database\
*.dbc
log\
node\
*.can
panel\
*.xvp
*.cfg
database
下存放数据库文件.dbc
;log
下存放所有的log文件,node
目录下存放CAPL程序源代码.can
,panel
存放Panel设计文件。
打开CANoe,使用File > New Configuration...
来新建一个CANoe项目。模板使用CAN_500kBaud_1ch.tcn
,它表示默认CAN总线波特率设置为500kbps,只有1个频道(Channel)。文件名为can.cfg
因为我们还没有CAN数据库,到里这里我们还没有办法开始工作。下一篇文章中我应该会解释一下CAN数据库是什么。
补充
CANoe的全名是CAN open environment ,但是作为Vector的核心产品之一,CANoe并不那么开放。CANoe的许可信息集成在Vector的CAN收发器内,这使你只能购买使用Vector的收发器;开发语言CAPL和数据库格式也都是他自己的;为数不多的提供的软件接口有Matlab和LabView。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/214264.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...