《CANoe快速基础学习.ppt》由会员分享,可在线阅读,更多相关《CANoe快速基础学习.ppt(96页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、CANoe快速入门,CANoe概述,CAN总线开发工具 测试 分析 仿真 记录,2,CANoe在总线开发中的作用(1),3,Phase 1,Simulated bus,Virtual total system,CANoe在总线开发中的作用(2),4,Phase 2,simulated rest-of-bus,Kl 15,Virtual subystem,Real subsystem,phys. bus,CANoe在总线开发中的作用(3),5,Phase 3,Kl 15,Real total system,Physical bus,Analysis,(in real-time),硬件接口卡 if
2、 (counter=256) counter=0; stop(); ,消息事件,on message 123 /对消息123(dec)反应 on message 0 x123 /对消息123(hex)反应 on message MotorData /对消息MotorData(符号名字)反应 on message CAN1.123 /对CAN 通道1收到消息123反应 on message * /对所有消息反应 on message 100-200 /对100-200间消息反应,48,键盘事件,on key a /按a键反应 on key /按空格键反应 on key 0 x20 /按空格键反应
3、 on key F1 /按F1键反应 on key Ctrl-F12 /按Ctrl + F12键反应 on key PageUP /按PageUp键反应 on key Home /按Home键反应 on key * /按所有键反应,49,时间事件,定时器声明 msTimer myTimer; /将myTimer 申明ms为单位的变量 timer myTimer; /将myTimer 申明s为单位的变量 定时器函数 setTimer(myTimer,20);/将定时值设定为20ms,并启动 cancelTimer(myTimer);/停止定时器myTimer 定时器事件 on timer myT
4、imer/对myTimer 设定的时间到反应,50,环境变量事件,环境变量函数 getValue()/获取环境变量的值 putValue()/设置环境变量的值 环境变量事件 on envVar XXX,51,数据类型,52,数据定义,全局变量和局部变量 变量定义 int i; message 0 x123 HiRain; message MotorData Vector;,53,完整的CAPL程序,三个部分 变量 各种事件 自定义函数,54,on start /过程指令块 on message xxx /过程指令块 on key 1 /过程指令块 ,My_function_1(Para_1,
5、Para_2, ) /函数体 My_function_n(Para_1, Para_2, ) /函数体 ,variables /申明全局变量 ,CAPL输出文本,Write Window write函数,55,int h=100; char ch=a; char s1008=“hundred”; write(“Hundred as a number:%d,%x”,h,h); write(“Hundred as a string:%s”,s100); write(“The square root of two is %6.4g”,sqrt(2.0);,消息处理常用语句,if (this.id=1
6、00) msg.can=2; msg.dlc=8; dword t ; t=this.time; if(this.dir!=RX) return; this.CarSpeed = 200;,56,关键字this,this代表触发事件的对象,57,on message 100 byte byte_0; byte_0 = this.byte(0); . ,on envVar Switch int val; val = getvalue(this); . ,报文处理,on message 0 x64 if(this.byte(2)=0 xFF) write(“Third byte of the me
7、ssage is invalid”); on message MotorData if(this.temperature.phys=150) write(“Warning: critical temperature”); ,58,键盘处理,on key a message MotorData mMoDa; mMoDa.temperature.phys=60; mMoDa.speed.phys=4300; output(mMoDa); on key b message 100 m100= dlc=1; m100.byte(0)=0 x0B; output(m100); ,59,定时器处理,Var
8、iables message 0 x555 msg1 = dlc=1; msTimer timer1; on start setTimer(timer1,100); on timer timer1 setTimer(timer1,100); msg1.byte(0)=msg1.byte(0)+1; output(msg1); ,60,环境变量处理,on envVar evSwitch message MotorData msg; msg.bsSwitch = getValue(this); output(msg); ,61,练习1,当CANoe启动时,向Write Window输出一句话,例如
9、“Hello the world!”,62,练习2,利用发生器模块周期性发送某一报文,例如每隔200ms发送一条EngineData报文。每当按下a键,在Write Window窗口输出一句话,例如“ XXX EngineData messages have sent.” 注:XXX为已经发送的EngineData报文数量。,63,练习3,不用发生器模块实现Enginedata报文的周期性发送。 每当按下a键时,EngineData里面EngSpeed信号值为2000;当按下b键盘时, EngineData里面EngSpeed信号值为4000; 如果EngineData里面EngSpeed信号
10、为4000,则发送ABSData报文,同时在Write Window输出“Warning!” 当按下c键时,停止EngineData报文发送。,64,欢迎进入CANdb+ Editor的世界,DBC文件编辑工具 启动CANoe File-Open CANdb Editor 点击,65,创建一个新的CAN数据库,File-Create Database 选择模板,鼠标双击或 按 OK按钮 指定数据库文件类型、 文件名及保存目录 按Save按钮。 一个新数据库创建完成,66,创建对象(信号、报文、节点、环境变量和ECU),在Overview窗口左边 选择所需创建对象的类型 右键点击对象类型, 在快
11、捷菜单中选择New 使用配置对话框设置 所创建对象的系统参数值 点击确定按钮, 一个新对象便创建完毕,67,复制已有对象,Copy-Paste 选择已有对象Ctrl+c 选择对象类型Ctrl+v,68,修改/编辑已有对象,直接双击,69,对象链接(1/2),信号与报文之间的连接 发送报文与节点之间的连接 鼠标拖拽或Copy-Insert,70,对象链接(2/2),接收报文与节点之间的连接 通过信号间接定义 双击节点, 选择Mapped Rx Sig.页签 点击Add,选择接收信号 点击OK 点击确定,71,通信矩阵,View-Communication Matrix 显示信号、消息、及网络节点
12、的关系 以信号为行,网络节点为列 消息名显示于表中,对应了包含的信号与发送/接收的节点,72,数值表(1/2),新建数值表 View-Value Tables 右键点击空白处, 选择New 在对话框中输入数值, 点击确定 新的数值表创建完成,73,数值表(2/2),分配数值表 数值表可以分配给信号或环境变量,74,属性列表,Vector Tool Chain Attributes General Manufacturer Interaction Layer GenMsgCycleTime Transport Protocol and Diagnostics DiagRequest, DiaRe
13、sponse Network Management NmBaseAddress, NmStationAdress Tool specific BusType,75,新建属性,View-Attribute Definitions 右键点击空白处, 选择New 在对话框中输入相关参数, 点击确定 新的属性创建完成,76,对象属性修改,双击对象,77,一致性检查,File- Consistency Check,78,数据导出,选择需要导出的对象 信号,报文,节点,ECU或网络 File-Export-Export List of Objects,79,创建面板/虚拟仪表,Panel Editor 传
14、统的面板编辑器 File-Open Panel Editor Panel Designer 新的面板编辑器 File-Open Panel Designer,80,Panel Editor,81,面板区,控件区,面板设置,Options-Window setting 定义面板名称 面板尺寸 背景颜色 透明色 控件的缺省字体和颜色 Options-Change grid 网格大小 网格可视,82,控件列表,83,图标,名称,文本与位图,文本,84,位图,开关与多态位图,开关,85,多态位图,其它常见的控件,十六进制,86,滑动条,仪表,输入/输出显示,面板使用,保存面板 File-Save 使用
15、面板(CANoe) Configuration-Panel Configuration,87,添加面板,显示面板,Panel Designer,88,控件窗口,控件属性,工作区,对象窗口,设置,Settings-Controls Properties 设置控件的字体、颜色和字号 Settings-Symbol Explorer 设置信号、环境变量和系统变量 对应的默认控件,89,对象窗口,显示信号、环境变量和系统变量 直接拖拽变量到工作区生成控件,90,工作区,创建面板 支持同时编辑多个面板,91,控件窗口,显示控件 双击在工作区产生控件,92,控件属性窗口,显示选中控件的相关设置 点击某项设置后会在下方 出现相关说明,93,练习1,94,练习2,95,小提示,Measurement Setup窗口和Simulation Setup窗口是CANoe的主要窗口,进行数据流规划 几乎窗口中的所有对象均可通过点击鼠标右键来访问交互菜单 所有数据传输到评估模块时,均会在对应窗口以各自的方式进行显示,记录模块除外 配置文件可以保存CANoe中的所有设置;可以使用已有的配置文件作为新任务的基础,进行简单的修改形成新的配置,提高效率,96,