我是靠谱客的博主 缥缈金针菇,最近开发中收集的这篇文章主要介绍Simulink与控制系统仿真笔记03Simulink与控制系统仿真笔记03,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 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进入仿真设置界面

image-20220526103848416

3.2.2.1仿真器参数设置

1.仿真时间

开始时间:一般是0

结束时间:模型运行的理论是时间

步长:没执行一次计算的最小时间间隔

运行次数= 总时间/步长

而模型实际的计算时间由很多因素决定

2.仿真步长模式

变步长(Variable -step):提供误差控制和过零控制

固定步长(Fixed-step):不提供误差控制和过零控制

image-202205261047121523.变步长模式解码器

  1. ode45:默认值,适用于大多数连续或者离散系统,但是不适用刚性(stiff)系统
  2. ode23:
  3. ode113:
  4. ode15s:适用刚性系统
  5. ode23s:
  6. ode23t:
  7. ode23tb:
  8. discrete:当simulink检测到模型没有连续状态时使用它

4.固定步长模式解法器

  1. ode5
  2. ode4
  3. ode3
  4. ode2
  5. ode1
  6. 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模块库简介

  1. 连续模块continuous
  2. 非连续模块discontiuous
  3. 离散模块discrete
  4. 逻辑和位操作模块 logic and bit operations
  5. 查找表模块
  6. 数学模块
  7. 模型检测模块
  8. 模型扩充模块
  9. 端口和子系统模块
  10. 信号属性模块
  11. 信号线路模块
  12. 接收器模块
  13. 输入源模块
  14. 用户自定义模块

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

image-20220526183827399

已知前向通道传递函数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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部