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

[Plecs基础知识系列]建立自定义模块/子系统(Subsystem)

 我们在使用Plecs的时候会遇到这样的问题,模型的搭建非常复杂,这样就会导致仿真模型看起来十分杂乱,这时候我们就可以将一些连接比较复杂的系统封装成模块,只需要将我们需要的信号引出即可,今天介绍的Subsystem就可以实现这样的功能

自定义模块/子系统(Subsystem)的建立方法

我们先建立一个简单的buck闭环控制器,图片中红色框内部的即为PI控制器,现在我们将这个控制器封装成一个模块

我们把想要封装成模块的部分框选好,然后右键选择Create Subsystem即可将这个部分封装成一个子模块

这里我们就将PI控制器封装成了一个子模块,现在我们双击子系统看看封装后的子模块内部是什么样的

这里系统自动将PI控制器的3个端口添加了Signal Input和Output,双击Port下面的名字我们可以按照功能重新命名

 

调整之后子系统变成下面这个样子

我们双击子系统模块更改一下模块的名称

可能有的小伙伴会有这样的疑问,模块接口的位置能不能调整,现在这个位置看起来不太协调,

按住Shift+鼠标左键即可调节连接点的位置

现在,基本的子模块我们就已经建立完成了

自定义模块/子系统(Subsystem)参数的添加方法

如果我们调节子系统模块中的参数则需要双击点开模块,然后对模块中的参数进行设置,那可不可以像Plecs其他系统模块一样,直接在模块上面设置参数呢,下面我们就来学习一下

鼠标右键Subsystem-Create Mask

点击Dialog,添加参数

如图,我们在里面添加两个参数Kp和Ki,点击Apply-OK,这时我们重新双击模块就会发现,我们已经可以直接定义这两个参数了

这里还没有结束,我们还要告诉模块这两个参数与模块中的哪些变量绑定在一起,所以我们需要将模块打开,注意这个时候再双击模块已经不在显示模块内部了,需要鼠标右键-Subsystem-Look under mask或者单击模块,直接快捷键Ctrl+U

 

我们将需要设置的值更改成Kp和Ki,这时候我们就将模块中可以设置的值和模块中的变量绑定在一起了

 

http://www.dtcms.com/a/360484.html

相关文章:

  • C++ 面试高频考点 力扣 69. x 的平方根 二分查找 题解 每日一题
  • Linux网络socket套接字(中)
  • 切片语法[::-1]及其可用的类型
  • 基于单片机智能鞋柜/智能鞋橱/智能鞋盒
  • Linux - #操作系统概念 #权限
  • 获取某天的零点日期
  • Java 异常处理全解析:从基础到实践
  • Rust 登堂 之 枚举和整数(八)
  • OpenCL C++ 平台与设备
  • 集合-单列集合(Collection)
  • DrissionPage 实战:动态 IP 代理与百度翻译 API 数据抓取
  • LeetCode算法日记 - Day 27: 计算右侧小于当前元素的个数、翻转对
  • Linux wlan 之网络问题定位分析 实例一
  • 如何确定虚拟机的IP
  • Qt QML连接数据库如何解决重复创建连接问题
  • 【嵌入式】【电机控制】基础知识列表
  • K8s调度核心:从Pod分配到节点优化
  • MATLAB R2010b系统环境(四)MATLAB帮助系统
  • LeetCode 每日一题 2025/8/25-2025/8/31
  • 模拟在线测试六线测试相关知识
  • 如何快速学习新技能
  • io进程线程;标准IO;0831
  • Java全栈开发面试实录:从基础到微服务架构的深度解析
  • Augment 宣布 Auggie CLI正式向所有用户开放
  • 利用DeepSeek编写验证xlsx格式文件中是否启用sharedStrings.xml对读写效率影响python程序
  • Ring Buffer解析
  • Thread、ThreadLocal、ThreadLocalMap
  • 用户态 kill 与 pthread_kill 的区别?
  • 动态链表:结构体模拟单链表的终极指南
  • ts 定义类型