canoe入门教程_简易手工制作

canoe入门教程_简易手工制作转载自http://blog.michiru.me/posts/canoe-tutoiral-part-1.html简介CANoe是什么如果你和我一样接触了点车辆电子开发的话,你可能会听说过CANoe。CANoe是德国VectorInformatik出品的开发软件,主要用于主机厂(OEMs),或者ECU供应商进行CAN网络,或者CAN相关ECU的开发、分析、仿真、测试和

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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有两个主要功能,

  1. CANoe提供了一个由计算机控制的仿真CAN网络,以及仿真网络上的仿真CAN总线设备。并且配合外设CAN收发器,CANoe还能够将这段虚拟网络与真实网络连接起来。

  2. 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 SetupMeasurement 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

Jetbrains全家桶1年46,售后保障稳定

database下存放数据库文件.dbclog下存放所有的log文件,node目录下存放CAPL程序源代码.canpanel存放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账号...

(0)
blank

相关推荐

  • nginx指令详解_考试说明全解

    nginx指令详解_考试说明全解常见的命令有:nginx-sreopen#重启Nginxnginx-sreload#重新加载Nginx配置文件,然后以优雅的方式重启Nginxnginx-sstop#强制停止Nginx服务nginx-squit#优雅地停止Nginx服务(即处理完所有请求后再停止服务)nginx-t#检测配置文件是否有语法错误,然后退出nginx-?,-h#打开帮助信息nginx-v#显示版本信息并退出nginx-V#显示版本和配置选项信息,然后退出

  • MySql必知必会实战练习(六)游标

    游标主要用于交互式应用,滚动屏幕上的数据,并对数据进行浏览或做出更改看一下下面的例子:输出:由于结果为多行无法显示,这时我们就需要使用游标来操作1.游标基本方法(1)创建游标(2)打开游

    2021年12月29日
  • log4cpp学习

    log4cpp学习1、linux下log4cpp的下载安装配置http://log4cpp.sourceforge.net/官方网站有下载地址,安装过程配置选项及测试用例。将下载好的tar包解压到/usr/local/下运行./configure(如有需要添加相关配置选项),使用make编译,使用makecheck进行检测,使用makeinstall安装,使用之前的相关命令安装好之后在/usr

  • es6模板字符串里用html标签,为ES6模板字符串计算标签函数[通俗易懂]

    es6模板字符串里用html标签,为ES6模板字符串计算标签函数[通俗易懂]Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。这篇博客描述了你可以通过函数为ES6模板字符串做些什么从而获取返回值。对于一篇针对模板字符串的介绍来说,标记的模板字符串和函数需要在《探索ES6》中查询模板字符串章节1.通过模板字符串获取返回值在JavaScript中获取一个值最普遍的方法就是在括号中加上参数。在ES6中,你可以通过模板字符串更多地获取返回…

  • 使用SecureCRTPortable的过程中出现的乱码问题解决方式

    使用SecureCRTPortable的过程中出现的乱码问题解决方式各位小伙伴好:可能大家都遇到过使用SecureCRTPortable【以下简称CRT】查日志的过程中出现乱码问题,下面超哥给各位普及下对于乱码的处理方式:1,有可能是当前连接的服务器显示的编码不是utf-8的编码,那样的话就直接修改字符编码就好了,2,当上面的方式不起作用的时候你需要检查下你服务器里的配置喽,第一:执行命令:more…

  • python提示AttributeError: ‘NoneType’ object has no attribute ‘append’

    python提示AttributeError: ‘NoneType’ object has no attribute ‘append’在写python脚本时遇到AttributeError:’NoneType’objecthasnoattribute’append’a=[]b=[1,2,3,4]a=a.append(b)执行一次后发现a的类型变为了NoneType。下次执行时就会出现如题所示的错误。把a=a.append(b)改为a.append(b)后问题解决。原因:append

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号