CANoe 入门 Step by step系列(三)

CANoe 入门 Step by step系列(三)

ID:42577321

大小:587.96 KB

页数:12页

时间:2019-09-18

CANoe 入门 Step by step系列(三)_第1页
CANoe 入门 Step by step系列(三)_第2页
CANoe 入门 Step by step系列(三)_第3页
CANoe 入门 Step by step系列(三)_第4页
CANoe 入门 Step by step系列(三)_第5页
资源描述:

《CANoe 入门 Step by step系列(三)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、CANoe入门Stepbystep系列(三)简单例子的剖析   最好的学习方式是什么?模仿。有人会问,那不是山寨么?但是我认为,那是模仿的初级阶段,当把别人最好的设计已经融化到自己的血液里,变成自己的东西,而灵活运用的时候,才是真正高级阶段。正所谓画虎画皮难画骨。但初级阶段仍然是必须经历的过程,他会使你在达到高级阶段的过程中少走很多弯路,下面我们来迈出这一步。先研究一下别人的简单例子。   最好的例子莫过于Vector本身的Demo了,这个在安装完CANoe之后就会被自动安装。先看最简单的一个,名字叫Easy,但并不简单哦,比我们之前介绍的

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

3、ht     双跳灯HeadLight     大灯OnOff           引擎状态 Messages:EngineState 引擎状态:包含的信号有OnOff,EngineSpeedLightState   灯光状态:包含的信号有FlashLight,HeadLight Networknodes:Display       显示节点,接收所有消息Engine       引擎节点,发送EngineState消息Light         灯光节点,发送LightState消息 Environmentvariables:  环境变量

4、,一般与界面的组件相关联,这样就实现了图形化界面的控制与显示,下面就是关联的界面组件EnvEngineSpeedDspMeter EnvEngineSpeedDspText  EnvEngineSpeedEntry      EnvEngineStateDsp         EnvEngineStateSwitch      EnvHazardLightsSwitch    EnvHeadLightSwitch        EnvLightDsp                    注意一下信号的信息:Definition页面的,In

5、it.Val的输入框使能了,之前是灰色的状态,为什么呢?点击一下蓝色的带下划线的连接,弹出窗台如下:意思是说这个值的设置,必须要定义的属性才能有效,之前一直没有提到信号的属性,这次还是第一次遇到哦。个人理解信号属性是表明信号的特点的一系列参数,当然消息和节点也都有对应的属性。为了更加详细的了解这个属性,我们求助于帮助。哦,明白了,原来是用来初始化数据的哦。其实在Definition表示的是物理值,都要转换成Raw值保存到GenSigStartValue属性中。在属性的创建我们之前也没有提到过,这里讲一下,请在CANdb++Editor菜单中

6、,View->AttributeDefinitions右键,New,填写好信息即可。属性背后跟行为是密切相关的,甚至跟底层dll,其他的一些属性请参考Help文档,当然重要的属性我们也会跟大家在后面提到。dbc还有一些细节,就是接受的消息的定义,之间也没介绍过,例如Display节点只接收消息,那么你就应该在节点的属性上进行配置,方法是右击节点然后点EditNode,在MappedRxSig.中就可以定义接收的信号了,Add…其实不定义接收消息也是可以的,但会在File->Consistencycheck的检查中中显示出无接收节点等的报警。

7、例如前面第一讲例子的dbc的检查如下:再看一下CAPL程序。engine.can程序如下:variables{}onenvvarEnvEngineStateSwitch        //当拨动开关的时候,会更改发动机发出的信号{ $EngineState::OnOff=@this;          //注意信号和环境变量直接赋值时的符号,信号用$,环境变量用@ if(@this)   $EngineState::EngineSpeed=@EnvEngineSpeedEntry; else   $EngineState::EngineSp

8、eed=0;}onenvvarEnvEngineSpeedEntry        //当移动车速滑条时,会更改发动机发出的信号{ if(@EnvEngineStateSwitc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。