Simulink封装(mask)功能介绍
参数约束:约束确保封装参数的输入在指定的范围内。例如,假设有一个封装的 Gain 模块。交叉参数约束:交叉参数约束应用于两个或更多的编辑或组合框类型的封装参数。搜索所需的模块,然后点击复制封装以从现有模块导入封装定义。初始化回调在这里,可通过命令函数可设置系统参数初始值设定,可对图标绘制函数的初始值进行设置等。通过Icon选项卡,用户可以创建具有特定形状、颜色和文本的图标,以便更轻松地识别和管理模
概念
- 封装是一种自定义模块界面,它可隐藏模块内容,使用它自己的图标和参数对话框将内容以原子模块的形式显示。它可以封装模块逻辑,提供对模块数据的受控访问,并简化模型的图形外观。
- 当封装模块时,将创建封装定义并随模块一同保存。封装只改变模块接口,而不改变底层模块特征。通过在封装上定义对应的封装参数,提供对一个或多个底层模块参数的访问。
Simulink封装
- 功能
- 在模块上显示有意义的图标
- 为模块提供自定义对话框
- 提供一个对话框,只允许访问底层模块的所选参数
- 提供特定于封装模块的用户自定义说明
- 使用 MATLAB代码初始化参数
功能
参数与对话框
组件 | 描述 |
---|---|
控件 | 参数是封装对话框中用户可与之交互以添加或处理数据的元素。 |
对话框 | 也可以点击对话框控件或将其从选项板拖放到对话框以创建封装对话框。 |
属性编辑器 | 属性编辑器允许您查看和设置参数、显示、容器和动作控件的属性。 |
- 控件的分类
控件 | 描述 |
---|---|
容器 | 包含其他控件 |
显示 | 显示选项板上的控件允许您在封装对话框中将对话框控件分组,并显示文本和图像。 |
操作 | 控件允许您在封装对话框中执行一些操作。例如,可以点击封装对话框中的超链接或按钮 |
参数 | 参数是参与仿真的用户输入。参数选项板具有一组参数对话框控件,您可以将它们添加到封装对话框中。 |
- 重要控件说明
部分控件 | 描述 |
---|---|
一到一提升 | 允许您有选择地将模块参数从底层模块提升到封装层。点击一到一提升,打开提升的参数选择器对话框。在此对话框中,您可以选择要提升的模块参数。点击确定将其关闭。 |
多到一提升 | 允许您将所有底层模块参数提升到封装层。当您提升所有参数时,提升操作将删除之前已提升的参数。 |
- 参数和对话框显示三个字段:类型、提示和名称。
-
类型字段显示对话框控件的类型,但不能对其进行编辑。它还显示参数对话框控件的序列号。
-
提示字段显示对话框控件的提示文本。
-
名称字段将自动填充,用于唯一地标识对话框控件。
代码
-
初始化回调在这里,可通过命令函数可设置系统参数初始值设定,可对图标绘制函数的初始值进行设置等。
-
这部分通常用于定义或修改模块的内部逻辑和功能。
-
在封装编辑器中,代码可能涉及自定义函数、算法或其他实现模块特定行为的脚本。
-
通过编写或修改代码,用户可以精确地控制模块的行为和性能。
-
例如,绑定参数
set_param('模块路径','模块值名称','模块值');
约束
- 约束用于定义模块输入和输出之间的关系或限制。
- 这些约束可以确保模块在特定条件下正常工作,或者在满足特定条件时触发特定的行为。
- 约束可以限制输入值的范围,或要求输入和输出之间满足特定的数学关系。
-
参数约束:约束确保封装参数的输入在指定的范围内。例如,假设有一个封装的 Gain 模块。可以设置一个约束,使输入值必须介于 1 和 10 之间。如果提供的输入超出指定的范围,将显示错误。
-
交叉参数约束:交叉参数约束应用于两个或更多的编辑或组合框类型的封装参数。如 Parameter1 必须大于 Parameter2 之类的情况时,可以使用交叉参数约束。
-
端口约束:对封装模块的输入端口和输出端口指定约束。编译模型时,会对照约束检查端口属性。
图标
-
通过Icon选项卡,用户可以创建具有特定形状、颜色和文本的图标,以便更轻松地识别和管理模块。
-
可以使用函数自绘出各种图标,与端口,边框,旋转等细节。
其他
-
复制封装:从 Simulink 库模块复制封装定义。搜索所需的模块,然后点击复制封装以从现有模块导入封装定义。
-
预览对话框:应用所做的更改,并打开封装对话框。
-
计算模块:计算回调和初始化代码。
-
极少数模块不能封装(Scope,Function…)
-
名称字段将自动填充,用于唯一地标识对话框控件。但不能与内置参数名称相同(名称与别名都不能一致)
-
在参数和对话框选项卡中添加最多 32级的层次结构
-
类型字段显示对话框控件的类型,但不能对其进行编辑。它还显示参数对话框控件的序列号(序列号为参数控件特有,且按自上而下的顺序排列)
-
可以多层封装,再次封装时,封装的参数为以封装的控件参数
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)