Simulink的虚拟&非虚拟模块有什么区别?

Simulink模块可分为三个基本类别:

  • 虚拟模块(Virtual Blocks)
  • 非虚拟模块(Non-Virtual Blocks)
  • 条件虚拟模块(Conditionally Virtual Blocks)

虚拟模块

虚拟模块(Virtual Blocks)主要用于提高模型的可读性和可管理性,但它们不直接参与仿真计算。

虚拟模块有助于以图形方式组织模型,虽然在仿真中不起主动作用,但它们会影响其他模块的执行顺序

虚拟模块

如图所示,常见的虚拟模块包括:

  1. Goto 和 From:用于信号的传递,但不影响仿真结果。
  2. Mux 和 Demux:用于信号的合并提取。
  3. Goto Tag Visibility:定义 Goto 模块标记的作用域。
  4. Ground 和 Terminator: 端口处理。
  5. Signal Specification: 指定信号所需的属性。
  6. Inport: 自 R2022a版本起始终为虚拟模块。

非虚拟模块

非虚拟模块(Non-Virtual Blocks)是那些直接参与仿真计算并影响模型行为和输出结果的模块。

非虚拟模块在系统的仿真中起主动作用,每当添加或删除非虚拟模块,模型的行为将发生改变。

Simulink中大部分模块都是非虚拟模块,其中包括:

算术运算模块

这些模块用于执行基本的数学运算,例如:

  • Sum:执行加法、减法运算。
  • Product:执行乘法、除法运算。
  • Gain:对输入信号进行比例放大或缩小。

信号生成模块

这些模块用于生成各种类型的信号,例如:

  • Constant:生成一个常数信号。
  • Sine Wave:生成一个正弦波信号。
  • Pulse Generator:生成一个脉冲信号。

信号处理模块

这些模块用于对信号进行处理,例如:

  • Integrator:对输入信号进行积分。
  • Transfer Fcn:定义传递函数以处理信号。
  • Delay:对信号进行延迟处理。

逻辑运算模块

这些模块用于执行逻辑运算,例如:

  • Logical Operator:执行 AND、OR、NOT 等逻辑运算。
  • Compare To Constant:将输入信号与常数进行比较。
  • Switch:根据条件选择信号路径。

数据存储和操作模块

这些模块用于存储和操作数据,例如:

  • Memory:存储信号的过去值。
  • Data Store Read/Write:读取和写入数据存储。
  • MATLAB Function:执行自定义的 MATLAB 代码。

控制系统模块

这些模块用于设计和仿真控制系统,例如:

  • PID Controller:实现比例-积分-微分控制器。
  • State-Space:定义状态空间模型。
  • Discrete-Time Integrator:离散时间积分器。

其他常见非虚拟模块

  • Lookup Table:实现查找表功能。
  • S-Function:实现用户自定义的功能模块。
  • Scope:用于显示信号波形。

条件非虚拟模块

有些 Simulink 模块在某些情况下是虚拟的,而在其他情况下是非虚拟的。这种模块称为条件虚拟模块

条件虚拟模块

如图所示,条件虚拟模块包括:

  1. Bus Assignment/Creator/Selector:如果输入总线是虚拟的,则为虚拟模块。
  2. Trigger:当输出端口不存在时,为虚拟模块。
  3. In Bus Element: 输入总线是非虚拟总线并且包含可变大小信号时为非虚拟模块。
  4. Out Bus Element: 输出总线是非虚拟总线时为非虚拟模块。
  5. Outport:当模块位于任何子系统(条件或非条件)中并且不在根(顶层)Simulink 窗口中时为虚拟模块。
  6. Selector:当固定大小索引信号的输入维数指定为 1索引选项指定为全选索引向量(对话框)起始索引(对话框) 时,为虚拟模块。
  7. Enable: 仅当连接到Outport模块时为非虚拟模块。

总结

虚拟模块用于提高模型的可读性和可管理性,其作用可概括为:

  • 组织和简化模型
  • 信号路由和管理
  • 定义接口
  • 模型组织和导航

非虚拟模块是模型仿真和计算的核心部分,其作用包括:

  • 数学运算和逻辑操作
  • 信号生成和处理
  • 控制系统设计
  • 数据存储和操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值