您现在的位置是:课程
Simulink仿真及代码自动生成技术
2023-11-06 22:33课程 人已围观
Hyowinner孙忠潇老师拥有丰富的MATLAB/Simulink实战经验,在MATHWORKS官方中文论坛做超级版主期间,解答了数千个技术问题。并结合自身经验编写了《Simulink仿真及代码生成技术入门到精通》一书,深受读者好评。在作为汽车电子高级软件工程师从业期间,孙老师总结了多套提高工作效率的工作方法,特开设了此门课程,帮助软件工程师们提高工作效率。本课程主要解决下面这些情况下遇到的问题:
1、模型Model的回调函数:
1)介绍ModelCallback的设置方法和类别 2)介绍常用InitFcn来初始话模型数据,常用StopFcn来绘制波形替代Scope的绘图功能
2、Simulink模型代数环问题(进阶)
分析代数环出现的原因,是否建模时依据的方程等号左右两边存在同一个变量。 如果有,那么则调整方程为标准状态方程表达式,再建模。 所以,不是所有的代数环都是用增加延迟环节来解决。
3、信号的传播
信号传播原理的深入解释,信号传播名称显示与否的自动化设置,以及信号传播显示信号名的使用场景说明。
4、模块Block的回调函数
介绍模块的二十多种Block Callback的使用方法和触发条件。 InitFcn StartFcn ContitueFcn DeleteFcn PreSaveFcn NameChangeFcn MoveFcn CopyFcn ClipboardFcn UndoDeleteFcn LoadFcn StopFcn ContinueFcn DeleteChildFcn ModelCloseFcn DestroyFcn
5、模块端口的回调函数
1)阐述Simulink Callback的分类 2)教授如何设置模块或子系统的端口连接回调函数ConnectionCallback
6、Simulink游戏开发——连连看
通过自动建立模型,自动添加模块,自动设置模块ConnectionCallback,自动判断信号线连接模块组是否为同一种类型等动作构成连连看游戏。 Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。它能够描述线性系统、非线性系统,能够支持单速率和多速率任务,并可以包容连续系统,离散系统或者二者混合的系统。模块是构成模型的要素,Simulink以模块为最小单位,通过信号线互相连接形成数据流。每个模块的参数通过GUI供用户调配,并且仿真的结果能够以数值和图像等形象化方式具现出来。Simulink自带了功能强大的模块库,还提供了各种回调函数供开发者自定义功能。工作之余,让开发工具也为我们做一些轻松愉快的事吧。Matlab开发的游戏已经不少,但是Simulink模型上开发的游戏的确是少之又少。本节课介绍如何使用Simulink模型和M语言共同构建一个基于模型的连连看游戏.
7、自定义模块GUI控件的回调函数(以驱动IO模块GUI为例)
1)介绍自定义模块的用途和Icon封装方式 2)通过驱动模块GUI的设计和Callback约束的编写告知同学们如何去约束自定义模块的控件行为 3)通过异常情况的出现说明一个问题,初始值和回调函数以外的M语句是可以造成异常情况的,但是当回调函数的执行被确保之后,就可以避免异常情况的出现。同时揭露Callback Editor Debug的不便之处。
8、正确高效地编写Simulink模块GUI的回调函数
0)解密部分版本MATLAB自身存在的不足 1)讲解上节课的demo中为什么set_param('maskVisibilities')不总是有效。 2)讲解Simulink GUI上控件回调函数可视化问题的解决方案,并提出一种高效地函数封装及调用方式。
9、占空比可变的PWM波建模
1)讲解DSP以及ARM等硬件产生PWM波形的原理 2)根据此原理建立Simulink模型仿真出占空比可变的PWM波形
10、模块的封装:
1)Icon command的使用及实例说明 2)Block GUI的制作及实例说明 3)Initial command的触发时机以及Mask信息的添加 4)线性模块子系统建模及封装,方便地通过GUI修改子系统内部模型的参数以观察多组参数下仿真结果的对比。
11、模块封装之三相电机绘制:
Mask Editor啥图像都能画,Simulink 自带的电机也不是复杂的事情。 复杂的Icon如何进行组件拆分和设计,如何进行实际位置的调试,此节课程进行完全解析。
12、自定义模块库及库显示用配置文件的自动生成
Simulink自定义模块库课程: 1) 模型及库的区别和联系 2) 如何创建自定义库 3)如何使用Perl脚本自动生成M函数文件配置库文件
13、S函数基本知识框架
14、Level 1 M S函数展示动态FFT仿真:
1)简单介绍LEVEL 1 M S函数的构成和运行原理, Simulink动态仿真与Matlab一般静态仿真的区别。 2)自定义S函数实现FFT动态仿真,识别正弦波频率。
15、S函数自定模块——仿真用变色彩LED模块:
1)自定义一个彩色LED模块,在仿真过程中输入不同自动显示不同的颜色。 2)MaskDisplay参数的动态配置 3.绘制图型并填充颜色的方法
16、S函数实现多个采样时刻更新一次输出:
对于Matlab中文论坛上某些同学的问题制作此课,让模块多个时刻采样才更新一次输出。
17、S函数实现仿真数据实时存储:
To workspace只有在仿真结束时才能将数据保存到workspace,那么通过S函数可以自定义每个采样点都能存储过程数据的模块。
18、Simulink实现三维动态绘图
19、C mex S函数调用既有C代码进行仿真:
1)回顾S函数的执行顺序 2)介绍常用SimStruc宏函数 3)调用既有C代码创建C mex S函数进行仿真
20、模型功能的自动测试便利化方案
Simulink模型如何自动化测试呢,每次拖动模块构成不同的信号好麻烦,每次更改Configuration parameter也好头疼。Hyowinner校长告诉你如何将模型跟配置以及测试向量分离开,使得测试变的轻松便利。使得团队作业时,测试部分只需要配置管理测试用例,不需要对模型作任何编辑和变更。
1、模型Model的回调函数:
1)介绍ModelCallback的设置方法和类别 2)介绍常用InitFcn来初始话模型数据,常用StopFcn来绘制波形替代Scope的绘图功能
2、Simulink模型代数环问题(进阶)
分析代数环出现的原因,是否建模时依据的方程等号左右两边存在同一个变量。 如果有,那么则调整方程为标准状态方程表达式,再建模。 所以,不是所有的代数环都是用增加延迟环节来解决。
3、信号的传播
信号传播原理的深入解释,信号传播名称显示与否的自动化设置,以及信号传播显示信号名的使用场景说明。
4、模块Block的回调函数
介绍模块的二十多种Block Callback的使用方法和触发条件。 InitFcn StartFcn ContitueFcn DeleteFcn PreSaveFcn NameChangeFcn MoveFcn CopyFcn ClipboardFcn UndoDeleteFcn LoadFcn StopFcn ContinueFcn DeleteChildFcn ModelCloseFcn DestroyFcn
5、模块端口的回调函数
1)阐述Simulink Callback的分类 2)教授如何设置模块或子系统的端口连接回调函数ConnectionCallback
6、Simulink游戏开发——连连看
通过自动建立模型,自动添加模块,自动设置模块ConnectionCallback,自动判断信号线连接模块组是否为同一种类型等动作构成连连看游戏。 Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。它能够描述线性系统、非线性系统,能够支持单速率和多速率任务,并可以包容连续系统,离散系统或者二者混合的系统。模块是构成模型的要素,Simulink以模块为最小单位,通过信号线互相连接形成数据流。每个模块的参数通过GUI供用户调配,并且仿真的结果能够以数值和图像等形象化方式具现出来。Simulink自带了功能强大的模块库,还提供了各种回调函数供开发者自定义功能。工作之余,让开发工具也为我们做一些轻松愉快的事吧。Matlab开发的游戏已经不少,但是Simulink模型上开发的游戏的确是少之又少。本节课介绍如何使用Simulink模型和M语言共同构建一个基于模型的连连看游戏.
7、自定义模块GUI控件的回调函数(以驱动IO模块GUI为例)
1)介绍自定义模块的用途和Icon封装方式 2)通过驱动模块GUI的设计和Callback约束的编写告知同学们如何去约束自定义模块的控件行为 3)通过异常情况的出现说明一个问题,初始值和回调函数以外的M语句是可以造成异常情况的,但是当回调函数的执行被确保之后,就可以避免异常情况的出现。同时揭露Callback Editor Debug的不便之处。
8、正确高效地编写Simulink模块GUI的回调函数
0)解密部分版本MATLAB自身存在的不足 1)讲解上节课的demo中为什么set_param('maskVisibilities')不总是有效。 2)讲解Simulink GUI上控件回调函数可视化问题的解决方案,并提出一种高效地函数封装及调用方式。
9、占空比可变的PWM波建模
1)讲解DSP以及ARM等硬件产生PWM波形的原理 2)根据此原理建立Simulink模型仿真出占空比可变的PWM波形
10、模块的封装:
1)Icon command的使用及实例说明 2)Block GUI的制作及实例说明 3)Initial command的触发时机以及Mask信息的添加 4)线性模块子系统建模及封装,方便地通过GUI修改子系统内部模型的参数以观察多组参数下仿真结果的对比。
11、模块封装之三相电机绘制:
Mask Editor啥图像都能画,Simulink 自带的电机也不是复杂的事情。 复杂的Icon如何进行组件拆分和设计,如何进行实际位置的调试,此节课程进行完全解析。
12、自定义模块库及库显示用配置文件的自动生成
Simulink自定义模块库课程: 1) 模型及库的区别和联系 2) 如何创建自定义库 3)如何使用Perl脚本自动生成M函数文件配置库文件
13、S函数基本知识框架
14、Level 1 M S函数展示动态FFT仿真:
1)简单介绍LEVEL 1 M S函数的构成和运行原理, Simulink动态仿真与Matlab一般静态仿真的区别。 2)自定义S函数实现FFT动态仿真,识别正弦波频率。
15、S函数自定模块——仿真用变色彩LED模块:
1)自定义一个彩色LED模块,在仿真过程中输入不同自动显示不同的颜色。 2)MaskDisplay参数的动态配置 3.绘制图型并填充颜色的方法
16、S函数实现多个采样时刻更新一次输出:
对于Matlab中文论坛上某些同学的问题制作此课,让模块多个时刻采样才更新一次输出。
17、S函数实现仿真数据实时存储:
To workspace只有在仿真结束时才能将数据保存到workspace,那么通过S函数可以自定义每个采样点都能存储过程数据的模块。
18、Simulink实现三维动态绘图
19、C mex S函数调用既有C代码进行仿真:
1)回顾S函数的执行顺序 2)介绍常用SimStruc宏函数 3)调用既有C代码创建C mex S函数进行仿真
20、模型功能的自动测试便利化方案
Simulink模型如何自动化测试呢,每次拖动模块构成不同的信号好麻烦,每次更改Configuration parameter也好头疼。Hyowinner校长告诉你如何将模型跟配置以及测试向量分离开,使得测试变的轻松便利。使得团队作业时,测试部分只需要配置管理测试用例,不需要对模型作任何编辑和变更。
上一篇:全栈工程师的自我修养
下一篇:微服务TSF产品功能介绍