【Simulink子系统】新手入门第二十天

Simulink子系统

  • 学习目标
  • 1.子系统介绍
  • 2条件执行子系统
    • 2.1使能子系统
    • 2.2触发子系统
    • 2.3触发使能子系统
  • 3.自定义库操作
  • 总结


学习目标

对于复杂的系统,直接对系统进行建模,会带来不便。而Simulink子系统可以较好地解决复杂系统的建模与仿真问题。

  • 了解Simulink子系统
  • 熟悉子系统的使用
  • 了解自定义库的操作
    【Simulink子系统】新手入门第二十天_第1张图片

1.子系统介绍

当用户模型的结构非常复杂时,可以通过把多个模块组合在子系统内的方式来简化模型的外观。利用子系统创建模型有如下优点:

  • 减少了模型窗口中显示的模块数目,从而使模型外观结构更清晰,增强了模型的可读性;
  • 在简化模型外观结构图的基础上,保持了各模块之间的函数关系;
  • 可以建立层级方块图,Subsystem模块是一个层级,组成子系统的其用户模块在另一层上。

2条件执行子系统

条件执行子系统的执行受到控制信号的控制,根据控制信号对条件子系统执行的控制方式的不同,可以将条件执行子系统划分为如下三种基本类型:
1.使能子系统
使能子系统是指当控制信号的值为正时,子系统开始执行。
2.触发子系统
触发子系统是指当控制信号的符号发生改变时(也就是控制信号发生过零时),子系统开始执行。触发子系统的触发执行有三种形式:

  • 控制信号上升沿触发:控制信号具有上升沿形式。
  • 控制信号下降沿触发:控制信号具有下降沿形式。
  • 控制信号的双边沿触发:控制信号在上升沿或下降沿时触发子系统。
    3.函数调用子系统
    函数调用子系统是在用户自定义的S-函数中发出函数调用时开始执行。

2.1使能子系统

使能子系统在控制信号为正值时的仿真步上开始执行。一个使能子系统有单个的控制输入,控制输入可以是标量值或向量值。

  • 如果控制输入是标量,那么当输入大于零时子系统开始执行;
  • 如果控制输入是向量,那么当向量中的任一分量大于零时子系统开始执行。

使能子系统在控制信号为正值时的仿真步上开始执行。一个使能子系统有单个的控制输入,控制输入可以是标量值或向量值。

  • 如果控制输入是标量,那么当输入大于零时子系统开始执行;
  • 如果控制输入是向量,那么当向量中的任一分量大于零时子系统开始执行。
    假设控制输入信号是正弦波信号,那么子系统会交替使能和关闭,如下图所示,图中向上的箭头表示使能系统,向下的箭头表示关闭系统。
    【Simulink子系统】新手入门第二十天_第2张图片

2.2触发子系统

触发子系统也是子系统,它只有在触发事件发生时才执行。触发子系统有单个的控制输入,称为触发输入(trigger input),它控制子系统是否执行。用户可以选择三种类型的触发事件,以控制触发子系统的执行。

  • 上升沿触发(rising):当控制信号由负值或零值上升为正值或零值(如果初始值为负)时,子系统开始执行;
  • 下降沿触发(falling):当控制信号由正值或零值下降为负值或零值(如果初始值为正)时,子系统开始执行;
  • 双边沿触发(either):当控制信号上升或下降时,子系统开始执行。

2.3触发使能子系统

第三种条件执行子系统包含两种条件执行类型,称为触发使能子系统。这样的子系统是使能子系统和触发子系统的组合,系统的判断流程如下图所示。
【Simulink子系统】新手入门第二十天_第3张图片
用户可以通过把Enable模块和Trigger模块从Ports&Subsystems模块库中拷贝到子系统中的方式来创建触发使能子系统,Simulink会在Subsystem模块的图标上添加使能和触发符号,以及使能和触发控制输入。用户可以单独设置Enable模块和Trigger模块的参数值。下图是一个简单的触发使能子系统。
【Simulink子系统】新手入门第二十天_第4张图片

3.自定义库操作

用户可以将自定义模块放在自己定制的库中,库就是指具备某种属性的一类块的集合。用户可以把外部库中的模块直接拷贝到用户模型中,而且当库中的源模块(称为库属块)改变时,从库中复制的块(称为引用块)也可以自动更改。
利用库的这个特性,用户可以创建自己的模块库或者使用其用户用户创建的模块库,这样就可以保证用户模型始终包含这些模块的最新版本。
在此给出模块库操作的一些术语,这对于理解库的作用是非常重要的。

  • 库:某些模块的集合。
  • 库属块:库中的一个模块。
  • 引用块:库中模块的一个拷贝。
  • 关联:引用块与其库属块之间的连接,这种连接允许Simulink在改变库属块时也相应地更改引用块。
  • 复制:复制一个库属块或引用块,也就是拷贝一个库属块或其用户引用块,从而再创建一个引用块的操作,该过程如图所示。
    复制:复制一个库属块或引用块,也就是拷贝一个库属块或其用户引用块,从而再创建一个引用块的操作,该过程如下图所示。
    【Simulink子系统】新手入门第二十天_第5张图片

总结

以上就是今天学习的内容,坚持每天打卡!

你可能感兴趣的:(matlab编程,matlab,开发语言)