概述
子系统分为虚拟子系统和非虚拟子系统,非虚拟子系统又分为原子子系统和受外部信号触发,外部信号使能的触发子系统和使能子系统,还有跟流控制模块If,Switch,For,While模块配合使用的动作子系统,以及包含多个子系统在同一个时间仅能激活其中一个的可变子系统
-
Simulink子系统详解:
Simulink根据仿真特性将模块的属性分为虚拟模块(在仿真的过程中不起实际作用,主要是为了从框图上进行程序的层次划分以及保持模型的图形界面的整洁性)和非虚拟模块(在仿真过程中起实际作用),还存在一种条件虚拟模块;子系统是否是虚拟模块对于模型的各个模块的执行顺序有着直接的影响。
Simulink模型的运行顺序:Simulink模型计算顺序是基于时间采样和信号流向的,即按照时间的顺序执行[Sample time:-1继承输入信号采样时间,若没有输入信号,继承父层模型采样时间;如果模块无输入信号且本身处于顶层模型中,则继承系统解算器的步长。0连续采样时间。非零整数:离散采样时间。Inf:无穷大采样时间,即不采样]
显示模块的执行顺序:Display->Blocks->Sorted Executed Order
虚拟子系统:在模型中提供了图形化的层级显示,可简化模型外观,不影响模型的执行和代码生成。在模型执行期间,Simulink展开所有的虚拟子系统,在执行仿真前就展开子系统,和没有建立子系统时的效果一样
非虚拟/原子子系统:该系统内的模块作为一个单元执行,Simulink中的任何模块都可以放在原子子系统内,包括不同执行速率的模块
条件子系统:使能子系统,触发子系统,触发使能子系统,函数调用子系统
动作子系统:必须由If模块或Switch Case模块执行,与这些子系统模块连接的所有动作子系统不许具有相同的采样时间
选择子系统:
可变子系统:内部包括多个子系统,当某条件成立时执行与之相应的子系统。每个子系统配置一个变量的值,每次仿真时根据这个变量的值决定内部哪一个子系统处于激活状态
可配置子系统:用来代表用户自定义苦衷的任意模块,只能在用户自定义库中使用,动态表示自定义库中的某一个模块
-
Simulink子系统实例:
虚拟和非虚拟子系统:选中模块按下CTRL+G将其封装为虚拟子系统
触发使能子系统:使能子系统和触发子系统的组合,在使能和触发两条件同时满足时执行相应的动作;触发时间的判断优先于使能信号
函数调用子系统:函数调用信号
While子系统(动作子系统):whie子系统创建类似C语言的循环控制流语句
可变子系统(选择子系统):封装多个child子系统
可配置子系统(选择子系统):只能在用户自定义的模块库中使用;该系统设计者可以任意切换子系统的内部模块,快速比较那种组合安祖系统设计需求
最后
以上就是迷你大船为你收集整理的Simulink子系统的全部内容,希望文章能够帮你解决Simulink子系统所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复