ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:3.39MB ,
资源ID:13242970      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13242970.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(CANoe入门Stepbystep系列123Word文件下载.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

CANoe入门Stepbystep系列123Word文件下载.docx

1、启动后,File-Create Database,选择CANTemplate.dbc,选择目录及文件名,进行保存右键 Network nodes-New ,进行网络节点的定义,这里只需要填写Name即可,例如:Node_A然后添加Node_B,完成后如下图,这样在Network nodes目录下面添加出来两个节点节点添加完成后,下一步添加CAN消息,右键Messages-New,这是需要定义名称,ID,DLC等信息,如下:其实还有一种方法就是,此时暂时不定义发送节点,然后直接以拖曳的方式拖曳到发送节点上,功能上是一样的有了消息,消息里携带的东西自然是信号咯,那么我们开始创建一个信号右键Sign

2、als-New,填写如下信息信号当然要放到消息中咯,切换到Messages页面,Add 我们刚刚建立的Message_A,当然和上面一样,采用拖曳的方式从Signal到Message中建立关联也是可以的。上面信息中Intel模式和Motorola格式的区别如下:用0和1来表示开关信号状态似乎还不是很直观,我们可以使用on和off来表示就好了,于是View-Value Tables,右键空白处-New,键入如下信息:定义好了之后,还需要跟信号进行关联。右键需要关联的信号-Edit Signal,Value Table 中关联刚才建立的那个Value Talbe项这样一个信号就完成了,另外还需要加

3、一个类似的信号,可以点击Signal根目录,在右边选择Signal复制,及粘贴,然后双击复制好的Signal后,进行一些编辑,然后用上面方法关联Message即可快速建立第二个信号了,是不是很方便继续添加第三个信号,Indicator_A,跟上面一样,但是我这个信号想放在Message的第二个字节的位置,怎么办?其实很简单,有两种方法:第一种,右键已经关联好的,即在Message目录下的信号,Edit mapped signal,在弹出的对话框中的Startbit中填8,这样就这个信号就跑到该消息的第二个字节中了。第二种方法,右键该消息-Edit Message,在Layout页面中,拖动信号

4、的色块进行移动以上Message_A消息及消息下所定义已经定义完成如法炮制另外一个消息Message_B,完成后如下图。下面创建环境变量,右键Environment variables陆续把其他环境变量加好,Indicator的Access属性为Write哦,加完如下:数据库的定义这款基本上就OK了。保存后关闭CANdb+ Editor,回到CANoe主程序中。请在Configuration-Options-Configuration Settings-Channel Usage 设置使用的通讯通道,因为这个只需要1路CAN,其他都设置为0就可以。点这个选项页面可出现Simulate Setu

5、p 界面右键Databases-Add,把刚刚创建好的dbc给加载进来,之后再连线上右键-Insert Network Node结果如下:右键这个ECU模块-Configuration,在Network Node 选择Node_A,完成,然后添加Node_B完成后如下图,这样dbc与CANoe的关联就好了。4,界面设计网络及相应的关系设置好之后,应该设计界面了,一个良好的界面可以直观的显示及控制各种信号。界面设计工具有两种:一种是Panel Designer,新的界面设计工具,另外一种是Panel Editor是老的界面设计工具,无论采用何种工具设计的界面,都可以和CANoe很好的兼容,没有问

6、题。下面我们先用第一种界面设计工具来完成界面的设计点击工具栏的这个图标或File-Open Panel Designer,打开界面编辑器,界面如下:保存一下该界面,起名为Panel_A,一个空的界面上可以放置右上边若干组件。放置好之后,选中界面上的组件的时候,右下侧回显示当前选中的组件的属性,可以更改相应的大小位置等,但最重要的是Symbol属性,这里要说一下,每个界面组件也都需要与CANoe关联,否则单纯的界面是没有任何意义的,关联主要是信号和环境变量,在Symbol属性的Symbol Filter属性中可以进行选择,我们这里关联的是环境变量,所以选择Environment Variable

7、,然后再点击上面的Symbol属性,然后在弹出的页面中选择相应关联的变量完成后可以按同样的方法设计Panel_B,也可以Save As 的方法快速建立同样的Panel但是与环境变量的关联和界面的文字需要进行微调。这样两个Panel都已完成。也已经建立了与CANoe之间的关联。5,CAPL编程所有的前期准备工作和组装工作都已完成,现在需要编写程序使整个系统有机的运行起来。回到CANoe的Simulation Setup界面,然后点击Node_A模块的,像铅笔一样的图标,填写程序名称,这里Node_A,然后打开编程界面,完成以下程序。然后完成Node_B程序。小技巧:如果背不出具体的消息名称,信号

8、名称或环境变量,可以右键程序空白处,你会得到意外的惊喜,试试看。OK大功告成6,运行现在点击工具栏,运行程序。注意:这里表示实际的网络,所有的消息是发送到物理的网络上的,如果只是验证程序,设置成这样就可以了完整运行结果如下:就是这样,一步一步的,我们完成了第一个完整的CANoe应用工程,虽然这只是入门第一步,但整个CANoe的开发流程基本涵盖,如果能跑出上面的运行结果,依然能够给我们很多的惊喜。我们需要这样的惊喜,因为这是我们继续前行的动力。+CANoe 入门 Step by step系列(二)CAPL编程CAPL就是Communication Application Programming

9、Laguage的缩写,CAPL类似于C语言的语法,因此所有的语法请参考C语言教程,这里不在这里进行详述,关于C语言,毫无疑问的,首先推荐大家看谭浩强老师的书,经典中的经典,看完这本C语言应该没问题了。CAPL在CANoe中起到重要的作用,他将所有的部分联系起来(请看下图)现在我们给予上一节的基础上,来着重介绍CAPL编程。CAPL语法是C语言的,又有一些C+的特性,this指针,事件等,对于事件的理解可以学习任意一种面对对象语言,首推C#.NET,可以参考我的博客学习,当然这个似乎比CAPL本身更加难,事件也更加多,但这并不妨碍对事件的理解,其中的事件类型如下图:下面来几个小例子帮助理解来个C

10、ANoe版本的hello world!来兴奋一小下吧。开整在打开CANoe,新建个工程,在Simulation Setup中加个Network node ,点铅笔,忘了吗,上一节刚讲过,右键Start-New,键入如下代码编译后,关闭CAPL Brower。运行CANoe工程,结果如下,哇塞成功咯,好有成就感啊。这个例子似乎跟CAN通讯没啥太大关系啊,好,我们接下来再做一个例子运行结果如下,按键盘b键,将发送一个CAN消息,连dlc是啥都不知道的同学,推荐先学习一下CAN基础知识,推荐瑞萨公司的CAN入门书,讲的非常的好。运行刚刚的那个例子你会发现,按一下b,只发送一条消息,但在实际应用中CA

11、N消息都是循环连续发送的,我们要对刚刚的程序进行一些修改。完成这样的功能。程序如下:variables message 0x400 msgA = dlc=1; mstimer timerA; int conditionA = 0; on key a conditionA = !conditionA; if(conditionA =1) setTimer(timerA,200); on timer timerA if(conditionA=1) msgA.byte(0) = msgA.byte(0)-1; output(msgA);运行结果如下:按A键,Timer启动,发送消息接下来我们一起来看

12、总结一下CAPL编程的要点:CAPL编程的学习,需要通过不断在实践中的积累,此外别无他法。以上真真儿的只是入门,如果你真心看过,不如你真心写过。+CANoe 入门 Step by step系列(三)简单例子的剖析 最好的学习方式是什么?模仿。有人会问,那不是山寨么?但是我认为,那是模仿的初级阶段,当把别人最好的设计已经融化到自己的血液里,变成自己的东西,而灵活运用的时候,才是真正高级阶段。正所谓画虎画皮难画骨。但初级阶段仍然是必须经历的过程,他会使你在达到高级阶段的过程中少走很多弯路,下面我们来迈出这一步。先研究一下别人的简单例子。 最好的例子莫过于Vector本身的Demo了,这个在安装完C

13、ANoe之后就会被自动安装。先看最简单的一个,名字叫Easy,但并不简单哦,比我们之前介绍的所有的东西都整合再一起了,很简单,但很全面。但是假如你说,这个我自己也可以完全自己写出来(并不是仅仅是看懂哦),那么我可以肯定的说,在工作中,你完全可以胜任一般的任务要求哦,剩下的只是工作量的问题了。但我相信到现在为止,你们很多人,都无法写出这样的程序,所以我建议你们把这个程序好好的研究明白,这点很重要。废话不多说,上图,下面是打开运行后的界面。通过面板可以控制,及显示很多动画效果,做的非常的漂亮。在其余的窗体也将主要的数据以图表等表现方式呈现出来。我们先看一下DBC的内容吧Signals:EngineSpeed 车速信息FlashLight 双跳灯HeadLight 大灯OnOff

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1