手把手教你学 Simulink (1.3)--Simulink 的模块库及其模块介绍

目录

1. Sources(源模块)

2. Sinks(接收模块)

3. Math Operations(数学运算模块)

4. Continuous(连续模块)

5. Discontinuities(不连续模块)

6. Discrete(离散模块)

7. Lookup Tables(查找表模块)

8. User-Defined Functions(用户定义函数模块)

9. Signal Routing(信号路由模块)

10. Ports & Subsystems(端口和子系统模块)

11. Additional Math & Discrete(附加数学和离散模块)

12. HDL Coder(HDL 代码生成模块)

总结


Simulink 提供了丰富的模块库,这些模块库包含了各种类型的模块,用于构建和仿真动态系统。以下是一些常用的模块库及其模块的详细介绍:

1. Sources(源模块)

源模块用于生成各种信号,作为系统输入。

  • Constant:生成常数值信号。
  • Sine Wave:生成正弦波信号。
  • Step:生成阶跃信号。
  • Ramp:生成斜坡信号。
  • Random Number:生成随机数信号。
  • Clock:生成当前仿真时间信号。
  • From Workspace:从 MATLAB 工作区读取数据。
  • Signal Generator:生成各种类型的周期信号。
  • Pulse Generator:生成脉冲信号。
  • Repeating Sequence:生成重复序列信号。
  • Uniform Random Number:生成均匀分布的随机数信号。
  • Band-Limited White Noise:生成带限白噪声信号。

2. Sinks(接收模块)

接收模块用于显示或存储信号,作为系统输出。

  • Scope:显示信号的波形图。
  • To Workspace:将信号数据保存到 MATLAB 工作区。
  • To File:将信号数据保存到文件。
  • Display:显示信号的数值。
  • XY Graph:绘制两个信号的 XY 图。
  • Terminator:用于终止未使用的信号线。
  • Outport:将信号输出到子系统外部。
  • Stop Simulation:当满足某个条件时停止仿真。

3. Math Operations(数学运算模块)

数学运算模块用于执行各种数学运算。

  • Sum:对多个信号进行加法或减法运算。
  • Product:对多个信号进行乘法或除法运算。
  • Math Function:执行各种数学函数,如绝对值、平方根等。
  • Trigonometric Function:执行三角函数运算,如正弦、余弦等。
  • Abs:计算信号的绝对值。
  • Sign:计算信号的符号。
  • MinMax:计算多个信号的最大值或最小值。
  • Relational Operator:执行关系运算,如大于、小于等。
  • Logical Operator:执行逻辑运算,如与、或、非等。
  • Rounding Function:执行四舍五入、向上取整、向下取整等运算。
  • Algebraic Constraint:用于代数约束。
  • Polynomial:计算多项式。
  • Matrix Gain:计算矩阵乘法。
  • Dot Product:计算点积。
  • Complex to Magnitude-Angle:将复数转换为幅值和相角。
  • Complex to Real-Imag:将复数转换为实部和虚部。

4. Continuous(连续模块)

连续模块用于模拟连续时间系统的行为。

  • Integrator:对信号进行积分运算。
  • Derivative:对信号进行微分运算。
  • Transfer Fcn:实现传递函数。
  • State-Space:实现状态空间模型。
  • Zero-Pole:实现零极点模型。
  • Transport Delay:引入传输延迟。
  • Variable Transport Delay:引入可变传输延迟。
  • PID Controller:实现 PID 控制器。
  • Second-Order Integrator:实现二阶积分器。

5. Discontinuities(不连续模块)

不连续模块用于模拟不连续的行为。

  • Saturation:限制信号的范围。
  • Dead Zone:引入死区。
  • Backlash:模拟齿轮间隙。
  • Rate Limiter:限制信号的变化率。
  • Quantizer:对信号进行量化。
  • Hit Crossing:检测信号是否穿过特定值。

6. Discrete(离散模块)

离散模块用于模拟离散时间系统的行为。

  • Discrete-Time Integrator:实现离散时间积分器。
  • Unit Delay:引入单位延迟。
  • Discrete Derivative:实现离散时间微分器。
  • Discrete Transfer Fcn:实现离散时间传递函数。
  • Discrete State-Space:实现离散时间状态空间模型。
  • Discrete Zero-Pole:实现离散时间零极点模型。
  • First-Order Hold:实现一阶保持。
  • Zero-Order Hold:实现零阶保持。
  • Transfer Fcn First Order:实现一阶传递函数。
  • Transfer Fcn Lead or Lag:实现超前或滞后传递函数。

7. Lookup Tables(查找表模块)

查找表模块用于实现非线性函数。

  • 1-D Lookup Table:实现一维查找表。
  • 2-D Lookup Table:实现二维查找表。
  • n-D Lookup Table:实现多维查找表。
  • Prelookup:用于预查找操作。
  • Interpolation Using Prelookup:使用预查找结果进行插值。

8. User-Defined Functions(用户定义函数模块)

用户定义函数模块用于实现自定义功能。

  • MATLAB Function:使用 MATLAB 代码定义函数。
  • MATLAB System:使用 System object 定义系统。
  • Simulink Function:定义 Simulink 函数。
  • S-Function:使用 C 或 MATLAB 代码定义 S-Function。
  • Level-2 MATLAB S-Function:使用 MATLAB 代码定义 Level-2 S-Function。
  • Initialize Function:定义初始化函数。
  • Output Function:定义输出函数。
  • Update Function:定义更新函数。
  • Terminate Function:定义终止函数。

9. Signal Routing(信号路由模块)

信号路由模块用于管理和路由信号。

  • Bus Creator:创建信号总线。
  • Bus Selector:从总线中选择信号。
  • Demux:将信号分解为多个信号。
  • Mux:将多个信号合并为一个信号。
  • Switch:根据条件选择信号。
  • Manual Switch:手动切换信号。
  • Multiport Switch:多端口开关。
  • Selector:从信号中选择子信号。
  • Goto:发送信号到指定位置。
  • From:接收来自 Goto 的信号。
  • Goto Tag Visibility:设置 Goto 标签的可见性。

10. Ports & Subsystems(端口和子系统模块)

端口和子系统模块用于创建和管理子系统。

  • Inport:将信号输入到子系统。
  • Outport:将信号输出到子系统外部。
  • Subsystem:创建子系统。
  • Trigger:触发子系统。
  • Enable:启用子系统。
  • Triggered Subsystem:创建触发子系统。
  • Enabled Subsystem:创建启用子系统。
  • Trigger and Enable:创建触发和启用子系统。

11. Additional Math & Discrete(附加数学和离散模块)

附加数学和离散模块提供了更多高级功能。

  • Rate Transition:处理不同采样率之间的信号转换。
  • Integer Delay:引入整数延迟。
  • Difference:计算信号的差分。
  • Transfer Fcn Real Zero:实现带有实零点的传递函数。
  • Transfer Fcn Lead or Lag:实现超前或滞后传递函数。
  • Decrement Real World:减少实数值。
  • Increment Real World:增加实数值。
  • Decrement Stored Integer:减少存储的整数值。
  • Increment Stored Integer:增加存储的整数值。

12. HDL Coder(HDL 代码生成模块)

HDL 代码生成模块用于生成 HDL 代码。

  • HDL Subsystem:创建 HDL 子系统。
  • HDL Algorithm:实现 HDL 算法。
  • HDL Bus Creator:创建 HDL 信号总线。
  • HDL Bus Selector:从 HDL 总线中选择信号。

总结

Simulink 提供了丰富的模块库,涵盖了从基本的信号生成和处理到复杂的数学运算和系统建模的各种功能。通过熟悉这些模块库及其模块,你可以更高效地构建和仿真动态系统。

### Simulink 中常用模块库及其功能 #### 信号源模块 信号源模块用于生成各种类型的输入信号,如正弦波、阶跃函数等。这类模块对于仿真系统的激励至关重要[^1]。 #### 数运算模块运算模块涵盖了基本的算术操作,例如加法(`Sum`)[^2] 和乘法 (`Product`) [^2] 。这些模块支持构建复杂的数表达式和算法实现。 #### 逻辑运算模块 逻辑运算模块提供了布尔代数中的基础元素,像 `Logical Operator` 可执行 AND, OR, NOT 等逻辑判断;而 `Relational Operator` 则用来比较两个数值之间的大小关系。 #### 控制模块 控制模块主要用于设计控制系统结构图内的组件,比如 PID 控制器可以方便地调整参数来优化响应特性。 #### 输入输出模块 (I/O Modules) 此类别下的工具允许模型与其他外部设备通信或交互数据流。典型代表有 `Inport`, `Outport` 实现了子系统内外部的数据交换接口。 #### 子系统模块 (Subsystem Module) 通过创建自定义封装好的子系统,能够简化大型复杂项目的管理难度并提高重用率。这其中包括但不限于条件执行子系统等功能扩展选项。 #### 接地与终端模块 为了确保电路仿真的准确性,通常会加入接地 (`Ground`) 来提供稳定的参考电位点以及终止未连接线路使用的终结元件 (`Terminator`)。 #### 常量模块 (Constant Block) 常量模块设定固定不变的数值作为其他计算过程的基础输入之一,在很多情况下充当初始状态或者配置参数的角色。 #### 显示与监控模块 示波器 (`Scope`) 是最常见的一种可视化调试手段,它能实时绘制变量随时间变化的趋势曲线以便观察动态行为特征。 #### 数据总线处理模块 当面对多通道或多维度的信息传递需求时,利用 `Bus Creator` 将多个信号组合成单一复合型对象传输,并可通过对应的分离装置 `Bus Selector` 提取出特定成员参与后续加工环节。 ```matlab % 创建一个简单的Simulink模型实例展示部分上述提到的功能 new_system('MyModel'); add_block('simulink/Sources/Step','MyModel/Step'); % 添加步进信号发生器 add_block('simulink/Math Operations/Gain', 'MyModel/Gain'); % 插入增益调节单元 set_param('MyModel/Gain', 'Gain', '2') ; % 设置放大倍数为2 add_block('simulink/Sinks/Scope', 'MyModel/Scope'); % 配置观测窗口 connect_lines('MyModel/Step/1', 'MyModel/Gain/1'); % 连接各部件形成回路 connect_lines('MyModel/Gain/1', 'MyModel/Scope/1'); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蘑菇二号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值