当前位置: 首页 > news >正文

【Simulink系列】——Simulink子系统子系统封装模块库技术

声明:本系列博客参考有关专业书籍,截图均为自己实操,仅供交流学习!

引入

前面对于简单的动态系统仿真,可以直接建立模型,然后仿真。但是对于复杂的系统,直接建立系统会显得杂乱无章,下面介绍子系统的建立,为复杂系统的建立打下基础。

一、简单子系统

①直接使用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)icon-default.png?t=N7T8http://t.csdnimg.cn/E2F88

OpenCV-Python专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/zK1jV

AI底层逻辑专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/zic0f

机器学习专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/FaXzAFreeRTOS专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/SjIqU电机控制专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/FNWM7 

http://www.lryc.cn/news/307968.html

相关文章:

  • 一加手机线刷2024版,param预载失败/MSM刷机工具报错
  • 文件拖放到窗体事件
  • JAVA集成微信支付V3版JSAPI下单
  • opengles 背面剔除介绍(十二)
  • 【深度学习:视频注释】如何为机器学习自动执行视频注释
  • 网络编程、UDP、TCP
  • Maya笔记 设置工作目录
  • MySQL:连接查询
  • 歌尔气压计SPA06-003在无人机和手表上的创新应用
  • 从0到1实现五子棋游戏!!
  • 二叉树(C/C++)
  • Django学习笔记-ModelForm使用(完全依赖)
  • 动态规划之使用最小花费爬楼梯【LeetCode】
  • 双指针---解决实际问题
  • 每天一个数据分析题(一百七十八)
  • Ethernet/IP转Modbus TCP网关
  • const详解
  • 多方面浅谈互联网技术
  • Oracle EBS GL 外币折算逻辑
  • Java面试题之mysql
  • 抖音直播封禁申诉话术怎么讲?抖音直播封号怎么申请解封?
  • 使用Jenkins部署前端Vue项目和后端Java服务
  • 刷题——显示屏
  • WEB服务器-Tomcat(黑马学习笔记)
  • 第五节:Vben Admin权限-前端控制方式
  • 蓝桥杯备赛第二篇(背包问题)
  • 【postgresql 基础入门】带过滤条件的查询,where子句中的操作符介绍,案例展示,索引失效的大坑就在这里
  • vue项目打包获取git commit信息并输出到打包后的指定文件夹中
  • vue 移动端app预览和保存pdf踩坑
  • Vueuse:打造高效的 Vue.js 开发利器