【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.hqwc.cn/news/497059.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一、前端开发

#视频链接:https://www.bilibili.com/video/BV1rT4y1v7uQ?p1&vd_source1717654b9cbbc6a773c2092070686a95 前端开发 前端开发1、快速开发网站2、浏览器能识别的标签2.1 编码(head)2.2 title(head)2.3 标题2.4 div和span练习题2.5 超链接…

疑难杂症篇(二十三)--重新打开Typora编写的markdown文件出现乱码情况的解决方案

1.问题叙述 有时候使用 T y p o r a {\rm Typora} Typora软件编写的 M a r k d o w n {\rm Markdown} Markdown文件过了一段时间重新打开时会出现乱码的情况,此篇仅提供一种因公式的对齐引起的乱码的解决方案,如果没有效果,则请移步其他的解…

【年后找工作】每日一套面经(Java),抓住金三银四。

1、MyBatis返回多个结果集 MyBatis可以通过存储过程或者自定义查询语句来返回多个结果集。 存储过程 存储过程(Stored Procedure)是一组预编译的 SQL 语句集合,可以在数据库中被多次调用。存储过程通常用于执行特定的任务或操作&#xff0c…

TikTok矩阵系统的功能展示:深入解析与源代码分享!

今天我来和大家说说TikTok矩阵系统,在当今数字化时代,社交媒体平台已成为人们获取信息、交流思想和娱乐放松的重要渠道,其中,TikTok作为一款全球知名的短视频社交平台,凭借其独特的创意内容和强大的算法推荐系统&#…

Linux小项目:在线词典开发

在线词典介绍 流程图如下: 项目的功能介绍 在线英英词典项目功能描述用户注册和登录验证服务器端将用户信息和历史记录保存在数据中。客户端输入用户和密码,服务器端在数据库中查找、匹配,返回结果单词在线翻译根据客户端输入输入的单词在字…

Unity(第八部)Vector3的三维向量和旋转(坐标和缩放也简单讲了一下)

对了,Unity的生命周期自行百度吧;我这边整理的都不是很满意 Vector 是结构体 Vector2是指里面有两个变量 Vector3是指里面有三个变量 Vector4是指里面有四个变量 Vector3常用的变量就是x y z,所以,它可以代表坐标、旋转、缩放、三维向量 创…

STL常见容器(list容器)---C++

STL常见容器目录: 6.list容器6.1 list基本概念6.2 list构造函数6.3 list 赋值和交换6.4 list 大小操作6.5 list 插入和删除6.6 list 数据存取6.7 list 反转和排序6.8自定义排序案例 6.list容器 6.1 list基本概念 功能: 将数据进行链式存储; …

密码学系列(四)——对称密码2

一、RC4 RC4(Rivest Cipher 4)是一种对称流密码算法,由Ron Rivest于1987年设计。它以其简单性和高速性而闻名,并广泛应用于网络通信和安全协议中。下面是对RC4的详细介绍: 密钥长度: RC4的密钥长度可变&am…

【网络那些事】

【云计算】 云计算:把计算资源放在某个地方,并通过互联网暴露出来,让用户可以按需使用计算资源的方式,就是所谓的云计算 云计算的三种服务: 云平台专业名词 日常叫法 亚马逊云叫法 云服务器 ECS (Elas…

SQL注入漏洞解析-less-8(布尔盲注)

我们来看一下第八关 当我们进行尝试时,他只有You are in...........或者没有显示。 他只有对和错显示,那我们只能用对或者错误来猜他这个数据库 ?id1%27%20and%20ascii(substr(database(),1,1))>114-- ?id1%27%20and%20ascii(substr(database(),1,…

自动驾驶消息传输机制-LCM

需要用到LCM消息通讯,遂研究下。 这里写目录标题 1 LCM简介2. LCM源码分析3 LCM C教程与实例3.1 安装配置及介绍3.2 创建类型定义3.3 初始化LCM3.4 发布publish一个消息3.5 订阅和接收一个消息3.6 LCM进程间通讯3.7 注意事项?3.7.1 当数据结构定义的是数…

技术资讯:CSS滚动条样式修改,最新方式!

大家好,我是大澈! 本文约800字,整篇阅读大约需要1分钟。 感谢关注微信公众号:“程序员大澈”,免费领取"面试礼包"一份,然后免费加入问答群,从此让解决问题的你不再孤单!…