Simulink仿真及代码生成技术入门到精通(第二版)
作者:孙忠潇(Hyowinner)编著
出版社:北京航空航天大学出版社
出版时间:2023-11-01
ISBN:9787512442146
定价:¥109.00
第1章引言1
第2章Simulink界面介绍5
2.1Simulink是什么5
2.2Simulink的启动及Simulink Library Browser的介绍6
2.3模型的建立9
2.4打开既存模型10
2.5向模型中添加模块11
第3章Simulink模块13
3.1Simulink模块的组成要素13
3.1.1模块概述13
3.1.2Simulink模块的数据元素构成14
3.1.3Simulink模块的朝向15
3.1.4Simulink模块的属性及参数15
3.1.5Simulink模块的注解22
3.1.6Simulink模块的虚拟性23
3.1.7Simulink模块的采样时间23
3.2Simulink常用模块库26
3.2.1In/Out模块26
3.2.2Constant模块30
3.2.3Scope模块30
3.2.4四则运算模块36
3.2.5延时模块42
3.2.6Relational Operator模块46
3.2.7Logical Operator模块47
3.2.8Switch模块49
3.2.9积分模块52
3.2.10Saturation模块63
3.2.11Ground模块64
3.2.12Terminator模块65
3.2.13信号合并与分解模块65
3.2.14Bus Creator模块和Bus Selector模块70
3.2.15Vector Concatenate模块72
3.2.16Data Type Conversion模块73
3.2.17Subsystem模块75
3.3其他常用模块76
3.3.1信号源模块77
3.3.2信号接收模块88
3.3.3查找表模块93
3.3.4其他模块97
3.3.5用户自定义模块102
3.3.6不同速率的转换模块——Rate Transition模块107
3.3.7String模块库109
3.3.8Merge模块115
3.3.9C语言调用C Caller模块116
3.3.10CAN报文处理模块——CAN Pack/CAN Unpack模块121
第4章Simulink信号128
4.1Simulink信号概述128
4.2Simulink信号的操作128
4.2.1信号的创建与连接128
4.2.2信号的命名129
4.2.3信号的分支129
4.2.4信号的删除130
4.3Simulink信号的分类130
4.3.1Scalar信号130
4.3.2Vector信号131
4.3.3Matrix信号131
4.3.4Bus信号131
4.3.5FunctionCall信号132
4.3.6尺寸可变信号132
4.3.7未连接信号133
4.4Simulink信号的属性133
4.5Simulink信号的传播139
第5章Simulink子系统142
5.1Simulink子系统详解142
5.1.1子系统概述142
5.1.2Simulink模型的运行顺序143
5.1.3各种子系统的特点与功能145
5.2Simulink子系统实例147
5.2.1虚拟子系统与非虚拟子系统147
5.2.2触发使能子系统(条件子系统)148
5.2.3函数调用子系统(条件子系统)153
5.2.4While Iterator子系统(动作子系统)157
5.2.5变体子系统(选择子系统)160
5.2.6可配置子系统(选择子系统)162
第6章Simulink模型的仿真165
6.1模型的配置仿真165
6.1.1求解器165
6.1.2参数的配置169
6.2模型仿真数据记录178
6.2.1信号日志179
6.2.2仿真数据观察器181
6.3仿真的调试184
6.3.1Debugger的启动184
6.3.2Debugger的单步方法186
6.3.3Debugger的断点设置方法190
6.4仿真的加速195
6.5模型的架构195
6.5.1顶层196
6.5.2触发层196
6.5.3结构层197
6.5.4数据流层198
第7章Simulink的回调函数199
7.1什么是回调函数199
7.2回调跟踪199
7.3模型回调函数200
7.4模块回调函数202
7.5端口回调函数205
7.6参数回调函数206
7.7回调函数使用例程207
7.7.1打开模型时自动加载变量207
7.7.2双击一个模块来执行MATLAB脚本207
7.7.3开始仿真前执行命令208
7.7.4提示模块端口的连线情况209
7.7.5统计模型中所有模块的信息209
第8章Simulink模型操作自动化212
8.1M语言控制模型的仿真212
8.1.1sim控制模型进行仿真及参数配置212
8.1.2set_param控制模型仿真过程216
8.2M语言修改模块属性218
8.3M语言自动建立模型220
8.3.1模型的建立及打开220
8.3.2模块的添加、删除及替换221
8.3.3信号线的添加及删除223
8.3.4M语言自动创建模型223
第9章Stateflow建模226
9.1状态机建模要素226
9.2Stateflow状态与迁移——电梯控制实例229
9.3Stateflow之Simulink State和Simulink Function236
9.4Stateflow转移与节点应用案例——用状态机逐个处理字符240
9.5Graphical Function 并行状态机实现无人机遥控状态设计244
9.6Entry与Exit使跨层次转移避免接触父层状态边界253
9.7状态机事件应用——RT-Thread线程状态管理实例256
9.7.1实时操作系统原理简介257
9.7.2RT-Thread线程管理状态机案例258
9.8选择/循环语句建模方式261
9.8.1选择语句261
9.8.2循环语句264
第10章S函数268
10.1S函数概述268
10.2S函数的类型268
10.3S函数的要素269
10.4S函数的组成及执行顺序270
10.5不同语言编写的S函数272
10.5.1Level 1 M S函数273
10.5.2Level 2 M S函数278
10.5.3C MEX S函数286
第11章模块的封装313
11.1Mask Editor封装模块313
11.1.1封装模块构成的子系统314
11.1.2封装S函数编写的模块327
11.2编程自动封装模块329
11.2.1模块的属性329
11.2.2使用set_param和get_param封装模块332
11.2.3使用Simulink.Mask类封装模块336
11.3使用GUIDE封装模块345
第12章Simulink创建自定义库350
第13章Simulink自定义环境354
13.1Simulink环境自定义功能354
13.2Simulink工具栏菜单自定义354
13.3Simulink Library Browser菜单栏自定义357
13.4Simulink目标硬件自定义359
13.5Simulink参数对话框控制362
第14章Simulink代码生成技术详解364
14.1模型生成代码技术基础364
14.1.1Simulink模型的C代码生成364
14.1.2模型生成代码的优化365
14.1.3代码的有效性验证365
14.1.4其他验证方法367
14.2Simulink代码生成流程及技巧367
14.2.1传统代码生成配置方法368
14.2.2新版本代码生成配置方法381
14.2.3代码生成的流程392
14.2.4代码生成方法与技巧398
第15章TLC语言444
15.1TLC的作用444
15.2TLC的语法445
15.2.1基本语法445
15.2.2常用指令446
15.2.3注释446
15.2.4变量值扩展符446
15.2.5条件分支446
15.2.6开关分支447
15.2.7循环448
15.2.8文件流451
15.2.9记录451
15.2.10变量清除454
15.2.11语句换行连接454
15.2.12访问范围455
15.2.13输入文件控制455
15.2.14输出格式控制456
15.2.15指定模块生成代码的语言种类456
15.2.16断言457
15.2.17函数457
15.2.18变量类型458
15.2.19操作符和表达式459
15.2.20TLC内建函数461
15.2.21TLC命令行464
15.2.22TLC调试方法465
15.2.23tlc文件的覆盖度468
15.2.24TLC Profiler469
15.3为S函数编写tlc文件471
15.3.1支持代码生成的S函数472
15.3.2模块tlc文件的构成474
15.3.3模块TLC函数实例481
第16章基于模型设计487
16.1垂直起降飞行器488
16.1.1特点概述488
16.1.2案例飞行器介绍489
16.2需求分析491
16.3架构设计493
16.4功能设计495
16.5代码生成496
16.6功能验证498
16.6.1设置测试模型498
16.6.2设置测试文件500
16.6.3测试结果分析504
16.7集成验证507
16.7.1MIL仿真507
16.7.2SIL仿真511
16.7.3PIL仿真513
16.7.4HIL仿真517
16.8试飞验证517
写在最后的话519
参考文献520