CANoe 入门 Step by step系列.docx
- 文档编号:10540723
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:23
- 大小:917.54KB
CANoe 入门 Step by step系列.docx
《CANoe 入门 Step by step系列.docx》由会员分享,可在线阅读,更多相关《CANoe 入门 Step by step系列.docx(23页珍藏版)》请在冰豆网上搜索。
CANoe入门Stepbystep系列
CANoe入门Stepbystep系列
(一)基础应用
CANoe是Vector公司的针对汽车电子行业的总线分析工具,现在我用CANoe7.6版本进行介绍,其他版本功能基本差不多。
硬件我使用的是CANcaseXL.
1,CANoe软件的安装很简单,先装驱动,再装软件。
安装完成,插上USB,连接硬件,这样在控制面板中,VectorHardware(硬件)进行查看
通过查看信息可知,CANcaseXL中的两个piggy,一个是251(高速CAN),一个是7269(LIN),另外常用的还有1054(低速CAN,或称容错CAN),因为CANcaseXL(can情况XL最大)中只能支持两路通讯,这样piggy可以自由组合
2,硬件连接正常,打开CANoe软件
File->NewConfiguration(新配置)可以选择新建工程的模版,我们这里选择CAN_500kBaud.tcn,这样新建了波特率为500KCAN工程,可以File->SaveConfiguration(保存配置),进行保存
3,接下来就要使用CANdb++Editor(编辑)工具对总线网络节点,消息,信号,进行定义了。
点击工具栏的这个图标
,或开始菜单中找这个工具启动
启动后,File(文件)->CreateDatabase(创建数据),选择CANTemplate.dbc(模板),选择目录及文件名,进行保存
右键Networknodes(网络节点)->New(新的),进行网络节点的定义,这里只需要填写Name(名字)即可,例如:
Node_A(节点A)
然后添加Node_B(节点B),完成后如下图,这样在Networknodes(网络节点)目录下面添加出来两个节点
节点添加完成后,下一步添加CAN消息,右键Messages(信息)->New(新的),这是需要定义名称,ID(件),DLC(数据链路控制)等信息,如下:
然后在Transmitters(信号传送器)页面,点击Add(增加)按钮,添加Node_A(节点A)为发送节点,意思就是说,此消息是从Node_A(节点A)节点发送出来的
Receivers(接收器)、Layout(布局;设计)、Attributes(属性)、Comment(评论;意见)
Definition(定义;解说)、Signals(信号)、Transmitters(信号传送器)
Type(类型)、ID(件),DLC(数据链路控制)、TxMethod(方法)CycleTime(循环时间)
其实还有一种方法就是,此时暂时不定义发送节点,然后直接以拖曳的方式拖曳到发送节点上,功能上是一样的Add(增加)Remove(移动)View(观察)Address(演说)
有了消息,消息里携带的东西自然是信号咯,那么我们开始创建一个信号
右键Signals(信号)->New(新的),填写如下信息
信号当然要放到消息中咯,切换到Messages(信息)页面,Add我们刚刚建立的Message_A,当然和上面一样,采用拖曳的方式从Signal(信号)到Message中建立关联也是可以的。
Switch(转换)Length(长度)ByteOrder(字节顺序)Unit(单元)ValueType(数值类型)Init.val(初始化.牛顿(十万牛顿没平米))Factor(因素)Offset(抵消;补偿)Minimum(最小值)Maximum(最大值)ValueTable(值表格)Automaticmin-maxcalculation(自动值-最大计算)
上面信息中Intel(英特尔)模式和Motorola(摩托罗拉)格式的区别如下:
用0和1来表示开关信号状态似乎还不是很直观,我们可以使用on和off来表示就好了,于是View(观察)->ValueTables(值表),右键空白处->New(新的),键入如下信息:
定义好了之后,还需要跟信号进行关联。
右键需要关联的信号->EditSignal,ValueTable(编辑信号值表)中关联刚才建立的那个ValueTalbe(值表)项
Definition(定义)ValueDescriptions(值描述)
这样一个信号就完成了,另外还需要加一个类似的信号,可以点击Signal(信号)根目录,在右边选择Signal复制,及粘贴,然后双击复制好的Signal后,进行一些编辑,然后用上面方法关联Message(消息)即可快速建立第二个信号了,是不是很方便
继续添加第三个信号,Indicator_A(指示器),跟上面一样,但是我这个信号想放在Message的第二个字节的位置,怎么办?
其实很简单,有两种方法:
第一种,右键已经关联好的,即在Message目录下的信号,Editmappedsignal(编辑映射信号),在弹出的对话框中的Startbit(起始位)中填8,这样就这个信号就跑到该消息的第二个字节中了。
第二种方法,右键该消息->EditMessage(编辑消息),在Layout(布局)页面中,拖动信号的色块进行移动
MessageMame(消息名称)SignalName(信号名称)Startbit(起始位)Multiplexortype(多路复用器类型)
以上Message_A消息及消息下所定义已经定义完成
Definition(定义)Signals(信号)Transmitters(信号传送器)Receivers(接收器)Layout(布局)Attributes(属性)Commentp(评论)Multiplexorsignal(多路复用器信号)Arrange(排列)ToFront(前)ToBack(后)Bitindex(一些指数)Inverted(反向的)
如法炮制另外一个消息Message_B,完成后如下图。
下面创建环境变量,右键Environmentvariables(环境变量)
陆续把其他环境变量加好,Indicator(指示器)的Access(使用权)属性为Write(写入)哦,加完如下:
数据库的定义这款基本上就OK了。
保存后关闭CANdb++Edito(编辑)r,回到CANoe主程序中。
请在Configuration(配置)->Options(选项)->ConfigurationSettings(配置设置)->ChannelUsage(通道使用)设置使用的通讯通道,因为这个只需要1路CAN,其他都设置为0就可以。
点这个选项页面
可出现SimulateSetup(模拟设置)界面Trace(追踪)Configuration(配置)Analysis(分析)
右键Databases(数据库)->Add(增加),把刚刚创建好的dbc给加载进来,之后再连线上右键->InsertNetworkNode(插入网络节点)
结果如下:
Insert(插入)Network(网络)Node(节点)
CAPL(连续退火机组)Test(测试)Module(模块)NET(网络)XML(可扩展)
Generator(发生器;发电机)Block(限制)Interactive(交互式的)Replay(重放)Paste(粘贴)Shortcut(捷径)SwitchAllBlockstoSimulation(所有模块模拟开关)
SwitchAllBlockstoReal-timeMode(切换所有模块实时模式)
右键这个ECU模块->Configuration(配置),在NetworkNode(网络节点)选择Node_A,完成,然后添加Node_B
Common(普通)Components(组件)Buses(公共)Settings(设置)State(规定)Simulated(模仿)Execution(执行)Normal(正常的)Extended(延伸的)NodeSpecification(节点规)File(文件)Edit(编辑)compile(编制)
完成后如下图,这样dbc与CANoe的关联就好了。
4,界面设计
网络及相应的关系设置好之后,应该设计界面了,一个良好的界面可以直观的显示及控制各种信号。
界面设计工具有两种:
一种是PanelDesigner(面板设计),新的界面设计工具,另外一种是PanelEditor(面板编辑)是老的界面设计工具,无论采用何种工具设计的界面,都可以和CANoe很好的兼容,没有问题。
下面我们先用第一种界面设计工具来完成界面的设计
点击工具栏的这个图标
或File->OpenPanelDesigner,打开界面编辑器,界面如下:
保存一下该界面,起名为Panel_A(仪表板),一个空的界面上可以放置右上边若干组件。
放置好之后,选中界面上的组件的时候,右下侧回显示当前选中的组件的属性,可以更改相应的大小位置等,但最重要的是Symbol(符号)属性,这里要说一下,每个界面组件也都需要与CANoe关联,否则单纯的界面是没有任何意义的,关联主要是信号和环境变量,在Symbol属性的SymbolFilter(象征过滤器)属性中可以进行选择,我们这里关联的是环境变量,所以选择EnvironmentVariable(环境变量),然后再点击上面的Symbol属性,然后在弹出的页面中选择相应关联的变量
完成后可以按同样的方法设计Panel_B,也可以SaveAs的方法快速建立同样的Panel但是与环境变量的关联和界面的文字需要进行微调。
这样两个Panel都已完成。
也已经建立了与CANoe之间的关联。
5,CAPL编程
所有的前期准备工作和组装工作都已完成,现在需要编写程序使整个系统有机的运行起来。
回到CANoe的SimulationSetup(仿真设置)界面,然后点击Node_A模块的,像铅笔一样的图标
,填写程序名称,这里Node_A,然后打开编程界面,完成以下程序。
然后完成Node_B程序。
小技巧:
如果背不出具体的消息名称,信号名称或环境变量,可以右键程序空白处,你会得到意外的惊喜,试试看。
OK大功告成
6,运行
现在点击工具栏
,运行程序。
注意:
这里表示实际的网络,所有的消息是发送到物理的网络上的,如果只是验证程序,设置成这样就可以了
完整运行结果如下:
就是这样,一步一步的,我们完成了第一个完整的CANoe应用工程,虽然这只是入门第一步,但整个CANoe的开发流程基本涵盖,如果能跑出上面的运行结果,依然能够给我们很多的惊喜。
我们需要这样的惊喜,因为这是我们继续前行的动力。
Swith(开关)Indicator(指示器)
分类:
汽车电子
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CANoe 入门 Step by step系列 系列
![提示](https://static.bdocx.com/images/bang_tan.gif)