Main Content

封装编辑器概述

封装是一种自定义模块用户界面,它可隐藏模块内容,使用它自己的图标和参数对话框将内容以原子模块的形式向用户显示。

封装编辑器对话框可帮助您创建和自定义模块封装。当您创建或编辑封装时,封装编辑器对话框会打开。您可以通过以下任一方式访问封装编辑器对话框:

要创建封装,请执行下列操作:

  • 建模选项卡中的组件下,点击创建系统封装

  • 选择模块,并在模块选项卡上,在封装组中,点击创建掩膜。封装编辑器随即打开。

要编辑封装,请执行下列操作:

  • 模块选项卡的封装组中,点击编辑封装

  • 右键点击模块并选择封装 > 编辑封装

注意

您也可以使用键盘快捷方式 Ctrl + M 打开封装编辑器。

封装编辑器对话框包含一系列选项卡窗格,其中每个窗格允许您定义一项封装功能。这些选项卡是:

注意

有关从命令行创建和编辑模块封装的信息,请参阅以编程方式控制封装

“参数和对话框”窗格

通过参数和对话框窗格,您可以使用参数显示动作选项板中的对话框控件设计封装对话框。

parameter pane

参数和对话框窗格分为以下各部分:

“参数和对话框”窗格

部分部分描述子部分子部分描述
控件参数是封装对话框中用户可与之交互以添加或处理数据的元素。参数参数是参与仿真的用户输入。参数选项板具有一组参数对话框控件,您可以将它们添加到封装对话框中。
容器 
显示显示选项板上的控件允许您在封装对话框中将对话框控件分组,并显示文本和图像。
操作“操作”控件允许您在封装对话框中执行一些操作。例如,您可以点击封装对话框中的超链接或按钮。
对话框也可以点击对话框控件或将其从选项板拖放到对话框以创建封装对话框。不适用不适用
属性编辑器属性编辑器允许您查看和设置参数显示容器动作控件的属性。属性定义所有对话框控件的基本信息,例如名称提示类型
属性定义封装对话框控件的解释方式。属性仅与参数相关。
对话框定义对话框控件在封装对话框中的显示方式。
布局定义对话框控件在封装对话框上的布局。

控件

控件部分被进一步划分为“参数”、“显示”和“操作”部分。控件表列出了不同控件及其描述。

控件表

控件描述

参数

编辑

允许您通过在字段中键入来输入参数值。

您可以将约束与 Edit 参数相关联。

复选框

接受布尔值。

弹出

允许您从可能值列表中选择参数值。当您选中计算复选框时,关联的变量会保存所选项的索引。请注意,索引从 1 开始,而不是从 0 开始。禁用计算时,关联的变量将保存所选项的字符串。

组合框

允许您从可能值列表中选择参数值。您也可以键入此列表中的值或不在此列表中的值。当您选中计算复选框时,关联的变量会保存所选项的实际值。

您可以将约束与“组合框”参数相关联。

列表框

允许您创建参数值列表。所有可能值的选项都显示在封装对话框中。您可以从中选择多个值。

单选按钮

允许您从可能值列表中选择参数值。单选按钮的所有选项都显示在封装对话框中。

滑块

允许您滑动到由最小值和最大值定义的范围内的值。滑块参数可以接受数字或变量名称形式的输入。如果指定的变量是基础工作区或模型工作区变量,则您可以通过滑块调整变量值。

您可以使用轴刻度下拉菜单调整线性刻度或对数刻度中的值。

还可以动态控制滑块范围。

注意

为“滑块”指定的值将自动应用。

刻度盘

允许您拨动到由最小值和最大值定义的范围内的值。对话框参数可以接受数字或变量名称形式的输入。如果指定的变量是基础工作区或模型工作区变量,则您可以通过对话框调整变量值。

您可以使用轴刻度下拉菜单调整线性刻度或对数刻度中的值。

还可以动态控制刻度盘范围。

注意

为“刻度盘”指定的值将自动应用。

微调框

允许您在由最小值和最大值定义的范围内微调值。您可以指定值的步长。

注意

为“微调框”指定的值将自动应用。

数据类型

允许您指定封装参数的数据类型。您可以将最小值最大值编辑参数与数据类型参数相关联。有关详细信息,请参阅使用“数据类型字符串”参数指定数据类型

最小值

指定数据类型字符串参数的最小值。

最大值

指定数据类型字符串参数的最大值。

单位

允许您为封装模块的输出值或输入值设置测量单位。参数单位可以接受任何测量单位作为输入。例如,表示角速度的 rad/sec,表示加速度的 meters/sec2,或表示距离的 km 或 m。

自定义表

允许您在封装对话框中添加表。您可以在属性编辑器的部分将值添加为嵌套元胞数组。

一到一提升

允许您有选择地将模块参数从底层模块提升到封装层。点击一到一提升,打开提升的参数选择器对话框。在此对话框中,您可以选择要提升的模块参数。点击确定将其关闭。

多到一提升

允许您将所有底层模块参数提升到封装层。当您提升所有参数时,提升操作将删除之前已提升的参数。

容器

组框

将封装对话框中的其他对话框控件和容器进行分组的容器。

选项卡

将封装对话框中的对话框控件进行分组的选项卡。选项卡包含在选项卡容器中。一个选项卡容器可以有多个选项卡。

以表格形式对编辑复选框弹出框参数进行分组的容器。您还可以对容器中列出的内容进行搜索和排序。

有关详细信息,请参阅Handling Large Number of Mask Parameters

可折叠面板

将对话框控件进行分组的容器,与面板类似。您可以选择展开或折叠可折叠面板对话框控件。

面板

对话框控件组的容器。可使用面板对对话框控件进行逻辑分组。请参阅 Design Mask Dialog Box Layout

显示

文本

封装对话框中显示的文本。

图像

封装对话框中显示的图像。

文本区域

在封装对话框中添加自定义文本或 MATLAB 代码。

列表框控件

允许您从可能值列表中选择值。您可以选择多个值(Ctrl + 点击)。

树控件

允许您从可能值的层次结构树中选择值。您可以选择多个值(Ctrl + 点击)。有关详细信息,请参阅 Create Tree Dialog Control

查找表控件允许您可视化 N 维表和断点数据。

web browser

Web 浏览器允许您在预览对话框时打开网站。在 URL 属性中输入地址。

操作

超链接

封装对话框中显示的超链接文本。

按钮

封装对话框上的按钮控件。您可以对按钮编程使其执行特定操作。还可以在按钮控件上添加图像。

有关封装参数的详细信息,请浏览示例模型Types of Mask Parameters

对话框

您可以通过将对话框控件从控件部分拖到参数和对话框选项卡,来构建对话框控件的层次结构。您也可以点击控件部分的选项板,将所需控件添加到参数和对话框选项卡中。您可以在参数和对话框选项卡中添加最多 32 级的层次结构。

参数和对话框显示三个字段:类型提示名称

  • 类型字段显示对话框控件的类型,但不能对其进行编辑。它还显示参数对话框控件的序列号。

  • 提示字段显示对话框控件的提示文本。

  • 名称字段将自动填充,用于唯一地标识对话框控件。您可以选择在名称字段中添加不同的值(有效的 MATLAB 名称),但不能与内置参数名称相同。

对话框上,参数控件以浅蓝色背景显示,而显示动作控件以白色背景显示。

您可以在层次结构中移动对话框控件,可以复制和粘贴对话框控件,也可以删除某个节点。有关详细信息,请参阅Dialog Control Operations

属性编辑器

属性编辑器允许您查看和设置参数显示容器动作对话框控件的属性。下面显示了参数属性编辑器

property editor

您可以设置参数动作显示对话框控件的以下属性。有关详细信息,请参阅示例属性编辑器

属性编辑器

属性描述
属性

名称

唯一地标识封装对话框中的对话框控件。必须为所有对话框控件设置名称属性。

别名

对话框控件的替代名称。

参数的值。属性仅适用于参数对话框控件。

提示

标识封装对话框中的参数的标签文本。提示属性适用于除面板图像对话框控件之外的所有对话框控件。

类型

对话框控件的类型。您可以使用类型字段更改参数容器类型。您不能将任何容器类型更改为选项卡,反之亦然。

展开

用于指定可折叠的面板对话框控件默认情况下是处于展开还是折叠状态。

类型选项

类型选项属性允许您设置特定的参数属性。类型选项属性适用于弹出单选按钮数据类型字符串提升参数。

文件路径

您可以使用图像对话框控件向封装中添加图像。还可以在按钮对话框控件上显示图像。无论是哪种情况,都应在为这两个对话框控件启用的文件路径属性中提供图像的路径。对于按钮对话框控件,为提示属性指定一个空字符向量以便能够显示图像。

请注意,当您提供文件路径时,不要使用引号 (' ')。例如,如果要添加图像,请提供如下形式的文件路径:C:\Users\User1\Image_Repositort\motor.png

文字换行

文字换行属性用于对长文本进行换行。文字换行属性仅适用于文本对话框控件。

最大值和最小值

最大值最小值属性允许您为微调框滑块对话框等控件指定一个范围。

步长

允许您指定值的步长。此属性仅适用于微调框对话框控件。

工具提示

允许您为选定的对话框控件类型指定工具提示。当您将光标悬停在封装对话框中的对话框控件上时,将显示工具提示。您可以为除组框选项卡可折叠面板面板之外的所有对话框控件类型添加工具提示。

刻度

允许您将滑块刻度盘对话框控件的调整刻度设置为 linearlog

表参数

查找表参数指定表数据。
表单位指定表数据的单位。
表显示名称指定查找表控件的显示名称。
断点参数查找表控件指定断点参数。例如,{'torque','engine speed'}
断点单位指定断点参数的单位。例如,{'Nm','rpm'}
数据设定通过显式指定参数中的值或通过数据对象,可以为表和断点参数指定数据
查找表对象为表和断点参数值指定数据对象的名称
文本类型文本区域参数指定文本的类型。它可以接受纯文本HTML 文本MATLAB 代码文本区域参数能够处理 HTML 代码并在封装对话框中显示输出。同样,它可以处理 MATLAB 代码并显示输出。
属性

计算

如果您输入 MATLAB 表达式作为封装参数输入,Simulink® 以如下两种方式之一处理该输入:

  1. 如果选择了计算选项,Simulink 将计算表达式并使用计算的最终结果。要成功完成计算,表达式的变量必须在模型或基础工作区中初始化。例如,如果变量 ab 分别包含值 2 和 9,则 'a + b' 的计算结果为 11。

  2. 如果未选择计算选项,则 Simulink 会在您在“封装参数”对话框中键入输入内容时对其进行文字读取。例如,'a + b' 读取为 a + b

对于编辑复选框弹出封装参数,默认情况下计算选项处于选中状态。

可调

设置封装参数的可调属性以在仿真期间更改封装参数的值。

如果封装参数不支持参数调节,Simulink 将忽略封装参数的可调属性。仿真时,这些参数将在封装对话框中禁用。

封装参数的可调选项有:

  • off - 在此模式下,您无法在仿真期间更改封装参数值。

  • on - 您可以在仿真期间更改封装参数值。每次进行更改时,都会编译模型。

  • 运行到运行 - 如果在快速重启模式下封装参数设置为运行到运行,则该值可以在运行之间更改。模型不会重新编译以反映仿真结果中的值。

根据为可调属性和仿真模式指定的值,封装参数可以是只读的或读写的。

 offonrun-to-run
普通只读读写 
快速重启只读读写读写

有关参数调优和支持参数调优的模块的信息,请参阅使用模块参数值进行调优和试验

注意

在代码生成过程中,仅当默认参数行为代码生成设置中设置为可调时,该参数才会作为变量显示在生成的代码中。

只读

表示参数不能进行修改。

隐藏

表示参数不能显示在封装对话框中。

从不保存

表示参数值永远不会保存在模型文件中。

约束

允许您向所选参数添加约束。

对话框

启用

默认情况下启用处于选中状态。如果您清除此选项,选定控件将无法进行编辑。封装模块的用户不能设置该参数的值。

可见

仅当选择此选项时,选定控件才会出现在封装对话框中。

回调

您希望 Simulink 在用户向选定控件应用更改时执行的 MATLAB 代码。Simulink 使用临时工作区执行回调代码。

布局

项目位置

用于设置对话框控件要在当前行或新行中出现的位置。

对齐提示

允许您对齐封装对话框中的参数。除以外的所有“显示”控件类型都支持此选项。

提示位置

用于将对话框控件的提示位置设置为对话框控件的顶部或左侧。

您不能为复选框对话框数据类型字符串可折叠面板单选按钮设置提示位置属性。

方向

用于指定滑块和单选按钮的水平或垂直方向。

水平拉伸

如果选择此选项,则当您调整封装对话框的大小时,封装对话框上的控件将水平拉伸。默认情况下,水平拉伸复选框处于选中状态。

“文档”窗格

文档窗格中,您可以定义或修改封装模块的类型、描述和帮助文本。

documentation pane

类型

封装类型是显示在封装对话框中和模块的所有封装编辑器窗格上的模块分类。当 Simulink 显示封装对话框时,它会为封装类型添加后缀 (mask)。要定义封装类型,请在类型字段中输入类型。文本可以包含任何有效的 MATLAB 字符,但不能包含换行符。

描述

封装描述是描述模块的用途或功能的简要帮助文本。默认情况下,封装描述显示在封装对话框中的封装类型下面。要定义封装描述,请在描述字段中输入描述。文本可以包含任何合法的 MATLAB 字符。Simulink 自动对较长的行进行换行。您可以使用 Enter 键强制换行。

帮助

封装模块的 Online Help(联机帮助)提供类型描述字段所提供信息之外的其他信息。当封装模块用户点击封装对话框上的帮助按钮时,将会在一个单独的窗口中显示此信息。要定义封装帮助,请在帮助字段中键入以下某一项:

  • URL 设定

  • webeval 命令

  • 文字或 HTML 文本

提供 URL

如果帮助字段的第一行是一个 URL,Simulink 会将该 URL 传递给您的默认 Web 浏览器。该 URL 可以以 https:www:file:ftp:mailto: 开头。示例:

https://www.mathworks.com
file:///c:/mydir/helpdoc.html

一旦浏览器处于活动状态,MATLAB 和 Simulink 将无法再控制其操作。

提供一个 web 命令

如果帮助字段的第一行是一个 web 命令,Simulink 会将该命令传递给 MATLAB,以便在 MATLAB Online Help 浏览器中显示指定的文件。示例:

web([docroot '/MyBlockDoc/' get_param(gcb,'MaskType') '.html'])

有关详细信息,请参阅 MATLAB web 命令文档。用于封装帮助的 web 命令不能返回值。

提供一个 eval 命令

如果帮助字段的第一行是一个 eval 命令,Simulink 会将该命令传递给 MATLAB,以便执行指定的计算。示例:

eval('open My_Spec.doc')

有关详细信息,请参阅 MATLAB eval 命令文档。用于封装帮助的 eval 命令不能返回值。

提供文字或 HTML 文本

如果帮助字段的第一行不是 URL,或者 webeval 命令,Simulink 将在 MATLAB Online Help 浏览器中的某个标题下显示该文本,该标题是封装类型字段的值。文本可以包含任何合法的 MATLAB 字符、换行符和任何标准的 HTML 标记,包括像 img 这样显示图像的标记。

Simulink 首先将该文本复制到临时文件夹,然后使用 web 命令显示该文本。如果您希望文本显示图像,则可以提供图像文件的 URL 路径,也可以将图像文件放在临时文件夹中。使用 tempdir 可查找 Simulink 用于您的系统的临时文件夹。

代码窗格

代码窗格为您提供模块初始化和参数回调代码的集成视图。封装编辑器代码功能类似于 MATLAB 编辑器中的功能,但存在一些限制。例如,支持自动补全功能,但无法在代码中设置断点。您可以在单独的 MATLAB 类文件中组织封装初始化和封装回调代码。有关详细信息,请参阅 Organize Mask Initialization and Callbacks in a MATLAB File

initialization pane

当您打开模型时,Simulink 会查找位于在模型顶层或开放式子系统中的可见封装模块。仅当这些可见的封装模块满足以下任一条件时,Simulink 才对这些模块执行初始化命令:

  • 封装模块具有图标绘制命令。

    注意

    Simulink 不会初始化不包含图标绘制命令的封装模块,即使它们具有初始化命令也是如此。

  • 封装模块属于一个库,并且已启用允许库模块修改其内容设置。

当您执行以下操作时,模型中所有封装模块的初始化命令将会运行:

  • 更新图

  • 开始仿真

  • 开始代码生成

  • 点击对话框上的应用

  • 编辑和保存回调。

当您执行以下操作时,个别封装模块的初始化命令将会运行:

  • 使用封装编辑器或 set_param 命令更改定义封装的任何封装参数,例如 MaskDisplayMaskInitialization

  • 旋转或翻转封装模块(如果图标依赖于初始化命令)。

  • 致使图标被绘制或重绘,并且图标绘制依赖于初始化代码。

  • 通过使用模块对话框或 set_param 命令更改封装参数的值。

  • 在同一模型中或不同模型之间复制封装模块。

代码窗格包含本节中所述的控件。

初始化和参数回调

点击 code pane 以在编辑器中添加初始化代码模板和参数回调模板。您可以输入任何有效的 MATLAB 表达式,其中包含 MATLAB 函数和脚本、运算符以及在封装工作区中定义的变量。初始化命令在封装工作区而非基础工作区中运行。

“代码”窗格为您提供封装初始化代码和封装回调代码的集成视图。要添加参数回调代码,请点击参数列表中参数旁边的加号按钮,此时会显示回调代码的框架。为回调输入 MATLAB 命令。

callback code

初始化命令的规则

以下规则适用于封装初始化命令:

  • 不要为动态封装对话框使用初始化代码,因为当封装对话框更改时,通常不执行初始化。相反,对相关参数使用封装回调,当给定参数更新时,这些回调会立即执行。

  • 避免在初始化命令的前面加上变量名称 MaskParam_L_MaskParam_M_。这些特定前缀是保留项,仅供内部变量名称使用。

  • 如果模块位于一个封装子系统中,而该封装子系统又位于正在初始化的其他封装子系统中,则应避免使用 set_param 命令来设置这些模块的参数。有关详细信息,请参阅动态封装子系统

允许库模块修改其内容

仅当封装模块位于库中时,才会启用此复选框。选择此选项可允许您修改封装模块的参数。如果封装模块是封装子系统,则此选项允许您添加或删除模块并设置该子系统内模块的参数。如果未选择此选项,则当封装库模块尝试以任何方式修改其内容时,都将会生成错误。

图标窗格

图标窗格可以帮助您创建一个包含描述性文本、状态方程、图像以及图形的模块图标。您可以使用图形编辑器或封装绘制命令创建模块图标。

图形图标编辑器

图形编辑器:您可以通过图形环境创建和编辑模块的封装图标。图形图标编辑器中的各种功能可以帮助您轻松创建图标。从封装编辑器启动图形图标编辑器。

graphical icon editor

  • 交互式图形环境:使用图形工具,如钢笔、曲率、文本、剪刀、连接器和方程(支持 LaTeX),以创建丰富的图形图标。网格、智能参考线和标尺帮助您创建像素完美的图标。除了提供绘图工具外,还有一些内置形状,如电阻、电感和旋转阻尼,也都是立即可用的。

  • 元素浏览器:元素浏览器列出图标中的所有元素。

    • 隐藏或取消隐藏图标中的元素。

    • 锁定或解锁一个元素,以便在处理图标的其他元素时不会意外更改该元素的形状或位置。

    • 为图标中的每个元素命名以便于识别。

  • 端口绑定/解除绑定:如果您使用模块上下文创建或修改模块,则每个模块上的端口数是预定义的。例如,Simscape™ 模块或 Aerospace 模块的端口数是预定义的,它们显示在模块图标上。如果要在不使用模块上下文的情况下创建或修改模块,还可以在模块图标上定义端口数。

  • 条件可见性:基于模块参数或封装参数隐藏或取消隐藏模块元素。

  • 预览选项:使用水平拉伸、翻转或缩放等预览选项在 Simulink 中预览图标。您也可以使用修改后的模块参数预览图标。

  • 显示适合图标大小的元素:当您调整模块大小时,自适应功能可帮助您仅显示适合图标大小的元素。

  • 相对定位元素:自动布局约束功能可帮助您在画布上相对于其他元素定位每个元素。

  • 文本参数化:您可以在模块图标上查看模块参数或封装参数的计算值。在参数/值中输入模块参数名称或占位符,该占位符将在运行时返回文本或值。要在模块图标上查看模块参数的计算值,请在 Simulink 画布上预览图标。

要了解有关图形图标编辑器的详细信息,请参阅Graphical Icon Editor Overview

封装图标绘制命令

封装编辑器为您提供每个绘图命令的框架。您可以为封装图标设置图像。点击添加图像以导入一个图像。

icon drawing commands

“封装图标绘制命令”窗格分为以下几个部分:

  • 属性:提供可以应用于封装图标的不同控制项的列表。

  • 预览:显示模块封装图标的预览。

  • 图标绘制命令:使您能够通过使用 MATLAB 代码绘制封装图标。

注意

您可以创建静态和动态模块封装图标。有关详细信息,请参阅封装显示和初始化命令

属性.  右窗格中可用的属性是一个控制项列表,允许您指定封装图标的特性。这些选项包括:

模块边框.  模块边框是围绕模块的矩形。您可以通过将模块边框参数设置为可见不可见,来选择显示或隐藏边框。默认值是使模块边框可见。例如,下图显示 AND 门模块的可见和不可见的模块边框。

block frame

图标透明度.  根据您是希望隐藏还是显示图标下的内容,可以将图标透明度设置为不透明不透明(带端口)透明。默认选项不透明将隐藏诸如端口标签等信息。透明图标将显示模块边框,不透明图标将隐藏模块边框。

icon transparency

对于子系统模块,如果您将图标透明度设置为不透明(带端口),端口标签将可见。

opaque ports

注意

  • 对于用于隐藏端口标签的不透明选项,必须在封装编辑器中添加一个图标绘制命令。

  • 如果您将图标透明度设置为透明,则 Simulink 不隐藏模块边框,即使您将模块边框属性设置为不可见也是如此。

图标单位.  此选项控制绘制命令使用的坐标系。它仅适用于 plottextpatch 绘制命令。您可以从以下选项中选择:自动缩放归一化像素

icon units

  • 自动缩放缩放图标以适应模块边框。当模块调整大小时,图标也调整大小。例如,下图显示使用这些向量绘制的图标:

    X = [0 2 3 4 9]; Y = [4 6 3 5 8];
    

    模块边框的左下角是 (0,3),右上角是 (9,8)。x 轴范围是 9(0 到 9),而 y 轴范围是 5(3 到 8)。

  • 归一化在模块边框内绘制图标,其左下角为 (0,0),其右上角为 (1,1)。只显示从 0 到 1 的 X 和 Y 值。当模块调整大小时,图标也调整大小。例如,下图显示使用这些向量绘制的图标:

    X = [.0 .2 .3 .4 .9]; Y = [.4 .6 .3 .5 .8];
    

  • 像素使用以像素表示的 X 值和 Y 值绘制图标。在调整模块大小时,图标大小不会自动调整。要强制图标随模块一起调整大小,请基于模块大小定义绘制命令。

图标旋转.  在模块发生旋转或翻转时,您可以选择是旋转或翻转图标,还是让图标固定在其原始方向。默认值是不旋转图标。图标旋转方式与模块端口旋转方式一致。下图显示在旋转 AND 门模块时选择固定旋转图标旋转的结果。

icon rotation

端口旋转.  此选项允许您指定封装模块的端口旋转类型。相关选择包括:

  • 默认

    顺时针旋转后端口将重新排序,以保持从左到右的端口编号顺序(对于位于模块上下两端的端口)以及从上到下的端口编号顺序(对于位于模块左右两侧的端口)。

  • 物理

    端口随模块一起旋转,而不在顺时针旋转后重新排序。

Default 旋转选项适用于控制系统和其他建模应用,它们的模块图通常采用从上到下和从左到右的方向。它通过最大限度减少旋转后重新连接模块以保持标准方向的需求,简化了模块图的编辑。

类似地,physical 旋转选项适用于电子、机械、液压和其他建模应用,它们的模块表示物理组件,线条表示物理连接。physical 旋转选项可以更保真地对所代表的设备行为进行建模(即端口随模块一起旋转,就像它们在物理设备上那样)。此外,该选项还可避免因为旋转而导致线交叉,从而使模块图更容易解读。

例如,下面两个图表示相同的晶体管电路。一张图中表示晶体管的封装模块使用 default 旋转,而另一张图中使用 physical 旋转。

port rotation

这两张图都避免了线交叉而使图难以解读。下图显示了发生单次顺时针旋转后的模块图。

clockwise port rotation

注意

使用 default 旋转的图引入了线交叉,而使用 physical 旋转的图没有发生这种情况。此外,使用 default 旋转的图无法通过编辑来删除线交叉。有关详细信息,请参阅翻转或旋转模块

运行初始化.  运行初始化选项用于控制封装初始化命令的执行。相关选择包括:

  • off(默认值):不执行封装初始化命令。当封装绘制命令与封装工作区之间不存在依存关系时,建议将运行初始化值指定为 off。将该值设置为 off 有助于优化 Simulink 性能,因此这样将不会执行封装初始化命令。

  • on:如果封装工作区不是最新的,则执行封装初始化命令。如果指定此选项,不管封装工作区与封装绘制命令之间是否存在依存关系,都会在执行封装绘制命令之前执行封装初始化命令。

  • 分析:仅在存在工作区依存关系的情况下才执行封装初始化命令。如果指定此选项,Simulink 将在执行封装图标绘制命令之前执行封装初始化命令。分析选项是为了实现向后兼容性,其他情况下不建议使用。对于 R2016b 或以前的 Simulink 模型,建议使用升级顾问进行升级。

    有关详细信息,请参阅Draw Mask Icon Using Drawing Commands

预览.  此部分显示模块封装图标的预览。仅当封装包含绘制的图标时,模块封装预览才可用。

当您添加图标绘制命令并点击应用时,预览图像将刷新并显示在图标窗格的预览部分。

图标绘制命令.  向编辑器中添加代码以绘制模块图标。您可以使用左窗格中的命令列表来绘制模块图标。

封装图标绘制命令

绘制命令描述语法示例预览
color

更改后续封装图标绘制命令的绘图颜色

color('red'); port_label('output',1,'Text')
disp

在封装图标上显示文本。

disp('Gain')
dpoly

在封装图标上显示传递函数

dpoly([0 0 1], [1 2 1], 'z')
droots

在封装图标上显示传递函数

droots([-1], [-2 -3], 4)
fprintf

在封装图标上居中显示变量文本

fprintf('Sum = %d', 7)
image

在封装图标上显示 RGB 图像

要添加图像,请选择一个封装模块,然后在模块选项卡上,点击添加图像add mask icon image

您也可以通过多个图像命令将多个图像添加到封装图标。

注意

图像应在 MATLAB 路径中。

image('sine.svg')
patch

在封装图标上绘制指定形状的彩色补片

patch([0 10 20 30 30 0], [10 30 20 25 10 10],[1 0 0])
plot

在封装图标上绘制由一系列点连接而成的图形

plot([10 20 30 40], [10 20 10 15])
port_label

在封装图标上绘制端口标签

port_label('output', 1, 'xy')
text

在封装图标上的特定位置显示文本。

您必须在图标单位框中选择 Pixels

text(5,10, 'Gain')

block_icon

将包含在子系统中的模块的图标提升到子系统封装

block_icon(BlockName)

此处,模块的图标提升到它的 Subsystem 模块。

有关详细信息,请参阅Draw Mask Icon Using Drawing Commands

注意

Simulink 不支持匿名函数内的封装绘制命令。

绘制命令按照将它们添加到文本框中的相同顺序执行。绘制命令可访问封装工作区中的所有变量。如果任何绘制命令无法成功执行,模块图标会显示问号

在以下情况下,绘制命令在绘制模块后执行:

  • 在封装对话框进行了更改并已应用。

  • 在封装编辑器中进行了更改。

  • 对模块图进行了更改,并且这些更改会影响模块的外观,例如旋转该模块。

约束

封装参数约束帮助您创建对封装参数进行的验证,而不必编写您自己的代码。有三种类型的约束:参数约束、交叉参数约束和端口约束。

constraints

参数约束:封装可以包含接受用户输入值的参数。您可以使用封装对话框为封装参数提供输入值。约束确保封装参数的输入在指定的范围内。例如,假设有一个封装的 Gain 模块。您可以设置一个约束,使输入值必须介于 1 和 10 之间。如果您提供的输入超出指定的范围,将显示错误。左窗格中的约束浏览器可帮助您管理共享约束。

交叉参数约束:交叉参数约束应用于两个或更多的编辑组合框类型的封装参数。当您要指定诸如 Parameter1 必须大于 Parameter2 之类的情况时,可以使用交叉参数约束。

端口约束:您可以对封装模块的输入端口和输出端口指定约束。编译模型时,会对照约束检查端口属性。

交叉参数约束:创建跨端口约束,以验证同一封装模块的端口之间的编译时信号属性。例如,可以在封装模块的输入端口和输出端口信号之间设置约束,使其具有相同的数据类型。

其他选项

以下按钮将出现在封装编辑器上:

  • 保存封装应用封装设置并将封装编辑器保持为打开状态。

  • 预览对话框应用您所做的更改,并打开封装对话框。

  • 删除封装删除封装并关闭封装编辑器。要再次创建封装,请选择模块,然后在模块选项卡上,在封装组中,点击创建掩膜

  • 复制封装从 Simulink 库模块复制封装定义。搜索所需的模块,然后点击复制封装以从现有模块导入封装定义。

  • 计算模块计算回调和初始化代码。

相关主题