封装编辑器概述
封装是一种自定义模块用户界面,它可隐藏模块内容,使用它自己的图标和参数对话框将内容以原子模块的形式向用户显示。
封装编辑器对话框可帮助您创建和自定义模块封装。当您创建或编辑封装时,封装编辑器对话框会打开。您可以通过以下任一方式访问封装编辑器对话框:
要创建封装,请执行下列操作:
在建模选项卡中的组件下,点击创建系统封装。
选择模块,并在模块选项卡上,在封装组中,点击创建掩膜。封装编辑器随即打开。
要编辑封装,请执行下列操作:
在模块选项卡的封装组中,点击编辑封装。
右键点击模块并选择封装 > 编辑封装。
注意
您也可以使用键盘快捷方式 Ctrl + M 打开封装编辑器。
封装编辑器对话框包含一系列选项卡窗格,其中每个窗格允许您定义一项封装功能。这些选项卡是:
“参数和对话框”窗格:设计封装对话框。
代码窗格:使用 MATLAB® 代码初始化封装模块。
图标窗格:创建模块封装图标。
约束:创建约束。
注意
有关从命令行创建和编辑模块封装的信息,请参阅以编程方式控制封装。
“参数和对话框”窗格
通过参数和对话框窗格,您可以使用参数、显示和动作选项板中的对话框控件设计封装对话框。
参数和对话框窗格分为以下各部分:
“参数和对话框”窗格
部分 | 部分描述 | 子部分 | 子部分描述 |
---|---|---|---|
控件 | 参数是封装对话框中用户可与之交互以添加或处理数据的元素。 | 参数 | 参数是参与仿真的用户输入。参数选项板具有一组参数对话框控件,您可以将它们添加到封装对话框中。 |
容器 | |||
显示 | 显示选项板上的控件允许您在封装对话框中将对话框控件分组,并显示文本和图像。 | ||
操作 | “操作”控件允许您在封装对话框中执行一些操作。例如,您可以点击封装对话框中的超链接或按钮。 | ||
对话框 | 也可以点击对话框控件或将其从选项板拖放到对话框以创建封装对话框。 | 不适用 | 不适用 |
属性编辑器 | 属性编辑器允许您查看和设置参数、显示、容器和动作控件的属性。 | 属性 | 定义所有对话框控件的基本信息,例如名称、值、提示和类型。 |
属性 | 定义封装对话框控件的解释方式。属性仅与参数相关。 | ||
对话框 | 定义对话框控件在封装对话框中的显示方式。 | ||
布局 | 定义对话框控件在封装对话框上的布局。 |
控件
控件部分被进一步划分为“参数”、“显示”和“操作”部分。控件表列出了不同控件及其描述。
控件表
控件 | 描述 | |
---|---|---|
参数 | ||
编辑 | 允许您通过在字段中键入来输入参数值。 您可以将约束与 | |
复选框 | 接受布尔值。 | |
弹出 | 允许您从可能值列表中选择参数值。当您选中计算复选框时,关联的变量会保存所选项的索引。请注意,索引从 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 浏览器 | 允许您在预览对话框时打开网站。在 URL 属性中输入地址。 |
操作 | ||
超链接 | 封装对话框中显示的超链接文本。 | |
按钮 | 封装对话框上的按钮控件。您可以对按钮编程使其执行特定操作。还可以在按钮控件上添加图像。 |
有关封装参数的详细信息,请浏览示例模型Types of Mask Parameters
对话框
您可以通过将对话框控件从控件部分拖到参数和对话框选项卡,来构建对话框控件的层次结构。您也可以点击控件部分的选项板,将所需控件添加到参数和对话框选项卡中。您可以在参数和对话框选项卡中添加最多 32 级的层次结构。
参数和对话框显示三个字段:类型、提示和名称。
类型字段显示对话框控件的类型,但不能对其进行编辑。它还显示参数对话框控件的序列号。
提示字段显示对话框控件的提示文本。
名称字段将自动填充,用于唯一地标识对话框控件。您可以选择在名称字段中添加不同的值(有效的 MATLAB 名称),但不能与内置参数名称相同。
在对话框上,参数控件以浅蓝色背景显示,而显示和动作控件以白色背景显示。
您可以在层次结构中移动对话框控件,可以复制和粘贴对话框控件,也可以删除某个节点。有关详细信息,请参阅Dialog Control Operations。
属性编辑器
属性编辑器允许您查看和设置参数、显示、容器及动作对话框控件的属性。下面显示了参数的属性编辑器:
您可以设置参数、动作和显示对话框控件的以下属性。有关详细信息,请参阅示例属性编辑器。
属性编辑器
属性 | 描述 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
属性 | |||||||||||||
名称 | 唯一地标识封装对话框中的对话框控件。必须为所有对话框控件设置名称属性。 | ||||||||||||
别名 | 对话框控件的替代名称。 | ||||||||||||
值 | 参数的值。值属性仅适用于参数对话框控件。 | ||||||||||||
提示 | 标识封装对话框中的参数的标签文本。提示属性适用于除面板和图像对话框控件之外的所有对话框控件。 | ||||||||||||
类型 | 对话框控件的类型。您可以使用类型字段更改参数和容器类型。您不能将任何容器类型更改为选项卡,反之亦然。 | ||||||||||||
展开 | 用于指定可折叠的面板对话框控件默认情况下是处于展开还是折叠状态。 | ||||||||||||
类型选项 | 类型选项属性允许您设置特定的参数属性。类型选项属性适用于弹出、单选按钮、数据类型字符串和提升参数。 | ||||||||||||
文件路径 | 您可以使用图像对话框控件向封装中添加图像。还可以在按钮对话框控件上显示图像。无论是哪种情况,都应在为这两个对话框控件启用的文件路径属性中提供图像的路径。对于按钮对话框控件,为提示属性指定一个空字符向量以便能够显示图像。 请注意,当您提供文件路径时,不要使用引号 (' ')。例如,如果要添加图像,请提供如下形式的文件路径: | ||||||||||||
文字换行 | 文字换行属性用于对长文本进行换行。文字换行属性仅适用于文本对话框控件。 | ||||||||||||
最大值和最小值 | 最大值和最小值属性允许您为微调框、滑块和对话框等控件指定一个范围。 | ||||||||||||
步长 | 允许您指定值的步长。此属性仅适用于微调框对话框控件。 | ||||||||||||
工具提示 | 允许您为选定的对话框控件类型指定工具提示。当您将光标悬停在封装对话框中的对话框控件上时,将显示工具提示。您可以为除组框、选项卡、可折叠面板和面板之外的所有对话框控件类型添加工具提示。 | ||||||||||||
刻度 | 允许您将滑块和刻度盘对话框控件的调整刻度设置为 linear 或 log 。 | ||||||||||||
表参数 | 为查找表参数指定表数据。 | ||||||||||||
表单位 | 指定表数据的单位。 | ||||||||||||
表显示名称 | 指定查找表控件的显示名称。 | ||||||||||||
断点参数 | 为查找表控件指定断点参数。例如,{'torque','engine speed'} | ||||||||||||
断点单位 | 指定断点参数的单位。例如,{'Nm','rpm'} | ||||||||||||
数据设定 | 通过显式指定参数中的值或通过数据对象,可以为表和断点参数指定数据 | ||||||||||||
查找表对象 | 为表和断点参数值指定数据对象的名称 | ||||||||||||
文本类型 | 为文本区域参数指定文本的类型。它可以接受纯文本、HTML 文本和 MATLAB 代码。文本区域参数能够处理 HTML 代码并在封装对话框中显示输出。同样,它可以处理 MATLAB 代码并显示输出。 | ||||||||||||
属性 | |||||||||||||
计算 | 如果您输入 MATLAB 表达式作为封装参数输入,Simulink® 以如下两种方式之一处理该输入:
对于编辑、复选框和弹出封装参数,默认情况下计算选项处于选中状态。 | ||||||||||||
可调 | 设置封装参数的可调属性以在仿真期间更改封装参数的值。 如果封装参数不支持参数调节,Simulink 将忽略封装参数的可调属性。仿真时,这些参数将在封装对话框中禁用。 封装参数的可调选项有:
根据为可调属性和仿真模式指定的值,封装参数可以是只读的或读写的。
有关参数调优和支持参数调优的模块的信息,请参阅使用模块参数值进行调优和试验。 | ||||||||||||
只读 | 表示参数不能进行修改。 | ||||||||||||
隐藏 | 表示参数不能显示在封装对话框中。 | ||||||||||||
从不保存 | 表示参数值永远不会保存在模型文件中。 | ||||||||||||
约束 | 允许您向所选参数添加约束。 | ||||||||||||
对话框 | |||||||||||||
启用 | 默认情况下启用处于选中状态。如果您清除此选项,选定控件将无法进行编辑。封装模块的用户不能设置该参数的值。 | ||||||||||||
可见 | 仅当选择此选项时,选定控件才会出现在封装对话框中。 | ||||||||||||
回调 | 您希望 Simulink 在用户向选定控件应用更改时执行的 MATLAB 代码。Simulink 使用临时工作区执行回调代码。 | ||||||||||||
布局 | |||||||||||||
项目位置 | 用于设置对话框控件要在当前行或新行中出现的位置。 | ||||||||||||
对齐提示 | 允许您对齐封装对话框中的参数。除表以外的所有“显示”控件类型都支持此选项。 | ||||||||||||
提示位置 | 用于将对话框控件的提示位置设置为对话框控件的顶部或左侧。 您不能为复选框、对话框、数据类型字符串、可折叠面板和单选按钮设置提示位置属性。 | ||||||||||||
方向 | 用于指定滑块和单选按钮的水平或垂直方向。 | ||||||||||||
水平拉伸 | 如果选择此选项,则当您调整封装对话框的大小时,封装对话框上的控件将水平拉伸。默认情况下,水平拉伸复选框处于选中状态。 |
“文档”窗格
在文档窗格中,您可以定义或修改封装模块的类型、描述和帮助文本。
类型
封装类型是显示在封装对话框中和模块的所有封装编辑器窗格上的模块分类。当 Simulink 显示封装对话框时,它会为封装类型添加后缀 (mask)
。要定义封装类型,请在类型字段中输入类型。文本可以包含任何有效的 MATLAB 字符,但不能包含换行符。
描述
封装描述是描述模块的用途或功能的简要帮助文本。默认情况下,封装描述显示在封装对话框中的封装类型下面。要定义封装描述,请在描述字段中输入描述。文本可以包含任何合法的 MATLAB 字符。Simulink 自动对较长的行进行换行。您可以使用 Enter 键强制换行。
帮助
封装模块的 Online Help(联机帮助)提供类型和描述字段所提供信息之外的其他信息。当封装模块用户点击封装对话框上的帮助按钮时,将会在一个单独的窗口中显示此信息。要定义封装帮助,请在帮助字段中键入以下某一项:
URL 设定
web
或eval
命令文字或 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,或者 web
或 eval
命令,Simulink 将在 MATLAB Online Help 浏览器中的某个标题下显示该文本,该标题是封装类型字段的值。文本可以包含任何合法的 MATLAB 字符、换行符和任何标准的 HTML 标记,包括像 img
这样显示图像的标记。
Simulink 首先将该文本复制到临时文件夹,然后使用 web
命令显示该文本。如果您希望文本显示图像,则可以提供图像文件的 URL 路径,也可以将图像文件放在临时文件夹中。使用 tempdir
可查找 Simulink 用于您的系统的临时文件夹。
代码窗格
代码窗格为您提供模块初始化和参数回调代码的集成视图。封装编辑器代码功能类似于 MATLAB 编辑器中的功能,但存在一些限制。例如,支持自动补全功能,但无法在代码中设置断点。您可以在单独的 MATLAB 类文件中组织封装初始化和封装回调代码。有关详细信息,请参阅 Organize Mask Initialization and Callbacks in a MATLAB File。
当您打开模型时,Simulink 会查找位于在模型顶层或开放式子系统中的可见封装模块。仅当这些可见的封装模块满足以下任一条件时,Simulink 才对这些模块执行初始化命令:
封装模块具有图标绘制命令。
注意
Simulink 不会初始化不包含图标绘制命令的封装模块,即使它们具有初始化命令也是如此。
封装模块属于一个库,并且已启用允许库模块修改其内容设置。
当您执行以下操作时,模型中所有封装模块的初始化命令将会运行:
更新图
开始仿真
开始代码生成
点击对话框上的应用
编辑和保存回调。
当您执行以下操作时,个别封装模块的初始化命令将会运行:
使用封装编辑器或
set_param
命令更改定义封装的任何封装参数,例如MaskDisplay
和MaskInitialization
。旋转或翻转封装模块(如果图标依赖于初始化命令)。
致使图标被绘制或重绘,并且图标绘制依赖于初始化代码。
通过使用模块对话框或
set_param
命令更改封装参数的值。在同一模型中或不同模型之间复制封装模块。
代码窗格包含本节中所述的控件。
初始化和参数回调
点击 以在编辑器中添加初始化代码模板和参数回调模板。您可以输入任何有效的 MATLAB 表达式,其中包含 MATLAB 函数和脚本、运算符以及在封装工作区中定义的变量。初始化命令在封装工作区而非基础工作区中运行。
“代码”窗格为您提供封装初始化代码和封装回调代码的集成视图。要添加参数回调代码,请点击参数列表中参数旁边的加号按钮,此时会显示回调代码的框架。为回调输入 MATLAB 命令。
初始化命令的规则
以下规则适用于封装初始化命令:
不要为动态封装对话框使用初始化代码,因为当封装对话框更改时,通常不执行初始化。相反,对相关参数使用封装回调,当给定参数更新时,这些回调会立即执行。
避免在初始化命令的前面加上变量名称
MaskParam_L_
和MaskParam_M_
。这些特定前缀是保留项,仅供内部变量名称使用。如果模块位于一个封装子系统中,而该封装子系统又位于正在初始化的其他封装子系统中,则应避免使用
set_param
命令来设置这些模块的参数。有关详细信息,请参阅动态封装子系统。
允许库模块修改其内容
仅当封装模块位于库中时,才会启用此复选框。选择此选项可允许您修改封装模块的参数。如果封装模块是封装子系统,则此选项允许您添加或删除模块并设置该子系统内模块的参数。如果未选择此选项,则当封装库模块尝试以任何方式修改其内容时,都将会生成错误。
图标窗格
图标窗格可以帮助您创建一个包含描述性文本、状态方程、图像以及图形的模块图标。您可以使用图形编辑器或封装绘制命令创建模块图标。
图形图标编辑器
图形编辑器:您可以通过图形环境创建和编辑模块的封装图标。图形图标编辑器中的各种功能可以帮助您轻松创建图标。从封装编辑器启动图形图标编辑器。
交互式图形环境:使用图形工具,如钢笔、曲率、文本、剪刀、连接器和方程(支持 LaTeX),以创建丰富的图形图标。网格、智能参考线和标尺帮助您创建像素完美的图标。除了提供绘图工具外,还有一些内置形状,如电阻、电感和旋转阻尼,也都是立即可用的。
元素浏览器:元素浏览器列出图标中的所有元素。
隐藏或取消隐藏图标中的元素。
锁定或解锁一个元素,以便在处理图标的其他元素时不会意外更改该元素的形状或位置。
为图标中的每个元素命名以便于识别。
端口绑定/解除绑定:如果您使用模块上下文创建或修改模块,则每个模块上的端口数是预定义的。例如,Simscape™ 模块或 Aerospace 模块的端口数是预定义的,它们显示在模块图标上。如果要在不使用模块上下文的情况下创建或修改模块,还可以在模块图标上定义端口数。
条件可见性:基于模块参数或封装参数隐藏或取消隐藏模块元素。
预览选项:使用水平拉伸、翻转或缩放等预览选项在 Simulink 中预览图标。您也可以使用修改后的模块参数预览图标。
显示适合图标大小的元素:当您调整模块大小时,自适应功能可帮助您仅显示适合图标大小的元素。
相对定位元素:自动布局约束功能可帮助您在画布上相对于其他元素定位每个元素。
文本参数化:您可以在模块图标上查看模块参数或封装参数的计算值。在参数/值中输入模块参数名称或占位符,该占位符将在运行时返回文本或值。要在模块图标上查看模块参数的计算值,请在 Simulink 画布上预览图标。
要了解有关图形图标编辑器的详细信息,请参阅。
封装图标绘制命令
封装编辑器为您提供每个绘图命令的框架。您可以为封装图标设置图像。点击添加图像以导入一个图像。
“封装图标绘制命令”窗格分为以下几个部分:
注意
您可以创建静态和动态模块封装图标。有关详细信息,请参阅封装显示和初始化命令。
属性. 右窗格中可用的属性是一个控制项列表,允许您指定封装图标的特性。这些选项包括:
模块边框. 模块边框是围绕模块的矩形。您可以通过将模块边框参数设置为可见或不可见,来选择显示或隐藏边框。默认值是使模块边框可见。例如,下图显示 AND 门模块的可见和不可见的模块边框。
图标透明度. 根据您是希望隐藏还是显示图标下的内容,可以将图标透明度设置为不透明、不透明(带端口) 或透明。默认选项不透明将隐藏诸如端口标签等信息。透明图标将显示模块边框,不透明图标将隐藏模块边框。
对于子系统模块,如果您将图标透明度设置为不透明(带端口),端口标签将可见。
注意
对于用于隐藏端口标签的不透明选项,必须在封装编辑器中添加一个图标绘制命令。
如果您将图标透明度设置为透明,则 Simulink 不隐藏模块边框,即使您将模块边框属性设置为不可见也是如此。
图标单位. 此选项控制绘制命令使用的坐标系。它仅适用于 plot
、text
和 patch
绘制命令。您可以从以下选项中选择:自动缩放、归一化和像素。
自动缩放缩放图标以适应模块边框。当模块调整大小时,图标也调整大小。例如,下图显示使用这些向量绘制的图标:
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 门模块时选择固定和旋转图标旋转的结果。
端口旋转. 此选项允许您指定封装模块的端口旋转类型。相关选择包括:
默认
顺时针旋转后端口将重新排序,以保持从左到右的端口编号顺序(对于位于模块上下两端的端口)以及从上到下的端口编号顺序(对于位于模块左右两侧的端口)。
物理
端口随模块一起旋转,而不在顺时针旋转后重新排序。
Default 旋转选项适用于控制系统和其他建模应用,它们的模块图通常采用从上到下和从左到右的方向。它通过最大限度减少旋转后重新连接模块以保持标准方向的需求,简化了模块图的编辑。
类似地,physical 旋转选项适用于电子、机械、液压和其他建模应用,它们的模块表示物理组件,线条表示物理连接。physical 旋转选项可以更保真地对所代表的设备行为进行建模(即端口随模块一起旋转,就像它们在物理设备上那样)。此外,该选项还可避免因为旋转而导致线交叉,从而使模块图更容易解读。
例如,下面两个图表示相同的晶体管电路。一张图中表示晶体管的封装模块使用 default 旋转,而另一张图中使用 physical 旋转。
这两张图都避免了线交叉而使图难以解读。下图显示了发生单次顺时针旋转后的模块图。
注意
使用 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 图像 要添加图像,请选择一个封装模块,然后在模块选项卡上,点击添加图像。 您也可以通过多个图像命令将多个图像添加到封装图标。 注意 图像应在 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 | 在封装图标上的特定位置显示文本。 您必须在图标单位框中选择 |
| |
block_icon | 将包含在子系统中的模块的图标提升到子系统封装 |
此处,模块的图标提升到它的 Subsystem 模块。 有关详细信息,请参阅Draw Mask Icon Using Drawing Commands。 |
注意
Simulink 不支持匿名函数内的封装绘制命令。
绘制命令按照将它们添加到文本框中的相同顺序执行。绘制命令可访问封装工作区中的所有变量。如果任何绘制命令无法成功执行,模块图标会显示问号 。
在以下情况下,绘制命令在绘制模块后执行:
在封装对话框进行了更改并已应用。
在封装编辑器中进行了更改。
对模块图进行了更改,并且这些更改会影响模块的外观,例如旋转该模块。
约束
封装参数约束帮助您创建对封装参数进行的验证,而不必编写您自己的代码。有三种类型的约束:参数约束、交叉参数约束和端口约束。
参数约束:封装可以包含接受用户输入值的参数。您可以使用封装对话框为封装参数提供输入值。约束确保封装参数的输入在指定的范围内。例如,假设有一个封装的 Gain 模块。您可以设置一个约束,使输入值必须介于 1 和 10 之间。如果您提供的输入超出指定的范围,将显示错误。左窗格中的约束浏览器可帮助您管理共享约束。
交叉参数约束:交叉参数约束应用于两个或更多的编辑或组合框类型的封装参数。当您要指定诸如 Parameter1 必须大于 Parameter2 之类的情况时,可以使用交叉参数约束。
端口约束:您可以对封装模块的输入端口和输出端口指定约束。编译模型时,会对照约束检查端口属性。
其他选项
以下按钮将出现在封装编辑器上:
保存封装应用封装设置并将封装编辑器保持为打开状态。
预览对话框应用您所做的更改,并打开封装对话框。
删除封装删除封装并关闭封装编辑器。要再次创建封装,请选择模块,然后在模块选项卡上,在封装组中,点击创建掩膜。
复制封装从 Simulink 库模块复制封装定义。搜索所需的模块,然后点击复制封装以从现有模块导入封装定义。
计算模块计算回调和初始化代码。