CANoe是Vector公司的针对汽车电子行业的总线分析工具,现在我用CANoe7.6版本进行介绍,其他版本功能基本差不多。

硬件我使用的是CAN case XL.

1,CANoe软件的安装很简单,先装驱动,再装软件。安装完成,插上USB,连接硬件,这样在控制面板中,Vector Hardware 进行查看

通过查看信息可知,CANcaseXL中的两个piggy,一个是251(高速CAN),一个是7269(LIN),另外常用的还有1054(低速CAN,或称容错CAN),因为CANcaseXL中只能支持两路通讯,这样piggy可以自由组合

2,硬件连接正常,打开CANoe软件

File->New Configuration 可以选择新建工程的模版,我们这里选择CAN_500kBaud.tcn,这样新建了波特率为500K CAN工程,可以File->Save Configuration,进行保存

3,接下来就要使用CAN db++ Editor工具对总线网络节点,消息,信号,进行定义了。

点击工具栏的这个图标 ,或 开始菜单中找这个工具启动

启动后,File->Create Database,选择CANTemplate.dbc,选择目录及文件名,进行保存

右键 Network nodes->New ,进行网络节点的定义,这里只需要填写Name即可,例如:Node_A

然后添加Node_B,完成后如下图,这样在Network nodes目录下面添加出来两个节点

节点添加完成后,下一步添加CAN消息,右键Messages->New,这是需要定义名称,ID,DLC等信息,如下:

然后在Transmitters页面,点击Add按钮,添加Node_A为发送节点,意思就是说,此消息是从Node_A节点发送出来的

其实还有一种方法就是,此时暂时不定义发送节点,然后直接以拖曳的方式拖曳到发送节点上,功能上是一样的

有了消息,消息里携带的东西自然是信号咯,那么我们开始创建一个信号

右键Signals->New,填写如下信息

信号当然要放到消息中咯,切换到Messages页面,Add 我们刚刚建立的Message_A,当然和上面一样,采用拖曳的方式从Signal到Message中建立关联也是可以的。

上面信息中Intel模式和Motorola格式的区别如下:

用0和1来表示开关信号状态似乎还不是很直观,我们可以使用on和off来表示就好了,于是View->Value Tables,右键空白处->New,键入如下信息:

定义好了之后,还需要跟信号进行关联。右键需要关联的信号->Edit Signal,Value Table 中关联刚才建立的那个Value Talbe项

这样一个信号就完成了,另外还需要加一个类似的信号,可以点击Signal根目录,在右边选择Signal复制,及粘贴,然后双击复制好的Signal后,进行一些编辑,然后用上面方法关联Message即可快速建立第二个信号了,是不是很方便

继续添加第三个信号,Indicator_A,跟上面一样,但是我这个信号想放在Message的第二个字节的位置,怎么办?

其实很简单,有两种方法:第一种,右键已经关联好的,即在Message目录下的信号,Edit mapped signal,在弹出的对话框中的Startbit中填8,这样就这个信号就跑到该消息的第二个字节中了。第二种方法,右键该消息->Edit Message,在Layout页面中,拖动信号的色块进行移动

以上Message_A消息及消息下所定义已经定义完成

如法炮制另外一个消息Message_B,完成后如下图。

下面创建环境变量,右键Environment variables

陆续把其他环境变量加好,Indicator的Access属性为Write哦,加完如下:

数据库的定义这款基本上就OK了。保存后关闭CANdb++ Editor,回到CANoe主程序中。

请在Configuration->Options->Configuration Settings->Channel Usage 设置使用的通讯通道,因为这个只需要1路CAN,其他都设置为0就可以。

点这个选项页面可出现Simulate Setup 界面

右键Databases->Add,把刚刚创建好的dbc给加载进来,之后再连线上右键->Insert Network Node

结果如下:

右键这个ECU模块->Configuration,在Network Node 选择Node_A,完成,然后添加Node_B

完成后如下图,这样dbc与CANoe的关联就好了。

4,界面设计

网络及相应的关系设置好之后,应该设计界面了,一个良好的界面可以直观的显示及控制各种信号。

界面设计工具有两种:一种是Panel Designer,新的界面设计工具,另外一种是Panel Editor是老的界面设计工具,无论采用何种工具设计的界面,都可以和CANoe很好的兼容,没有问题。下面我们先用第一种界面设计工具来完成界面的设计

点击工具栏的这个图标或File->Open Panel Designer,打开界面编辑器,界面如下:

保存一下该界面,起名为Panel_A,一个空的界面上可以放置右上边若干组件。放置好之后,选中界面上的组件的时候,右下侧回显示当前选中的组件的属性,可以更改相应的大小位置等,但最重要的是Symbol属性,这里要说一下,每个界面组件也都需要与CANoe关联,否则单纯的界面是没有任何意义的,关联主要是信号和环境变量,在Symbol属性的Symbol Filter属性中可以进行选择,我们这里关联的是环境变量,所以选择Environment Variable,然后再点击上面的Symbol属性,然后在弹出的页面中选择相应关联的变量

完成后可以按同样的方法设计Panel_B,也可以Save As 的方法快速建立同样的Panel但是与环境变量的关联和界面的文字需要进行微调。这样两个Panel都已完成。也已经建立了与CANoe之间的关联。

5,CAPL编程

所有的前期准备工作和组装工作都已完成,现在需要编写程序使整个系统有机的运行起来。回到CANoe的Simulation Setup界面,然后点击Node_A模块的,像铅笔一样的图标,填写程序名称,这里Node_A,然后打开编程界面,完成以下程序。然后完成Node_B程序。小技巧:如果背不出具体的消息名称,信号名称或环境变量,可以右键程序空白处,你会得到意外的惊喜,试试看。

OK大功告成

6,运行

现在点击工具栏,运行程序。注意:这里表示实际的网络,所有的消息是发送到物理的网络上的,如果只是验证程序,设置成这样就可以了

完整运行结果如下:

就是这样,一步一步的,我们完成了第一个完整的CANoe应用工程,虽然这只是入门第一步,但整个CANoe的开发流程基本涵盖,如果能跑出上面的运行结果,依然能够给我们很多的惊喜。我们需要这样的惊喜,因为这是我们继续前行的动力。

转载于:https://www.cnblogs.com/fengliu-/p/7844072.html

CANOE入门(一)相关推荐

  1. CANoe 入门 _CAPL编程

    转自:https://www.cnblogs.com/dongdonghuihui/archive/2012/09/26/2704619.html CANOE入门(二) CAPL就是Communica ...

  2. CANOE入门(三)

    转自:https://www.cnblogs.com/fengliu-/p/7844085.html CANOE入门(三) 最好的学习方式是什么?模仿.有人会问,那不是山寨么?但是我认为,那是模仿的初 ...

  3. CANoe入门基础教程(一)

    CANoe是Vector公司的针对汽车电子行业的总线分析工具,现在我用CANoe7.6版本进行介绍,其他版本功能基本差不多. 硬件我使用的是CAN case XL. 1,CANoe软件的安装很简单,先 ...

  4. Vector-常用CAN工具 - CANoe入门到精通_01

    之前有写过相关的CANoe工程配置,不过没有进行系统的介绍,通过各位热心人士的反馈,有些内容无法看懂,因此后续的内容会做好排版,让大家从入门到精通,一次性掌握所有的相关内容.今天就主要来介绍下VN16 ...

  5. CANOE入门:CAPL语言(1)

    CANoe项目中添加一个CAPL节点 添加CAPl节点有以下两种方法. 操作方法一 Simulation ->Measurement Setup ->选中要添加节点的地方右键->In ...

  6. CANOE入门:CAPL语言实现诊断发送和接收

    目录 什么是诊断 CAPL诊断发送 CAPL接收 完整示例 什么是诊断 诊断,就是通过问和听的方式,也即发送和接收信号的方式,发送一条指定ID的CAN报文,ECU接收到后回应另一条指定ID的报文来确认 ...

  7. Vector-常用CAN工具 - CANoe入门到精通_02

    ​咱们话接上回,前面已经介绍了CANoe的基本信息和硬件环境搭建,下面我们就要打开CANoe,配置CANoe工程了,只有完成了CANoe工程配置才能真正的使用CANoe完成测试,本次主要介绍的是手工测 ...

  8. CANOE入门:DBC文件初识

    DBC文件组成概览 打开CANoe在 Tool-> CANdb++ Editor 选项中打开已有dbc文件,可以看到以下内容: 从上面可以看出,一个完整的dbc文件包含以下内容: Network ...

  9. CANoe 11.xx 快速入门教学

    CANoe 11.xx 快速入门教学 本教程主要使用1630A为例并且笔者目前也只使用过1630A.本教程主要目的是让读者可以从零开始学会CANoe最基本的使用,并且笔者也是刚刚入门,通过浏览文献.博 ...

最新文章

  1. C罗还会是史上第一个上链的得分王吗?
  2. hashmap取值_一万六千字的HashMap深度剖析
  3. 吴恩达《机器学习》课程总结(19)总结
  4. 数学能有多美?这个动图看了完全停不下来...
  5. [原创]ActionScript3游戏中的图像编程(连载五)
  6. PHP在线小说txt生成器源码
  7. day33 UDP、进程
  8. 关于mapper接口与mapper.xml文件在同包运行找不到问题解决
  9. PHP扩展迁移为PHP7扩展兼容性问题记录
  10. 室内设计——住宅空间室内设计(包含预览图jpg和.psd文件)
  11. 【git】结合Gerrit 代码审查工具的操作流程,工作流程
  12. 自定义词库扩展和停止
  13. vscode 文件图标主题
  14. 计算机桌面有个方框,电脑桌面总出现蓝色框怎么办
  15. PHP上传Excel文件
  16. 预警|使用方维、微吼等系统直播平台警惕××××××
  17. 我的物联网项目(二十九) 线上前期运营
  18. 前端总线频率(FSB)及DDR内存频率详解,彻底让你明白CPU总线带宽与内存带宽...
  19. python自动化开发是什么_Python自动化开发 - 函数
  20. PooledDataSource forcefully closed/removed all connections的解决

热门文章

  1. 北斗核心器件100%国产化,已接入大部分智能手机
  2. RISC-V会彻底改变计算吗?
  3. 深度|​揭秘5G+AI时代的机器人世界!七大核心技术改变人类生活!
  4. 华为秘密作战计划曝光,重注研发AI芯片挑战英伟达,轮值董事长挂帅
  5. 智能的源泉,大脑从何而来?
  6. 【未来研究】城市云脑是互联网云脑的节点,城市云脑之间如何互补与支撑
  7. 不用恐惧AI的高速发展,论击败阿法狗(零)最简单的方法
  8. 业界 | 计算芯片革命来临?英伟达谷歌入局紧逼英特尔
  9. 逃课上网吧编程、玩摇滚的另类学生,逆袭成长为独角兽公司的 CTO
  10. mac for docker访问宿主机服务