练习2小提示MeasurementSetup窗口和SimulationSetup窗口是CANoe的主要窗口,进行数据流规划几乎 窗口中的所有对象均可通过点击鼠标右键来访问交互菜单所有数据传输到评估模块时,均会在对应窗口以各自的方式进行显示,记录模块除外配 置文件可以保存CANoe中的所有设置;可以使用已有的配置文件作为新任务的基础,进行简单的修改形成新的配置,提高效率这个地方一 定要说一下终端电阻的事情,最好能够向客户推销CableSet注意:如果使用第二个练习,可以做车窗控制,车速表,事件显示和车速的 数值显示。这样就包含了按钮、多态位图,背景,时间显示,数值显示,表针显示这些基本控件了。练习2利用发生器模块周期性发送某一报文 ,例如每隔200ms发送一条EngineData报文。每当按下a键,在WriteWindow窗口输出一句话,例如“XXXEn gineDatamessageshavesent.”注:XXX为已经发送的EngineData报文数量。练习3不用 发生器模块实现Enginedata报文的周期性发送。每当按下a键时,EngineData里面EngSpeed信号值为2000;当 按下b键盘时,EngineData里面EngSpeed信号值为4000;如果EngineData里面EngSpeed信号为40 00,则发送ABSData报文,同时在WriteWindow输出“Warning!”当按下c键时,停止EngineData报文 发送。欢迎进入CANdb++Editor的世界DBC文件编辑工具启动CANoeFile->OpenCANdbEd itor点击创建一个新的CAN数据库File->CreateDatabase…选择模板,鼠标双击或按 [OK]按钮指定数据库文件类型、文件名及保存目录按[Save]按钮。一个新数据库创建完成创 建对象(信号、报文、节点、环境变量和ECU)在Overview窗口左边选择所需创建对象的类型右键点击对象类型,在 快捷菜单中选择New…使用配置对话框设置所创建对象的系统参数值点击[确定]按钮,一个新对象便创建完毕 复制已有对象Copy-Paste选择已有对象Ctrl+c选择对象类型Ctrl+v修改/编辑已有对象直接双击 对象链接(1/2)信号与报文之间的连接发送报文与节点之间的连接鼠标拖拽或Copy-Insert对象链接(2/2) 接收报文与节点之间的连接通过信号间接定义双击节点,选择MappedRxSig.页签点击Add…,选择接收信号 点 击OK点击确定通信矩阵View->CommunicationMatrix…显示信号、消息、及网络节点的关系以信号为 行,网络节点为列消息名显示于表中,对应了包含的信号与发送/接收的节点数值表(1/2)新建数值表View->Value Tables右键点击空白处, 选择New…在对话框中输入数值, 点击确定新的数值表创建完成数值表(2/2)分 配数值表数值表可以分配给信号或环境变量属性列表VectorToolChainAttributesGeneral ManufacturerInteractionLayerGenMsgCycleTimeTransportProtocol andDiagnosticsDiagRequest,DiaResponseNetworkManagementNmBa seAddress,NmStationAdressToolspecificBusType新建属性View->Att ributeDefinitions右键点击空白处, 选择New…在对话框中输入相关参数, 点击确定新的属性创建完成 对象属性修改双击对象一致性检查File->ConsistencyCheck数据导出选择需要导出的对象 信号,报文,节点,ECU或网络File->Export->ExportListofObjects创建面板/虚拟仪表 PanelEditor传统的面板编辑器File->OpenPanelEditorPanelDesigner新的面 板编辑器File->OpenPanelDesignerPanelEditor面板区控件区面板设置Opt ions->Windowsetting定义面板名称面板尺寸背景颜色透明色控件的缺省字体和颜色Options->Cha ngegrid网格大小网格可视控件列表图标名称文本与位图文本位图开关与多态位图开关 多态位图其它常见的控件十六进制滑动条仪表输入/输出显示面板使用保存面板File->Save使用面板(CA Noe)Configuration->PanelConfiguration添加面板显示面板PanelDesigne r控件窗口控件属性工作区对象窗口设置Settings->ControlsProperties设置控件的字体、颜 色和字号Settings->SymbolExplorer设置信号、环境变量和系统变量对应的默认控件对象窗口显示 信号、环境变量和系统变量直接拖拽变量到工作区生成控件工作区创建面板支持同时编辑多个面板控件窗口显示控件双击在 工作区产生控件控件属性窗口显示选中控件的相关设置点击某项设置后会在下方出现相关说明练习1I/O接口 应用程序总线接口I/O接口应用程序总线接口影响CANoe窗口介绍(7)MeasurementSetupView- >MeasurementSetup每个模块对应一个窗口增加新模块(窗口)插入功能块数据记录CANoe窗口介绍(7) 新增模块(窗口)CANoe窗口介绍(7)插入功能块CAPL节点发生器模块回放模块触发模块过滤器模块CAN oe窗口介绍(7)过滤器模块通道过滤(ChannelFilter)报文过滤(Filter)变量过滤(Variables) CANoe窗口介绍(7)数据记录默认状态关闭多种记录文件类型多种记录配置方式CANoe窗口介绍(7)记录 文件右键点击文件图标->LoggingfileconfigurationCANoe窗口介绍(7)记录配置方式双击L ogging模块全部记录单次记录触发记录蒙太奇(5)数据记录的目的是为了离线分析Mode->ToOffline CANoe窗口介绍(8)SimulationSetupView->SimulationSetup发生器交互式发生 器CAPL节点CANoe窗口介绍(8)发生器模块CANoe窗口介绍(8)发生器模块CANoe窗口介绍(8) 发生器模块CANoe窗口介绍(8)交互式发生器模块欢迎进入CAPL的世界CAPL(CANAccessPro grammingLanguage)类C语言仿真单个节点和整个网络外部环境测试面向事件的编程语言总线事件键盘事件 时间事件CAPLBrowser标题栏菜单条工具条浏览树窗格编译信息窗格状态条全局变量编辑窗格CAP L程序编辑窗格CAPL事件事件类型事件名程序执行条件事件过程语法结构系统事件PreStartCANoe初始 化时执行onpreStart{…}Start测量开始时执行onstart{…}StopMeasureme t测量结束时执行onstopMeasurement{…}CAN控制器事件BusOff硬件检测到BusOff时执 行onbusOff{…}ErrorActive硬件检测到ErrorActive时执行onerrorActive {…}ErrorPassive硬件检测到ErrorPassive时执行onerrorPassive{…}War ningLimit硬件检测到WarningLimit时执行onwarningLimit{…}CAN消息事件自定义 接收到指定的消息时执行onmessageMessage{…}时间事件自定义定时时间朝过时执行ontimer Timer{…}键盘事件自定义键值指定的键被下时执行onkeyKey{…}错误帧事件ErrorFram e硬件每次检测到错误帧时执行onerrorFrame{…}环境变量事件自定义指定的环境变量值改变时执行one nvVarEnvVar{…}CAPL基本语法类C语言,语法与C语言基本相同注释// 放置在需要注释的语句之前,注 释单行/ 注释起始符,其后的内容被注释/ 注释结束符,结束由‘/’开始的注释分号 程序结束标识大括号 函数体 counter=counter+1;if(counter==256){counter=0;st op();}消息事件onmessage123//对消息123(dec)反应onmes sage0x123//对消息123(hex)反应onmessageMotorData//对消 息MotorData(符号名字)反应onmessageCAN1.123//对CAN通道1收到消息123反应on message//对所有消息反应onmessage100-200// 对100-200间消息反应键盘事件onkey‘a’ //按‘a’键反应onkey‘’ //按空格键反应onkey0x20 //按空格键反应onke yF1 //按F1键反应onkeyCtrl-F12 //按Ct rl+F12键反应onkeyPageUP //按PageUp键反应onkeyHome //按Home键反应onkey //按所有键反应时间事件 定时器声明msTimermyTimer;//将myTimer申明ms为单位的变量timermyTimer; //将myTimer申明s为单位的变量定时器函数setTimer(myTimer,20); //将定时值设定为20ms, 并启动cancelTimer(myTimer); //停止定时器myTimer定时器事件ontimermyTimer / /对myTimer设定的时间到反应环境变量事件环境变量函数getValue() //获取环境变量的值putValue () //设置环境变量的值环境变量事件onenvVarXXX数据类型数据类型名称注释无符号整型byte 1个字节word2个字节dword4个字节有符号整型int2个字节long4个字节浮点型float8个字 节double8个字节CAN报文message定时器timer秒msTimer毫秒单个字符char1个字节 数据定义全局变量和局部变量变量定义inti;message0x123HiRain;messageMoto rDataVector;完整的CAPL程序三个部分变量各种事件自定义函数onstart{ … //过程指令块}onmessagexxx{… //过程指令块}onkey‘ 1’{… //过程指令块}My_function_1(Para_1,Para_2,…){ … //函数体}…My_function_n(Para_1,Para_2,…){… //函数体 }variables{… //申明全局变量}CAPL输出文本WriteWindowwrite函 数inth=100;charch=‘a’;chars100[8]=“hundred”;write(“Hundre dasanumber:%d,%x”,h,h);write(“Hundredasastring:%s”,s100) ;write(“Thesquarerootoftwois%6.4g”,sqrt(2.0));消息处理常用语句 if(this.id==100){…}msg.can=2;msg.dlc=8;dwordt;t=this.time ;if(this.dir!=RX){return;}this.CarSpeed=200;关键字thisthis代 表触发事件的对象onmessage100{ bytebyte_0; byte_0=this.byte(0); ...}onenvVarSwitch{ intval; val=getvalue(this); ... }报文处理onmessage0x64{if(this.byte(2)==0xFF)writ e(“Thirdbyteofthemessageisinvalid”);}onmessageMotorData {if(this.temperature.phys>=150)write(“Warning:c riticaltemperature”);}键盘处理onkey‘a’{messageMotorD atamMoDa;mMoDa.temperature.phys=60;mMoDa.speed.phys= 4300;output(mMoDa);}onkey‘b’{message100m100= {dlc=1};m100.byte(0)=0x0B;output(m100);}定时器处理 Variables { message0x555msg1={dlc=1}; msTimertimer1; }onstart { setTimer(timer1,100); }ontimertimer1 { setTimer(timer1,100); msg1.byte(0)=msg1.byte(0)+1; output( msg1); }环境变量处理onenvVarevSwitch{ messageMotorDatams g; msg.bsSwitch=getValue(this); output(msg);}练习1当CANoe启动 时,向WriteWindow输出一句话,例如“Hellotheworld!”?2007.HiRainTechn ologies.Allrightsreserved.Slide:?2008.HiRainTechnologie s.Allrightsreserved.CANoe快速入门CANoe概述CAN总线开发工具测试分析仿真记录 CANoe在总线开发中的作用(1)Phase1simul.nodensimul.node2Simula tedbus…simul.node1ωKl15Virtualtotalsystem…CANoe在总线开发 中的作用(2)Phase2simul.node2simulatedrest-of-bus…realnode 1ωKl15simul.nodenVirtualsubystemRealsubsystem…phys. busCANoe在总线开发中的作用(3)Phase3realnode2…realnode1ωKl15 Realtotalsystemrealnoden…PhysicalbusAnalysis(inreal-t ime)硬件接口卡&“狗”CANcardXLCANcaseXL收发器CANcab(CANpiggy)251,104 1,1054…LINcab(LINpiggy)7259CAN卡CANoe组成功能强大、操作简单CANoe数据 库支持CANdb++Editor可编程CAPL虚拟仪表PanelEditor&PanelDesigner CANoe工程环境多总线软件硬件控制面板VectorHardwareLicense->Overview设置 (1)硬件CAN卡类型(编号)收发器类型应用程序通道应用程序License信息设置(2)CANoe通道设置 Configuration->OptionsConfigurationSettings->ChannelUsage灵活 =复杂HWchannelsChannel1 Channel2Channel1Channel2 PiggyBack1PiggyBack2CANcardXL#1CANcaseXLCANcardXL# 2HardwareCANalyzer1CANalyzer2...CANoe1 CANoe2CANoe1forLIN...AppchannelsApplication从复杂到简单CANoe 波特率设置Configuration->HardwareConfiguration基本术语——报文(消息)与信号报 文:enginedata(ID100)ID100B0B1B2CRC信号发动机温度(第二字节,0-6位)未用 (第二字节,第七位)发动机转速(第一,二字节)转换规则发动机转速:rpm=1Bitvalue(0x FF代表错误)发动机温度:oC=2Bitvalue–50(0x7F代表错误)基本术语——环境变量与系 统变量环境变量节点的I/O信号可用于面板或真实I/O系统变量节点内部参数或需要观测的某个数值例如:系统变量1=报 文1.信号1-报文2.信号2欢迎进入CANoe的世界CANoeCANdb++EditorCAPLPanelE ditor&PanelDesigner欢迎进入CANoe的世界CANoe8大窗口TraceWindowBus StatisticsWindowStatisticsWindowDataWindowGraphicWindowW riteWindowSimulationSetupMeasurementSetupCANoe窗口介绍(1)Tra ceWindow报文ID和报文名称(数据库)信号(数据库)时间(相对值或绝对值)通道DLCDir(Tx或Rx)更多 内容见右键点击窗口空白处->Configuration->Columns蒙太奇(1)在CANoe中添加数据库Vi ew->SimulatioinSetup蒙太奇(2)符号化显示与十进制/十六进制切换Globalswi tches:Hex/DecandNumeric/SymbolictogglesCANoe窗口介绍(1)清空Tr ace窗口暂停Trace窗口时间显示切换报文显示切换CANoe窗口介绍(2)DataWindow数据库!信号名称 信号值(Value)信号单位原始值(RawValue)Bar图CANoe窗口介绍(2)DataWindow添加 信号右键单击空白处AddSignals选择需要的信号CANoe窗口介绍(3)GraphicsWindows数据 库!显示信号曲线不同的颜色和线形右键单击空白处选择Configuration放大、缩小、平移…CANoe窗口介 绍(3)GraphicsWindows添加信号右键单击空白处AddSignals选择需要的信号CANoe窗口介绍(4)StatisticsWindow显示报文出现频率显示错误帧出现频率统计报告右键单击空白处ConfigurationActive生成统计报告(WriteWindow)MessagefrequencyIDCANoe窗口介绍(5)BusStatisticsWindow总线负载数据帧错误帧CAN卡控制器状态CANoe窗口介绍(6)WriteWindowCAN卡控制器状态License信息统计报告CAPL输出窗口Printf=Write蒙太奇(3)DesktopCreateNewDesktopRenameDesktop蒙太奇(4)固定窗口?2007.HiRainTechnologies.Allrightsreserved.Slide:?2008.HiRainTechnologies.Allrightsreserved.这个地方一定要说一下终端电阻的事情,最好能够向客户推销CableSet注意:如果使用第二个练习,可以做车窗控制,车速表,事件显示和车速的数值显示。这样就包含了按钮、多态位图,背景,时间显示,数值显示,表针显示这些基本控件了。 |
|