声明:本系列博客参考有关专业书籍,截图均为自己实操,仅供交流学习!
引入
前面对于简单的动态系统仿真,可以直接建立模型,然后仿真。但是对于复杂的系统,直接建立系统会显得杂乱无章,下面介绍子系统的建立,为复杂系统的建立打下基础。
一、简单子系统
①直接使用Subsystem
②选择已有模块生成
二、高级子系统
高级子系统也叫条件执行子系统,其是否执行受控制信号的控制,分为以下几种类型:
①使能子系统(Enabled):控制信号为正时,子系统执行。
②触发子系统(Triggered):控制信号符号变化时,子系统执行。分上升沿触发、下降沿触发、双边沿触发三种。
③函数子系统(Function):用户自定义的S-function中发出函数调用时,子系统执行。
注:Simulink系统的最高层不允许使用Enabled和Triggered信号,而允许在子系统中使用。
1、使能子系统
Unary Minus模块用于将信号反相,用在这里即控制方波信号为负时,第二个使能子系统执行。下面分别为两个使能子系统的相关设置:
状态重置reset表示在使能子系统开始执行时,系统中的状态将被重新设置为初始参数值;转台保持held表示在子系统开始执行时,状态保持不变。
还是和之前博客同样的问题,信号频率与设置的预期不一致??
2、触发子系统
三个触发子系统分别设置为上升沿触发、下降沿触发、双边沿触发(任一沿):
注:这里可以发现触发器类型中有一项“函数调用”,用于函数调回,即当输入信号满足某一函数条件时,模块开始执行(也就是说函数子系统包含在触发子系统中)。
3、其他子系统
①触发使能子系统
触发与使能条件均满足时,子系统才开始执行!
注:所有的条件执行子系统(高级子系统)不允许出现多个触发或使能信号,若必须使用多个控制信号,必须先使用逻辑操作符将控制信号组合,产生单一的触发信号!
②原子子系统
- 子系统为一实际的模块,需要按顺序连续执行
- 子系统作为一个整体进行仿真,功能类似于一个单独的系统模块
- 子系统中的模块在子系统中被排序执行
三、子系统封装
之前介绍的系统仿真前,需要对子系统中各模块参数进行逐一设置,带来诸多不便。子系统封装可以实现只对子系统参数进行设置,而无需关心子系统内部模块的实现情况!
左键点击子系统上部会出现“子系统模块”选项,点击创建封装即可弹出“封装编辑器”
红框四个窗口代表不同功能:
①参数与对话框(Parameters & Dialog)
最重要,增加或删除子系统参数对话框中的变量及属性。变量类型有3类:Edit(可编辑型)、Check box(复选框型)、Popup(下拉菜单型)。
- 用户可以从左侧添加功能进入Dialog box中,然后通过右击对该模块进行删除、复制和剪切等操作。
- Variable(变量):输入变量的名称。
- Type(类型)栏主要用于设置模块显示的封装类型。
- Description(名称)栏主要用于输入描述文本。
- Help(提示)栏主要用于输入帮助文本。
②代码(Code)
初始化回调在这里,可通过命令函数可设置子系统参数初始值设定,可对图标绘制函数的初始值进行设置等。
- 这部分通常用于定义或修改模块的内部逻辑和功能。
- 在封装编辑器中,代码可能涉及自定义函数、算法或其他实现模块特定行为的脚本。
- 通过编写或修改代码,用户可以精确地控制模块的行为和性能。
③约束(Constraints)
- 约束用于定义模块输入和输出之间的关系或限制。
- 这些约束可以确保模块在特定条件下正常工作,或者在满足特定条件时触发特定的行为。
- 例如,约束可以限制输入值的范围,或要求输入和输出之间满足特定的数学关系。
④图标(Icon)
如plot代表图标是显示出曲线,dpoly代表图标是显示传递函数。
- 图标用于自定义模块在Simulink界面中的显示方式。
- 通过Icon选项卡,用户可以创建具有特定形状、颜色和文本的图标,以便更轻松地识别和管理模块。
- Drawing commands栏允许用户输入绘制模块图标的命令,Simulink提供了一组显示文本、一个或多个图表或显示传递函数的命令,用户可以使用这些命令来绘制图标。
四、模块库技术
自定义模块太多时不好组织管理,模块库技术可组织和管理具有某种属性的同一类模块。模块库即具有某种属性的一类模块的集合,库浏览器的树形分支菜单就是分好不同领域的模块库,用户也可建立自己的模块库。
往期精彩
STM32专栏(付费9.9)http://t.csdnimg.cn/E2F88
OpenCV-Python专栏(付费9.9)http://t.csdnimg.cn/zK1jV
AI底层逻辑专栏(付费9.9)http://t.csdnimg.cn/zic0f
机器学习专栏(免费)http://t.csdnimg.cn/FaXzAFreeRTOS专栏(免费)http://t.csdnimg.cn/SjIqU电机控制专栏(免费)http://t.csdnimg.cn/FNWM7