本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
商品基本信息,请以下列介绍为准 | |
图书名称: | CANoe开发从入门到精通 |
作者: | 杨金升、张可晨、唐新宇 |
定价: | 89.00 |
ISBN号: | 9787302522898 |
出版社: | 清华大学出版社 |
编辑推荐 | |
《CANoe开发从入门到精通》旨在帮助广大汽车工业领域的研发工程师快速掌握CANoe的基础应用、仿真开发、诊断及自动化测试实现等实战技能,提高工作效率,缩短研发周期。 |
内容简介 | |
本书遵循由浅入深的原则,将内容分为三篇。基础篇首先介绍车载网络的相关知识,接着介绍CANoe开发环境和常见功能的使用,以便初学者掌握使用CANoe进行一般的总线仿真、测试和分析的方法;入门篇首先介绍CANoe开发总线仿真的基础知识,接着结合实例重点介绍总线数据库创建、面板设计,以及CAPL语言设计;进阶篇结合广大开发工程师可能面临的技术难题,由简单到复杂地介绍一些典型实例,以提高读者的实战技术。 |
目录 | |
基 础 篇 第1章 车载网络概述 3 1.1 车载网络起源 3 1.2 CAN总线概述 4 1.2.1 CAN总线简史 4 1.2.2 CAN总线特点 4 1.2.3 CAN总线主要应用 5 1.2.4 CAN-FD协议简介 6 1.3 LIN总线概述 6 1.3.1 LIN总线简史 6 1.3.2 LIN总线特点 7 1.3.3 LIN总线主要应用 7 1.4 目前典型车载网络架构 7 1.4.1 紧凑型 8 1.4.2 豪华型 8 1.5 主要的车载网络 9 1.6 车载网络发展趋势 11 第2章 CANoe概述 12 2.1 关于Vector公司 12 2.2 CANoe简介 13 2.3 CANoe在ECU项目开发中的作用 13 2.3.1 第一阶段:全仿真网络系统 13 2.3.2 第二阶段:真实节点和部分仿真节点共存 14 2.3.3 第三阶段:全真实节点的网络系统 14 2.4 CANoe不同版本的区别 15 2.4.1 CANoe pex版本 15 2.4.2 CANoe run版本 15 2.4.3 CANoe full版本 16 2.4.4 关于Demo版本CANoe 16 2.4.5 关于64bit版本CANoe 17 2.5 CANoe安装 17 2.5.1 系统配置要求 17 2.5.2 常见硬件接口卡 18 2.5.3 安装过程 18 2.6 CANoe常见的总线授权选项 23 2.7 CANoe的授权管理 24 2.8 CANoe的硬件配置 25 2.8.1 硬件信息查看 25 2.8.2 硬件配置 27 2.8.3 通道数量设置 28 第3章 CANoe开发环境 29 3.1 CANoe主界面 29 3.2 CANoe选项卡和功能区 30 3.2.1 File菜单 30 3.2.2 Home功能区 31 3.2.3 Analysis功能区 32 3.2.4 Simulation功能区 33 3.2.5 Test功能区 34 3.2.6 Diagnostics功能区 35 3.2.7 Environment功能区 36 3.2.8 Hardware功能区 37 3.2.9 Tools功能区 38 3.2.10 Layout功能区 39 3.3 常用仿真窗口 40 3.3.1 Simulation Setup窗口 40 3.3.2 Start Values窗口 40 3.4 常见诊断窗口 41 3.4.1 Diagnostic Console窗口 41 3.4.2 Diagnostic Session Control窗口 42 3.4.3 Fault Memory窗口 42 3.5 常见测试窗口 43 3.5.1 Test Unit窗口 43 3.5.2 Test Module窗口 45 第4章 CANoe总线测量和分析 46 4.1 CANoe总线测量和分析概述 46 4.2 Measurement Setup窗口 47 4.2.1 主要功能 48 4.2.2 插入分析窗口或数据记录模块 48 4.2.3 插入功能模块 49 4.3 常见分析窗口 49 4.3.1 Write窗口 49 4.3.2 Trace窗口 51 4.3.3 Graphic窗口 52 4.3.4 State Tracker窗口 52 4.3.5 Data窗口 53 4.3.6 Statistics窗口 53 4.3.7 Scope窗口 54 4.3.8 Video窗口 55 4.3.9 GPS窗口 55 4.4 测量数据记录设置及处理 56 4.4.1 Logging文件设置 56 4.4.2 Logging文件格式 57 4.4.3 Filter设置 57 4.4.4 Trigger设置 58 4.4.5 Trace导入和导出 60 4.4.6 Trace查看和编辑 63 4.4.7 Trace回放 64 4.5 离线分析 67 4.6 发生器模块 68 4.6.1 CAN IG模块 68 4.6.2 IG模块 69 第5章 CANoe仿真工程配置及运行 71 5.1 配置仿真工程 71 5.1.1 物理通道分配问题 71 5.1.2 波特率设置问题 71 5.1.3 授权或相关选项缺失问题 74 5.1.4 虚拟通道设置问题 75 5.1.5 硬件连接问题 76 5.2 不同版本工程文件之间的兼容性处理 76 5.3 仿真工程个性化设置 78 5.3.1 添加/修改的Desktop设置 78 5.3.2 保存不同的工程配置文件 78 5.4 仿真工程文件夹的命名习惯 79 入 门 篇 第6章 车载总线仿真基础 83 6.1 ECU硬件/软件架构介绍 83 6.1.1 硬件架构 83 6.1.2 软件架构 84 6.2 开发仿真工程的必要性 85 6.2.1 软件开发的V模型 86 6.2.2 仿真工程的必要性 86 6.3 CANoe仿真工程架构 87 第7章 开发第一个CANoe仿真工程 88 7.1 创建第一个仿真工程 88 7.2 添加CAN数据库 89 7.2.1 新建CAN数据库 89 7.2.2 添加报文和信号 89 7.2.3 添加数据库到工程中 91 7.3 定义系统变量 91 7.4 创建仿真面板 92 7.4.1 创建开关面板 92 7.4.2 创建指示灯面板 93 7.5 创建网络节点 93 7.5.1 添加网络节点 93 7.5.2 添加Hello World代码 95 7.5.3 添加Switch代码 95 7.5.4 添加Light代码 96 7.6 工程运行测试 96 7.7 查看Trace信息 97 第8章 总线数据库设计 98 8.1 总线数据库概述 98 8.2 CANdb Editor 98 8.2.1 File菜单 99 8.2.2 工具栏 100 8.3 在X-Vehicle项目中创建CAN总线数据库 100 8.3.1 基于模板新建总线数据库 100 8.3.2 Networks 101 8.3.3 ECUs 102 8.3.4 Network Nodes 102 8.3.5 Messages 103 8.3.6 Signals 105 8.3.7 Environment Variable 109 8.3.8 Attribute 110 8.3.9 Value Table 113 8.3.10 Byte Order 114 8.4 导入数据库文件 116 8.5 LIN总线数据库编辑器LDF Explorer 117 第9章 Panel设计 118 9.1 Panel概述 118 9.2 Panel设计环境介绍 119 9.2.1 File菜单 119 9.2.2 Home功能区 120 9.2.3 Panel功能区 121 9.2.4 Properties功能区 122 9.2.5 Toolbox窗口 122 9.2.6 Symbol Explorer窗口 122 9.2.7 Working Area窗口 123 9.2.8 Properties窗口 124 9.2.9 Output Window 124 9.3 控件介绍 125 9.3.1 Switch/Indicator控件 126 9.3.2 LED Control控件 127 9.3.3 Input/Output Box控件 128 9.3.4 Hex/Text Editor控件 130 9.3.5 Analog Gauge控件 131 9.3.6 Meter控件 132 9.4 多帧图片简介 133 9.5 系统变量简介 134 9.6 在X-Vehicle项目中创建仿真Panel 136 9.6.1 添加Control面板 136 9.6.2 添加Display面板 140 9.6.3 创建一个Desktop 143 第10章 CAPL语言设计 145 10.1 CAPL概述 145 10.1.1 CAPL主要用途 145 10.1.2 CAPL的特点 146 10.2 CAPL开发环境—— CAPL浏览器简介 146 10.2.1 File菜单 147 10.2.2 功能区 147 10.2.3 导航区和编辑区 150 10.2.4 函数浏览区 150 10.2.5 对象浏览区 150 10.2.6 输出窗口 151 10.3 CAPL基础——数据类型 151 10.3.1 变量的声明与定义 152 10.3.2 简单变量 153 10.3.3 复合类型 154 10.3.4 特殊类型 155 10.4 CAPL基础——常见运算 157 10.5 CAPL基础——流程控制 158 10.5.1 if条件语句 158 10.5.2 switch语句 158 10.5.3 while循环语句 159 10.5.4 for循环语句 160 10.5.5 break语句 160 10.5.6 return语句 161 10.6 CAPL基础——程序结构 161 10.6.1 头文件 161 10.6.2 全局变量声明 162 10.6.3 事件处理 162 10.6.4 自定义函数 169 10.7 CAPL基础——常用函数库简介 170 10.7.1 通用函数 170 10.7.2 计算函数 172 10.7.3 字符串函数 172 10.7.4 CAN总线函数 173 10.7.5 LIN总线函数 174 10.7.6 诊断函数 174 10.8 CAPL基础——总线数据库的使用 175 10.9 CAPL基础——变量和信号的访问 175 10.9.1 CAPL中访问信号 175 10.9.2 CAPL中访问系统变量 176 10.9.3 CAPL中访问环境变量 176 10.10 在X-Vehicle项目中添加CAPL程序 177 10.10.1 创建节点Engine的CAPL程序 178 10.10.2 创建节点Door的CAPL程序 178 10.10.3 创建节点Display的CAPL程序 180 10.11 工程运行测试 181 第11章 仿真工程编译和调试 182 11.1 CAPL程序编译 182 11.1.1 条件编译 182 11.1.2 编译CAPL程序 183 11.2 CAPL程序的Debug功能调试 184 11.2.1 设置Debug Mode 184 11.2.2 Debugger工具栏 185 11.2.3 设置调试断点 185 11.2.4 变量查看 186 11.2.5 断点查看 187 11.3 使用Write窗口调试CAPL程序 187 第12章 仿真工程开发入门—— CAN仿真 190 12.1 总线仿真工程概述 190 12.2 总线仿真工程开发流程及策略 190 12.2.1 开发流程 190 12.2.2 仿真工程开发策略 191 12.3 工程实例简介 192 12.3.1 网络拓扑图 192 12.3.2 实现功能 193 12.4 工程实现 193 12.4.1 创建仿真工程 194 12.4.2 DBC文件设计与导入 194 12.4.3 系统变量 197 12.4.4 面板设计 198 12.4.5 CAPL代码实现 207 12.4.6 Automation Sequences 217 12.4.7 分析窗口设置 218 12.4.8 Trace窗口与Logging 220 12.4.9 Desktop布局 221 12.5 工程运行测试 223 进 阶 篇 第13章 仿真工程开发进阶I —— CAN LIN仿真 227 13.1 工程实例简介 227 13.1.1 网络拓扑图 227 13.1.2 实现功能 228 13.2 工程实现 229 13.2.1 添加LIN总线支持 229 13.2.2 数据库LDF文件设计与导入 230 13.2.3 添加环境变量 236 13.2.4 面板设计 237 13.2.5 CAPL实现 248 13.2.6 Trace窗口与Logging 256 13.2.7 设置Desktop布局 257 13.3 工程运行测试 257 13.4 扩展话题——关于网络管理 258 第14章 仿真工程开发进阶II——仿真 测试 260 14.1 基于CANoe的自动化测试系统简介 260 14.2 Test Feature Set功能简介 261 14.2.1 约束和条件设置函数 261 14.2.2 信号测试函数 261 14.2.3 等待指示函数 262 14.2.4 测试控制函数 263 14.2.5 故障注入函数 263 14.2.6 测试判别函数 264 14.2.7 测试架构函数 264 14.2.8 测试报告函数 265 14.3 Test Service Library功能简介 265 14.3.1 检测函数 266 14.3.2 状态报告函数 268 14.3.3 激励函数 269 14.3.4 检测控制函数 270 14.4 测试单元与测试模块简介 270 14.4.1 测试单元与测试模块的区别 271 14.4.2 测试模块架构 271 14.5 工程实例简介 272 14.6 工程实现 272 14.6.1 添加CAPL测试模块 272 14.6.2 测试方法分析 274 14.6.3 CAPL测试用例 276 14.6.4 CAPL测试模块 282 14.7 工程运行测试 283 14.7.1 测试执行 283 14.7.2 测试报告 285 14.8 扩展话题——关于vTESTstudio 286 第15章 仿真工程开发进阶III —— 仿真 诊断 288 15.1 汽车诊断技术概述 288 15.1.1 诊断术语 289 15.1.2 OBD诊断与增强型诊断 289 15.1.3 诊断协议 289 15.1.4 诊断接口 290 15.1.5 诊断周期 291 15.1.6 UDS诊断服务 291 15.1.7 Vector诊断工具简介 292 15.2 CANoe诊断功能简介 293 15.2.1 诊断描述文件 294 15.2.2 安全访问服务 294 15.2.3 诊断测试窗口 295 15.3 CANoe常见诊断函数 295 15.3.1 通信/设定功能函数 295 15.3.2 安全访问函数 296 15.3.3 对象访问函数 296 15.3.4 参数访问函数 297 15.3.5 诊断测试函数 298 15.4 工程实例简介 299 15.5 工程实现 299 15.5.1 CDD文件导入 299 15.5.2 Security DLL文件配置 301 15.5.3 诊断控制台 301 15.5.4 诊断测试面板 302 15.5.5 添加Tester节点 314 15.5.6 虚拟诊断响应 317 15.5.7 自动化诊断测试方法分析 318 15.5.8 CAPL诊断测试模块实现 319 15.5.9 制作GenerateKey.dll 332 15.6 工程运行测试 332 15.6.1 手动诊断测试面板 332 15.6.2 自动化诊断测试模块 333 15.7 扩展话题——VT System在测试中的应用 335 第16章 CANoe高级编程 —— COM Server技术 336 16.1 COM接口技术简介 336 16.2 CANoe COM Server简介及设置 336 16.3 工程实例简介 337 16.4 开发实现 —— CANoe工程 338 16.4.1 CANoe工程中*调用的系统变量 338 16.4.2 CANoe工程中*调用的总线信号 339 16.4.3 新建CANoe CAPL函数 340 16.5 开发实现——VB.NET工程 342 16.5.1 新建VB.NET工程 342 16.5.2 添加CANoe相关引用 342 16.5.3 界面设计 344 16.5.4 全局变量定义 348 16.5.5 CANoe应用和Measurement对象控制 348 16.5.6 CANoe事件处理 349 16.5.7 系统变量操作 349 16.5.8 总线信号操作 350 16.5.9 CAPL函数调用 350 16.5.10 完整代码 351 16.6 工程运行测试 362 16.7 扩展话题 —— Python脚本调用COM Server 362 第17章 CANoe高级编程 —— CAPL DLL技术 363 17.1 CAPL DLL技术概述 363 17.1.1 CAPL DLL函数列表 364 17.1.2 CAPL回调函数 365 17.2 工程实例简介 366 17.3 工程实现 —— VC.NET开发CAPL DLL 366 17.3.1 创建用户自定义函数 —— CRC算法函数 366 17.3.2 创建用户自定义函数 —— 读取MAC地址函数 369 17.4 工程实现 —— CANoe调用CAPL DLL 371 17.4.1 如何添加CAPL DLL 371 17.4.2 DLL路径搜索顺序 372 17.4.3 添加系统变量 372 17.4.4 添加一个测试面板 372 17.4.5 添加CAPL代码 375 17.5 工程运行测试 378 17.6 扩展话题 —— CANoe仿真工程代码保护 379 17.6.1 编译后删除源代码 379 17.6.2 加密后删除源代码 380 17.6.3 加密保护与硬件绑定 380 第18章 CANoe高级编程 —— C Library API技术 381 18.1 CCL库文件概述 381 18.2 常用CCL接口函数介绍 381 18.3 工程实例简介 383 18.4 工程实现 —— VC.NET开发CCL 384 18.4.1 如何创建一个CCL库文件 384 18.4.2 CCL代码实现 386 18.5 工程实现 —— CANoe调用CCL 389 18.5.1 如何调用CCL API 389 18.5.2 添加系统变量 390 18.5.3 添加测试面板 390 18.5.4 添加IG模块 392 18.6 工程运行测试 392 第19章 CANoe高级编程 —— 自定义菜单插件 394 19.1 自定义菜单插件概述 394 19.2 工程实例简介 394 19.3 开发自定义菜单插件 394 19.3.1 创建和配置工程 395 19.3.2 代码实现 396 19.4 在CANoe中配置自定义菜单插件 401 19.5 工程运行测试 401 19.6 扩展话题 —— 关于C#语言 402 第20章 CANoe高级编程 —— .NET测试模块开发 403 20.1 .NET测试模块开发概述 403 20.2 .NET测试环境设定 404 20.2.1 配置CANoe的.NET文件编辑器 404 20.2.2 配置Visual C#项目开发模板 405 20.3 工程实例简介 406 20.4 工程实现 —— .NET测试模块 406 20.4.1 添加.NET测试模块 406 20.4.2 调用CAPL测试库中的测试用例 407 20.4.3 新建C#测试模块工程 409 20.4.4 数据库和系统变量的访问方法 409 20.4.5 .NET测试模块开发 410 20.4.6 .NET测试模块配置和编译 414 20.5 工程运行测试 415 20.6 扩展话题 —— XML测试模块 416 第21章 CANoe高级编程 —— TCP/IP通信编程 419 21.1 网络传输协议简介 419 21.1.1 网际层 420 21.1.2 传输层 420 21.1.3 Socket编程简介 421 21.2 .NET编程中TCP/IP相关类的简介 421 21.3 CAPL中TCP/IP相关函数的简介 424 21.4 工程实例简介 426 21.5 工程实现 —— C# TCP/IP服务器端开发 427 21.5.1 新建一个工程 427 21.5.2 界面设计 427 21.5.3 C#代码实现 429 21.6 工程实现 —— CANoe TCP/IP客户端开发 434 21.6.1 创建仿真工程 434 21.6.2 新建系统变量 434 21.6.3 Panel设计 435 21.6.4 CAPL实现 438 21.7 工程运行测试 446 21.8 扩展话题 —— UDP Socket通信 447 第22章 CANoe高级编程 —— FDX协议与HIL系统通信 449 22.1 FDX协议 449 22.1.1 Datagram 450 22.1.2 创建Data Groups和Items 454 22.1.3 FreeRunning模式 455 22.2 工程实例简介 455 22.3 工程实现 —— CANoe项目 456 22.3.1 创建FDX Description文件 456 22.3.2 配置FDX 457 22.4 工程实现 —— VC.NET项目 458 22.4.1 VC.NET中FDX相关类简介 458 22.4.2 Datagram结构体定义 459 22.4.3 界面设计 461 22.4.4 代码实现 463 22.5 工程运行测试 480 22.6 扩展话题 —— 硬件在环 481 第23章 CANoe高级编程 —— 调用LabVIEW 482 23.1 LabVIEW Integration系统设置要求 482 23.2 工程实例简介 482 23.3 工程实现 —— LabVIEW 483 23.3.1 创建共享变量 483 23.3.2 创建DemoVI 484 23.4 工程实现 —— CANoe 485 23.4.1 启用LabVIEW Integration设置 485 23.4.2 设置Signal Generators 486 23.4.3 CAPL调用LabVIEW共享变量 487 23.4.4 添加一个Desktop布局 488 23.5 工程运行测试 488 23.6 扩展话题 —— LabVIEW调用CANoe 490 附录A 英文缩写对照表 491 参考文献 494 |
精彩试读 | |
CANoe开发环境 本章内容: * CANoe主界面; * CANoe选项卡和功能区; * 常用仿真、诊断和测试窗口。 CANoe是一个高度集成的开发环境,提供多种图形化窗口,可以用于总线的实时仿真、测试和诊断,并对相关的数据实现抓取和分析。对于CANoe初学者,需要花一段时间熟悉CANoe的用户界面和开发环境。本章针对CANoe 11.0软件的功能区和常用窗口进行介绍,帮助初学者快速入门。由于测量和分析相关窗口的内容及其对应的功能较复杂,此部分内容将在第4章单独介绍。 3.1 CANoe主界面 当计算机安装完CANoe后,用户只需选择“开始”→“所有程序”→Vector CANoe 11.0→CANoe 11.0系统菜单命令即可启动CANoe。 为了快速熟悉CANoe的常用功能,读者可以打开Vector官方的自带例程,一边学习一边实践相关功能。本章将以Easy.cfg作为例程,其默认路径为C:\Users\Public\Documents\ Vector\CANoe\Sample Configurations 11.0.42\CAN\Easy,可以通过双击Easy.cfg打开例程,此时CANoe主界面如图3.1所示。 图3.1 CANoe主界面 单击左上角的Start图标,运行该仿真工程(CANoe中称为Start Measurement, 也可以称为开始测量)。在Control面板中,可以通过鼠标单击按钮或拖动滑块等控件改 变关联的变量或CAN报文的信号值,同时在Display面板中将动态地显示改变的变量或信号值。 3.2 CANoe选项卡和功能区 CANoe 9.0以上的版本中,Vector采用Microsoft一个全新的Ribbon风格用户界面,不再使用传统的菜单和工具栏,取而代之是全新的“选项卡和功能区”用户界面。单击上部的选项卡标签,功能区将显示该选项卡的功能,读者可以由此操作相应的功能或者轻松进入相关的窗口。CANoe选项卡和功能区界面如图3.2所示。 图3.2 CANoe选项卡和功能区界面 CANoe主界面主要有以下功能区部分。 * File(文件) * Home(主功能区) * Analysis(分析) * Simulation(仿真) * Test(测试) * Diagnostics(诊断) * Environment(环境) * Hardware(硬件) * Tools(工具) * Layout(布局) CANoe软件的*顶端是默认的快速访问工具栏(包含开始、停止、打开、保存、另存为和选项等),为用户*常用的功能,用户可以通过快速访问工具栏*右端的下拉按钮设置显示或者隐藏快速访问的功能按钮。 3.2.1 File菜单 File菜单主要用于工程文件的相关操作及属性设定(本书习惯将Configuration File(*.cfg)称为仿真工程文件或工程文件,下同)。表3.1列出了File菜单选项及其功 能描述。 表3.1 File菜单选项及功能描述 选 项 功 能 描 述 Save(保存):保存工程文件 Save As(另存为):将工程文件保存到新的文件夹下或者另存为新的文件名 Open(打开):选择和打开工程文件 Last Used Last Used(*近使用):列出*近使用的工程文件 New New(新建):新建工程文件。可以根据模板创建 Configuration Overview Configuration Overview(配置总览):当前工程文件的详细信息 Help Help(帮助):显示及管理已经安装的授权选项、查看帮助文档和显示当前软件版本信息等 Sample Configurations Sample Configuration(实例工程文件):可以看到根据不同总线分类的例程工程文件 Options(设置):可以修改软件的设置和当前的工程文件设定 Support(技术协助):可以将相关文件压缩并以加密的方式发送给Vector技术支持部门 Exit(退出):退出CANoe软件 |