# 创建模块封装


Mask(封装)模块是 Sysblock 中用于封装模型和子系统、隐藏内部逻辑并简化参数配置的重要工具。通过 Mask 模块,用户可以为模型和子系统创建自定义参数对话框,以及自己的模块描述、参数提示和帮助文本,提升参数管理效率。

# 封装基础知识

封装 Mask 模块可以:

  • 为模块提供自定义对话框;

  • 提供一个对话框,只允许您访问底层模块的所选参数;

  • 提供特定于封装模块的用户自定义说明。

请考虑代表直线方程 y = mx + b 的模型。参考模型

每个模块都有它自己的对话框,这让指定直线方程变量的值变得复杂。为了简化用户界面,可在顶层子系统模块上应用封装。此示例中使用的模块是 Inport、Gain、Sum、Constant 和 Outport。

此处变量 m 表示斜率,变量 b 表示直线方程 y = mx + b 的截距。

参数对话框编辑器用于对封装进行定义,设置封装参数与属性。

参数对话框中显示了斜率和截距字段,分别对应于变量 m 和 b。

术语 描述
封装参数 在参数对话框编辑器中定义并显示在参数对话框中的参数。在参数对话框中设置封装参数值将会设置对应的模块参数值。
参数对话框 包含用于设置封装参数值的字段并提供封装描述的对话框。
参数对话框编辑器 用于创建和自定义模块封装。

# 创建简单封装

您可以使用参数对话框编辑器以交互方式封装模块。此示例说明使用参数对话框编辑器来封装模块的操作步骤。

# 步骤1 :打开参数对话框编辑器

  1. 打开您要在其中封装模块的模型。以某个模型为例,它包含直线方程 y = mx + b 的一个子系统模块。

  2. 选择该子系统模块,在弹出的菜单栏中选择编辑封装。

# 步骤2:定义封装

打开参数对话框编辑器如上图所示,整体布局可分为以下四个区域:

  1. 控件库(左侧)

    • 提供可添加到参数界面的各种UI控件。
    • 通过拖拽方式将控件添加到参数对话框,增强交互性。
  2. 参数列表(中上)

    • 显示当前组件已经添加的参数控件及其基本属性。
    • 支持参数选择、编辑和删除。
  3. 参数结构(中下)

    • 展示当前模型/子系统内可供提升的参数列表。
    • 支持组件参数的选择与提升,提升后的参数控件类型与之前保持一致。
  4. 属性编辑器(右侧)

    • 用于调整当前选定参数的详细属性。
    • 允许用户直接修改参数的配置,实现参数化管理。

参数结构(中下)使用参数提升功能向参数列表(中上)添加参数、绑定控件,并在右侧属性编辑器中对参数进行设置。操作步骤如下:

  1. 参数结构区域(中下)勾选参数,单击提升按钮添加到模型封装,在参数列表区域(中上)添加两个新行。

  2. 属性编辑器(右侧),为两个编辑参数的文本一行分别键入“截距: "和”斜率:"。

  3. 单击确定应用保存封装。

# 步骤3:调用封装后的参数对话框

  1. 在模型中双击该子系统,可以打开该子系统的参数对话框。

  2. 参数对话框的截距和斜率框中键入值,单击确定应用

  3. 单击仿真,验证仿真结果。

# 注意事项

  • 模型的封装仅支持仿真,暂不支持代码生成。
  • 存在同名变量时,其优先级顺序为:模型工作区 > 数据字典 > 基础工作区>参数对话框中的 Paramter 参数。

# 功能限制

当前版本的部分功能尚未支持,具体包括:

  • 不支持不定端口模块的参数提升
  • 不支持用户自定义回调参数
  • 不支持用户自定义数据绑定关系
  • 不支持嵌套层级的 SubSystem 参数提升

# 相关主题