精华内容
下载资源
问答
  • Simulink6_子系统及其封装技术.pdf, 从入门将起,最基本的开始,一步一步,这个只针对初学者,是一些基本操作,主讲子系统的搭建 封装 自定义子系统
  • matlab封装子系统

    2011-03-23 18:42:33
    matlab封装子系统 对于比较复杂的系统,模块化思想是很有必要的,使得思路较为清晰、错误容易排查。复杂的系统进行仿真,如果将其中独立的功能进行封装,会显得特别清爽。这学期做了电机仿真和伺服系统仿真,特别...
  • 子系统封装

    千次阅读 2011-03-27 22:03:00
    子系统的封装的意义 子系统封装技术可以让一个子系统有自己的特点。封装后的子系统可以有自己的图标、自己的参数和具有功能描述的控制对话框,甚至自己的help文档,同时参数的修改更为方便(不用深入子系统,只需在...

    子系统的封装的意义

         子系统封装技术可以让一个子系统有自己的特点。封装后的子系统可以有自己的图标、自己的参数和具有功能描述的控制对话框,甚至自己的help文档,同时参数的修改更为方便(不用深入子系统,只需在对话框中修改便可),内部结构也不易被修改。

     

    封装技术的简要介绍

        封装是在Mask Editor中进行的。要打开Mask Editor,需要两步:①选中要封装的子系统;②选择菜单Edit->Edit Mask或者右键菜单中的Edit Mask。Mask Editor的样子如下:

     

    图一

                                                                    图一

     

        可见,Mask Editor中共有如下四个选项页:

    • Icon&Port,主要是对子系统的外观图标进行设置;
    • Parameters,主要对封装子系统的参数进行设置。如果子系统中有一个或多个模块需要手动设置参数,那么在仿真之前需要进入到子系统里面去对这些模块分别进行参数设计,很麻烦。而用Mask Editor中的Parameters设置参数,使这些参数能够将参数值传入到subsystem的模块中去。这样就可以直接对subsystem进行参数设计,既明了又方便;
    • Initialization,提供了一个Matlab语言命令框,可以在其中写入一些程序,当子系统有被载入、改变参数或初始化等情况发生时,Simulink会自动执行这些程序。所以可以将一些仿真前需要对subsystem做的设置,以程序的形式写入到编辑框内来实现;
    • Documentation,编辑子系统的描述和生成help文档。

    注意:左下角的Unmask按钮可以取消对subsystem的封装。    

    详细阐述

               下面对这四个选项页进行详细阐述,由于Icon&Port和Documentation对subsystem的功能影响不是很大,故只做简要介绍,详细内容参考help文档。

     

    Icon&port

          如图一所示,该选项页有三部分:Options、Icon Drawing Commands和Examples of drawing commands。其中Icon Drawing Commands中可以编辑相应的绘图命令,所有支持的命令的简单语法可在Examples of drawing commands中查看,具体用见相应的help文档。

     

    Parameters

        该选项页布局如下图所示:

       图二

                                                                    图二

     

      如上图所示,该选项页有两个设置栏Dialog Parameters和Options for selected parameter。在Dialog Parameters左侧有四个按钮,功能分别是增加参数、删除参数、上移和下移。

     

     在Dialog Parameters面板中,每个参数有如下几个属性:

    • prompt,其实封装后subsystem对话框中显示的文本,起到一种提示作用;
    • Variable,在mask's workspace中存储参数值的变量名称。在封装的subsy内,可以把该variable当做参数的值来使用,所以允许用户通过对话框设置参数 。由于这是变量名,所以要遵守matlab关于变量命名的规则;
    • Type,编辑参数的空间的类型。在封装好的subsystem的对话框中,控件紧随参数的prompt显示。主要有三种类型Edit、Checkbox和Popup;
    • Evaluate,Simulink可以使用用户输入作为参数值,也可以把用户输入做个evaluation,使用其结果当做参数的值(默认情况下如此)。选中Evaluate,则会对用户输入做evaluation,然后将evaluation的结果赋值给variable;不选中则不会evaluation,将会把表达式本身作为字符串值赋值给variable。选中Evaluate的效果依控件Type的不同而不同,后面会详细阐述;
    • tunable,选中tunable则参数在仿真时可以被修改,未选中则仿真时参数不能修改;
    • tab name,标签名字。不输入tab name,那么封装好的subsystem的对话框是在一个面板上的(没有标签),如果输入了文本,则对话框中参数会显示在不同的标签下;

      控件类型:edit、checkbox和popup。

      edit允许用户在一定区域输入参数的值;

      checkbox允许用户在check box的选中与不选中之间做出选择;

      popup允许用户在一系列的可能值之中做出选择。

     图三

                       图三

     

    edit类型的参数的值依赖于Evaluate的选择,具体关系如下表:

     

    Evaluate是否选中
    Edit控件参数值
    输入表达式做evaluation后的结果
    输入内容的文本字符串

     

      举个例子:假如输入是2*5,则若选中Evaluate,参数值为2×5=10;若为选中Evaluate,则参数值为字符串"2*5"。

     

    checkbox类型参数的值依赖于Evaluate的选择,具体关系如下表:

    是否选中Evaluate
    是否选中check box
    Check box参数值
    1
    0
    'on'
    'off'

     

    然而help文档中的表是这样的,我感到是错误的:

    EvaluationCheck Box Parameter StateCheck Box Parameter Value
    OnSelected1
    Cleared'on'
    OffSelected0
    Cleared'off'

     

     

    popup控件允许用户从一组可能的值中做出选择。可选择的可能值列表需要用户在Dialog Parameters中选中该参数,然后再Options for selected parameter中的popups标签中编辑可选择值的列表(但是要注意一个可选择值必须占单独的一行)。具体的例子可见图一。具有popup类型控件变量的值依赖于pop-up list中选中的item和Evaluate是否被选中,具体见下表:

     

    是否选中Evaluate
    popup参数值
    被选择项的索引值,第一项的索引值为1。例如如果选择了popup框中的第3个选项,则参数值为3
    popup选项框中所选中的字符串,例如若果选中了popup框中的 red 项,则参数值为 'red'

     

     

       Options for selected parameter允许对Dialog Parameters中选定的参数设置其他的options。

    • Show parameter:只有选中该项,此参数才会显示在已封装模块的对话框中。如果不想改参数出现在对话框中(比如此参数是由其他参数设定的),则需要取消该项
    • Enable parameter:选中该项,参数可以编辑,否则,参数将不能由用户编辑;
    • Popups:只有当Dialog Parameters中选中的参数是popup类型时,才有此项。此处编辑popup的可能值列表,每行一项;
    • Callback:在此处编辑想让Simulink在改变参数时执行的matlab代码(例如一选中某个checkbox,就激活一个edit field)。

     

    注意:在callback中不要试图改变subsystem中的内容,否则可能在模型update或者simulation时出错。改变subsystem中的内容可以再Initialization中进行

     

     

    Initialization

        该选项卡的界面如下:

    图四

                                                                            图四

     

       当打开model时,所有可视的masked模块的Initialization中的语句执行。初始不可视的模块的Initialization的语句只有在打开包含它们的model或者subsystem时菜执行。

       当你没有使用图示的方法加载模块进内存时,Initialization语句不会执行。

       在下面的情况下,模型中所有masked模块的Initialization语句都执行:

    • Update the diagram(不知道这个是个什么情况);
    • Start simulation;
    • Start code generation。

      在下面的情况下,单个模块的Initialization语句会执行:

    • 使用Mask Editor或者set_param改变mask的任何一个参数(例如MaskDisplayMaskInitialization );
    • 改变masked block的外观,例如旋转模块或改变模块大小;
    • 通过对话框或set_param改变模块的mask参数值;
    • 在不同的model或同一个model内复制masked block。

     

     在界面的左侧有dialog variables的列表,在右侧的Initialization commands可以使用双击dialog variables中的变量,可以重新编辑变量的名称。

     

     在Initialization commands中可以使用有效地matlab表达式、matlab函数、脚本、运算符和dialog variables列表中的变量。这些代码是在mask workspace中运行的,而不是在base workspace。在语句的末尾加分号(;)可以防止在Command Window中输出结果。

     

    在界面的下面有一个Allow library block to modify its contents的checkbox。该参数只有在库(library,而非model)中subsystem封装时才有效(图四中该选项是disable的)。选中该选项允许Initialization commands中的语句增加或删除subsystem中的内容(模块等东西),设置参数。否则,无论用何种方式,当一个masked library block改变其内容时都会报错。

     

    注意:Initialization commands也有如下限制:

    • 不要用initialization command创建其显示依赖于其他控件设置的mask dialog(例如一选中某个checkbox,就激活一个edit field)。这种功能用callback实现;  
    • 在initialization commands中的变量不要以L_和M_开头,以防出现意外结果。由于此种前缀的变量名是内部使用的,所以要保留;
    • Avoid using set_param commands to set parameters of blocks residing in masked subsystems that reside in the masked subsystem being initialized。我觉得就是不要用set_param命令给嵌套在深层的subsystem参数设置参数。

     

     

    Documentation

     Documentation的界面如下:

    图五

                                                                              图五

     

     

    Mask type:出现在对话框的block classification。当出现在对话框时,后面总是有"(mask)"后缀。该区域可以输入任意合法的matlab字符,但不能输入line break;

    Mask description:此处文本出现在对话框中描述模块功能。这里可以输入line break(使用enter或return键);

    Mask help:此处的内容将在点击help按钮时起作用,可以在其中输入下面三种内容:

    • URL specification;
    • web或eval命令;
    • 文本或者html文本。

    三者的对应关系如下图所示:

    图六

                                                        图六

     

     

    参考资料

                《Simulink通信仿真教程》

                 matlab r2010的help文档—Simulink/User's Guide/Simulink Graphical User Interface/Simulink Mask Editor 

    展开全文
  • 根据给定图窗为 Simulink 子系统创建封装图标。 该子系统用对应于图中线条的 ICON 屏蔽。 这对于通过图标说明子系统的行为很有用。 您可以使用 simplot 命令从实际输出中创建它。 有关更多信息,请参阅 simplot ...
  • Matlab之Simulink子系统及模块封装

    千次阅读 多人点赞 2020-04-30 11:27:14
    在Simulink中,子系统及模块封装是一种美化操作的技术。 为什么要封装成子系统? 因为在系统建模和仿真中,经常遇到很复杂的系统结构,难以用一个单个的模型框图进行描述。Simulink支持可以将这样的复杂系统分解成...

    在Simulink中,子系统及模块封装是一种美化操作的技术。

    1. 为什么要封装成子系统?
      因为在系统建模和仿真中,经常遇到很复杂的系统结构,难以用一个单个的模型框图进行描述。Simulink支持可以将这样的复杂系统分解成若干个具有独立功能的子系统,使得系统模型更加结构化,增强模型的可读性,也更易于系统的维护
    2. 为什么要封装?
      为了更加便捷的修改子系统内各模块的参数,Simulink提供了模块封装(masking)技术,即通过对子系统进行封装,将其内部的结构隐含起来,在访问该子系统模块时只出现一个参数设置对话框,将模块中所需要的参数用这个对话框进行输入。

    以下介绍一些简单的操作:
    3. 子系统的创建
    .打包封装

    选择需要封装的对象后,右键选择“Create Subsystem from Selecion" 即可完成封装
    封装后,点击该模块,即可弹出原来的界面,这样简答的操作能让我们的仿真文件看起来简练,功能易于区分

    4.学会mask封装技术
    mask封装技术
    如果,希望对封装好的子系统进一步做细节上的操作,那么就需要用mask封装技术了,选择“Create Mask” 弹出以下界面
    mask封装技术
    进入封装编辑器界面后,共有四个选项页—Icon & Ports、Parameters & Dialog、Initialization和Documentation,这四个选项页的功能下:
    Icon & Ports选项卡:创建包含描述性文本、状态方程、图像以及图形等的模块图标。
    Parameters & Dialog选项卡:设计封装对话框,主要用来定义和描述封装对话框中参数提示和与参数相关联的变量名称。
    Initialization选项卡:用来指定初始化命令;
    Documentation选项卡:用来定义封装类型,并指定模块的明和帮助文本。

    先来说说这个 Icon & Ports选项 ——类似于界面的设计Icon & Ports选项
    Block Frame可以使原灰色图标变为白色图标
    对于Icon drawing commands ,有以下可以选择:

    Commandusage
    dispDisplay text centered on a mask icon.
    dpolyDisplay a transfer function on a mask icon.
    fprintfDisplay variable text on a mask con.
    imageDisplay an image on a mask icon.
    patchDraws a color patch of a specified shape on a mask icon.
    plotDisplay graphics on a mask icon.
    port_labeDisplay a port label on a maskicon.
    textDisplay text at a specified location on a mask icon.

    例如:如果要在子模块上显示文本“DG”
    即可输入如下代码

    disp('DG')

    如果要在子模块设置输入输出口名称“in” ,“out”
    即可输入代码:

    port_label('input',1,'in')
    port_label('output',1,'out')

    其中“1”表示第一个输入/输出端口

    绘图指令是;

    image(imread('Gpi.jpg'))

    其中,Gpi.jpg表示在当前路径下的图片Gpi.jpg

    dpoly可以撰写传递函数

    dpoly([Td*Ti Kp*Td 1],[Ti 1],'s')

    这样写的前提是:所有参数都已经定义好了,要么在initialization中定义,要么就在Parameters & Dialog选项卡中进行参数设置,如此,界面也会随参数的变化而发生改变

    接着,介绍一下Parameters & Dialog
    Parameters & Dialog
    这个界面的设计有点类似于matlab的GUI界面设计
    常用的操作是:
    在这里插入图片描述
    通过edit添加一些参数,这些参数就可以直接用在子系统中。而我们只需要在参数设置界面中对参数进行修改,而不用通过under mask打开封装前的界面去修改参数

    popup控件

    popup控件

    popup控件
    以上这些与GUI的控件属性基本一致
    一个常用的控件是 promote
    这个控件允许用户有选择地将模块参数从底层模块提升到封装层。点击 Type options 字段可打开 Promoted
    Parameter Selector 对话框。即对封装内的模块的各个属性进行修改,省去了自定义参数的环节

    现在考虑动态封装
    Simulink允许用户为被封装模块创建动态对话框,也就是被封装模块的外观可以根据用户输入的变化而变化。可以改变的模块外观特性如下:

    1. 参数的可见性控制。改变参数可以控制其他参数的可见性,
      当控制参数可见或不可见时,对话框分别为展开或缩小状
      态。
    2. 使能参数状态控制。改变参数可以控制其他参数的使能和
      关闭,Simulink会使关闭的参数呈灰色显示。
    3. 参数值。改变参数可以使相关参数设置为适当的值

    通过callback回调函数可以实现以上操作

    num=get_param(gcb,'A')
    set(gcb,'B',num)

    其中,A和B为控件的Name

    展开全文
  • 文章目录传递函数由来MATLAB simulink子系统封装simulink子系统mask绘制完整流程图--运行显示绘制子系统中传递函数的bode图、nyquist图、step图等修改参数后的两个图相比较: 传递函数由来 MATLAB simulink子系统...

    传递函数由来

    在这里插入图片描述
    在这里插入图片描述

    MATLAB simulink子系统封装

    在simulink中新建流程图:
    如下图所示:
    在这里插入图片描述
    参数设置:
    在这里插入图片描述
    在这里插入图片描述
    选择后—全选CTRL+A,然后CTRL+G封装成子系统
    在这里插入图片描述

    simulink子系统mask

    右键mask–editmask
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    绘制完整流程图–运行显示

    在这里插入图片描述
    设置参数:
    双击子系统块设置参数值:
    在这里插入图片描述

    运行显示。在view视图的layout中选择显示图框
    选择legend中✔,可以在图框中看到曲线是哪个输出。


    两条曲线相比较可以采用在同一个scope中显示的方法。


    在这里插入图片描述

    绘制子系统中传递函数的bode图、nyquist图、step图等

    在子系统中CTRL+U进入子系统项:
    在这里插入图片描述
    在这里插入图片描述
    选中传递函数 右键选择linear analysis–linearize block
    在这里插入图片描述
    绘制BODE图
    在这里插入图片描述
    在这里插入图片描述
    修改参数再次绘制bode图:
    在这里插入图片描述
    再选BODE图:此时生成幅值图和相位图:
    在这里插入图片描述

    修改参数后的两个图相比较:

    手动将linsys2的值拖入到bode plot1中:
    在这里插入图片描述
    得到:

    在这里插入图片描述
    同理绘制其他图形!!!!!!!!
    小细节自行查阅help文档。

    参考文档:
    https://ww2.mathworks.cn/help/simulink/block-masks.html 官方

    展开全文
  • simulink封装子系统(mask subsystem)的一般操作 在simulink仿真中遇到了如下图形 :创建的子系统左边有一个向下的箭头,并且双击此系统不能进到子系统界面,查找资料发现是被封装子系统。 如下: 下面是关于...

    simulink封装子系统(mask subsystem)的一般操作
    在simulink仿真中遇到了如下图形 :创建的子系统左边有一个向下的箭头,并且双击此系统不能进到子系统界面,查找资料发现是被封装的子系统。
    如下:
    在这里插入图片描述
    下面是关于封装子系统的基本操作:
    1.右键创建的子系统,选择mask subsystem。
    2.进入icon&ports(图标和端口)窗口,用于设定封装模块的名字和外观。
    在这里插入图片描述
    drawing commands栏用于建立用户化的图标,可以在图标中显示文本、图像、图形或者传递函数等。
    在这里插入图片描述
    3.点击parameters & dialog选项,(此选项用于输入变量名和相应的提示),用户可以从左侧添加功能进入dialog box中,然后通过右击对该模块进行删除、复制和剪切等操作。
    在这里插入图片描述
    在这里插入图片描述

    value代表输入变量的值或者名
    双击效果:
    在这里插入图片描述
    4.点击initialization 选项卡 初始化封装子系统。该界面主要用于用户参数的初始化设置。
    在这里插入图片描述
    5.document 选项卡 本例暂时没有使用
    在这里插入图片描述
    总结over ,望互相学习 see ya!

    展开全文
  • 1、创建一个PI控制器 在simulink库Ports&Subsystems分类中选择Subsystem,建立PI控制...导入你想编辑的量(比例系数,积分系数),导入后就可以重命名并显示在封装好的系统中了。 建立闭环系统就可以仿真了 ...
  • 美国国家半导体公司日前宣布推出全新的Boomer LM4844音频子系统,其优点是可以精简便携式音响系统的设计,使工程师可以轻易为移动电话及其他以电池供电的便携式电子产品设计具备卓越音效的全带宽立体声及3D音响系统...
  • CH4_Simulink子系统与模块封装技术.ppt,GUI技术
  • 使用封装子系统的自定义显示(如 simulink 显示模块)。
  • 行业资料-电子功用-敏化太阳能电池封装系统封装方法.pdf
  • 行业资料-电子功用-微机电系统麦克风封装
  • 子系统的创建与封装

    2020-04-29 13:35:13
  • 伟创力总部技术部高级副总裁上官东铠博士以《医疗电子中的微型化封装与装配技术》为题发表了精彩演讲,并就医疗电子,特别是在便携式、家用式医疗电子制造工艺技术方面与现场观众进行了互动性的探讨。  产品微型化...
  • 子封装技术

    2018-08-28 08:56:35
    MATLAB子封装使用,function函数调用,子系统封装技术基础
  • simulinkz构建及封装子系统

    千次阅读 2014-05-04 21:01:29
    在这种情况下,子系统通过把大的模型分割成几个小的模型系统以使得整个系统模型更简捷、可读性更高,而且这种操作并不复杂。举一个简单的例子,考虑在例1中提到的汽车模型,其Simulink模型图见图7.5.1。    ...
  • Simulink仿真教程3---子系统的创建与封装

    万次阅读 多人点赞 2019-08-02 21:52:39
    我们既然要使用Simulink,...所以我们要把完成某些功能的模块单独封装成一个个子系统,最后再用一个模型文件调用这些子系统,类似于编程中的函数封装再调用。这样可以使模型变得简洁。 一、从空白模型创建子系统 ...
  • Matlab 中subsystem mask封装子系统

    千次阅读 2018-05-04 22:05:00
    %%外型图表封装 %%1.曲线型标注: plot(cos(0:0.1:2*pi),sin(0:0.1:2*pi)) %%2.文字型标注: disp('PID\n控制器') %%3.曲线加文字型标注: plot(cos(0:0.1:2*pi),sin(0:0.1:2*pi)) disp('PID\n控制器')...
  • 将包含在子系统中的模块的图标提升到子系统封装 block_icon(BlockName) 此处,模块的图标提升到它的 Subsystem 模块。 有关详细信息,请参阅  slexblockicon 。   ...
  • 子系统是什么?      子系统就是把一些模块组合到一起成为一个系统。 子系统能干什么?       可以作为独立的模块,可以直接作为标准的Simulink模块使用 ...
  • 系统封装基础

    2013-09-03 10:05:01
    国际上第一本微系统封装的参考书,目录如下: 1 微系统封装导论 1.1 微系统概述 1.2 微系统技术 1.3 微系统封装(MSP)概述 1.4 微系统封装的重要性 1.5 系统级微系统技术 1.6 微系统工程师的期望 1.7 微系统及封装...
  • 邮件解析器 email模块解析邮件的时候返回的接受者或者cc替换只有一个,看了下email子系统,自己封装了下
  • WeBASE-Front是和FISCO BCOS节点配合使用的一个子系统,需要和节点统计部署,目前支持FISCO BCOS 2.0以上版本,可通过HTTP请求和节点进行通信,集成了web3jsdk,接口进行封装和抽象,具备可视化控制台,可以在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 314,355
精华内容 125,742
关键字:

怎样对子系统进行封装