概述
文章目录
- Simulink与控制系统仿真笔记03
- 3.1引言
- 3.2Simulink的使用
- 3.2.1Simulink的启动
- 3.2.2Simulink仿真设置
- 3.2.2.1仿真器参数设置
- 3.2.2.3诊断参数设置
- 3.2.2.4实时代码生成工具设置
- 3.2.2.5其他设置
- 3.2.3Simulink模块库简介
- 3.2.4Simulink功能模块的处理
- 3.2.4.1Simulink模块参数设置
- 3.2.4.2Simulink模块基本操作
- 3.2.4.3Simulink模块间连线处理
- 3.3Simulink自定义功能模块
- 3.3.3自定义功能模块的封装
- 3.4S函数设计与应用
- 3.4.1S函数的设计
- 3.5Simulink仿真举例
Simulink与控制系统仿真笔记03
3.1引言
simulink实际是有simu(仿真)+link(链接)两部分
3.2Simulink的使用
3.2.1Simulink的启动
命令窗口输入:simulink
3.2.2Simulink仿真设置
Ctrl+E进入仿真设置界面
3.2.2.1仿真器参数设置
1.仿真时间
开始时间:一般是0
结束时间:模型运行的理论是时间
步长:没执行一次计算的最小时间间隔
运行次数= 总时间/步长
而模型实际的计算时间由很多因素决定
2.仿真步长模式
变步长(Variable -step):提供误差控制和过零控制
固定步长(Fixed-step):不提供误差控制和过零控制
3.变步长模式解码器
- ode45:默认值,适用于大多数连续或者离散系统,但是不适用刚性(stiff)系统
- ode23:
- ode113:
- ode15s:适用刚性系统
- ode23s:
- ode23t:
- ode23tb:
- discrete:当simulink检测到模型没有连续状态时使用它
4.固定步长模式解法器
- ode5
- ode4
- ode3
- ode2
- ode1
- discrete
5.步长参数
对于变步长:
Maximun step size:
Initial steo size:一般时auto
6.仿真精度定义(变步长)
相关误差Relative tolerance 默认1e-3=0.1%
绝对误差absolute tolerance 默认1e-6
7.固定步长模式选择
multtasking:
混合任务模式 检测到两个模块工作在不同采样速率之间直接连接会报错,这样会导致一个模块的输出在领一个模块需要时无法利用。
这是需要速率转换模块;
unit delay模块 慢速模块—>unit delay 模块—>快速率模块
zero-order hold(零阶保持器)模块 快速率模块—>unit delay 模块—>慢速率模块
singlettasking:
这种模式不检测模块间的速率转换,在建立单任务模型时非常有用,在这种系统中不存在同步问题
Auto:
根据模型中的模块采样速率是否一致,自动切换multtasking或者singlettasking模式
8.输出选项
3.2.2.2工作空间数据导入导出设置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7QcQEgfT-1658732996967)(https://file2.kaopuke.com:8081/files_image/20230308/230401961533.png)]
load from workspace:
Save to workspace:
Save options:
3.2.2.3诊断参数设置
采样时间 sample time
数据完整性 data integrity
转换 conversion
链接 conectivity
兼容性 compatibility
模型引用 model referencing
3.2.2.4实时代码生成工具设置
用于与C语言编辑器的交换
3.2.2.5其他设置
优化optimization
硬件实现 hardware Implementation
模型引用 model referencing
3.2.3Simulink模块库简介
- 连续模块continuous
- 非连续模块discontiuous
- 离散模块discrete
- 逻辑和位操作模块 logic and bit operations
- 查找表模块
- 数学模块
- 模型检测模块
- 模型扩充模块
- 端口和子系统模块
- 信号属性模块
- 信号线路模块
- 接收器模块
- 输入源模块
- 用户自定义模块
3.2.4Simulink功能模块的处理
3.2.4.1Simulink模块参数设置
1.功能模块参数设置
2.示波器模块的参设置
3.2.4.2Simulink模块基本操作
3.2.4.3Simulink模块间连线处理
3.3Simulink自定义功能模块
两种方法:
- simulink/Commonly 模块库中的subsystem
- 将现有的模块组合起来形成新的模块
3.3.3自定义功能模块的封装
1.Icon 标签页
2.Initialzation标签页
3.Documentation标签页
3.4S函数设计与应用
S-Function
3.4.1S函数的设计
命令串口输入 edit Sfuntmpl.m
可以调用出s-function的模板
3.5Simulink仿真举例
已知前向通道传递函数G(s)
G
(
s
)
=
s
+
0.5
s
+
0.1
20
s
3
+
12
s
2
+
20
s
{G_{(s)}} = {{s + 0.5} over {s + 0.1}}{{20} over {{s^3} + 12{s^2} + 20s}}
G(s)=s+0.1s+0.5s3+12s2+20s20
simulink模型如下:
to workspace 模块记得要把输出数据形式改为数组Array
已知前向通道传递函数G(s)
G
(
s
)
=
s
+
0.5
s
+
0.1
20
s
3
+
12
s
2
+
20
s
{G_{(s)}} = {{s + 0.5} over {s + 0.1}}{{20} over {{s^3} + 12{s^2} + 20s}}
G(s)=s+0.1s+0.5s3+12s2+20s20
simulink模型如下:
to workspace 模块记得要把输出数据形式改为数组Array
最后
以上就是缥缈金针菇为你收集整理的Simulink与控制系统仿真笔记03Simulink与控制系统仿真笔记03的全部内容,希望文章能够帮你解决Simulink与控制系统仿真笔记03Simulink与控制系统仿真笔记03所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复