以编程方式控制掩码
Simulink®定义了一组参数,用于帮助设置和编辑掩码。要从MATLAB®命令行设置和编辑蒙版,您可以使用仿真软件。面具
而且仿真软件。面具Parameter
类方法。你也可以使用get_param
而且set_param
函数设置和编辑掩码。但是,由于这些函数使用的分隔符不支持Unicode®(非英语)字符,因此建议使用仿真软件。面具
而且仿真软件。面具Parameter
类方法来控制掩码。
使用仿真软件。面具
而且仿真软件。面具Parameter
使用方法仿真软件。面具
而且仿真软件。面具Parameter
类来执行以下掩码操作:
创建、复制和删除掩码
创建、编辑和删除掩码参数
确定拥有掩码的块
获取为掩码定义的工作区变量
在这个例子中
Simulink.Mask.create
方法用于创建块掩码:
new_system (“mask_example”);add_block (“内置/子系统”,“mask_example /子系统”);save_system;open_system (“mask_example”);maskObj = Simulink.Mask.create(gcb);
在本例中,mask对象被赋值给variablemaskObj
使用Simulink.Mask.get
方法:
maskObj = Simulink.Mask.get(gcb);maskObj
maskObj =带有属性的掩码:类型:"描述:"帮助:"初始化:" SelfModifiable: 'off' ImageFile: "显示:" IconFrame: 'on' IconOpaque: 'opaque' RunInitForIconRedraw: 'analyze' IconRotate: 'none' PortRotate: 'default' IconUnits: 'autoscale'参数:[0x0 Simulink.]MaskParameter] PortIdentifiers: [0x0 Simulink.Mask.]PortIdentifier] ParameterConstraints: [0x0 Simulink.Mask.]CrossParameterConstraints: [0x0 Simulink.Mask.]CrossParameterConstraints] PortConstraints: [0x0 Simulink.Mask.]PortConstraint] BaseMask: [0x0 Simulink.]面具)
有关其他掩码操作的示例,如创建和编辑掩码参数以及复制和删除掩码,请参见仿真软件。面具
而且仿真软件。面具Parameter
.
使用get_param
而且set_param
的set_param
而且get_param
函数具有设置和控制掩码的参数。你可以使用这些函数根据MATLAB命令行传递的值来设置模型或库中任何块的掩码:
set_param (gcb),“MaskStyleString”,编辑,编辑的,...“MaskVariables”,' maskparameter1 = @1; maskparameter2 = 2;,...“MaskPromptString”,掩码参数1:|掩码参数2:,...“MaskValues”, {' 1 ',' 2 '});get_param (gcb),“MaskStyleString”);set_param (gcb),“MaskStyles”, {“编辑”,“编辑”},“MaskVariables”,...' maskparameter1 = @1; maskparameter2 = 2;,“MaskPrompts”,...{掩码参数1:,掩码参数2:},...“MaskValueString”,‘1 | 2);get_param (gcb),“MaskStyles”);
在哪里
|
分隔掩码参数的单个字符向量值。@
指示对参数字段进行计算。&
指示不计算参数字段,而是将其赋值为字符向量。
请注意
当你使用
get_param
为了得到价值
,则Simulink返回最后一次使用掩码对话框应用的值。控件时,已输入到掩码对话框但未应用的值将不反映get_param
命令。若要以编程方式指定掩码参数的值,建议使用
set_param
命令面具参数而不是使用set_param
在MaskValues.
若要以编程方式控制R2014a之前版本的掩码属性,请参阅面具参数.
限制使用set_param
以及链接块上的掩码对象api
Simulink在修改掩码参数时施加了某些约束set_param
并在链接块上屏蔽对象api。在不可自修改的链接块上,可以更改掩码参数的属性,例如价值
,可见
,启用
.在一个可自修改的链接块上,除了更改属性外,您几乎不能更改其他属性价值
,可见
,启用
.
以编程方式创建掩码参数和对话框
这个例子展示了如何创建这个简单的掩码对话框,向对话框中添加控件,以及更改控件的属性。
步骤1:为您在模型中选择的块创建掩码。
步骤2:要自定义对话框并使用选项卡而不是默认组,请删除参数组框。
maskObj.removeDialogControl (“ParameterGroupVar”);open_system (“mask_example /子系统”);
控件时,Simulink仍然保留子对话框控件(本例中的两个复选框)ParametersGroupVar
一群人围着他们。这些控件是不能使用对话框控件方法删除的参数。
可以使用如下方法删除参数removeAllParameters
,属于仿真软件。面具
类。
步骤3:创建一个标签容器并获取它的句柄。
tabgroup = maskObj.addDialogControl(“tabcontainer”,“tabgroup”);
步骤4:在这个选项卡容器中创建选项卡。
tab1 = tabgroup.addDialogControl(“标签”,“tab1”);tab1。提示=“第一”;maskObj.addParameter (“类型”,“复选框”,“提示”,选项1的,...“名字”,“option1”,“容器”,“tab1”);maskObj.addParameter (“类型”,“复选框”,“提示”,选项2的,...“名字”,“option2”,“容器”,“tab1”);tab2 = tabgroup.addDialogControl(“标签”,“tab2”);tab2。提示=“第二”;tab3 = tabgroup.addDialogControl(“标签”,“tab3”);tab3。提示=“第三(看不见的)”;
使第三个标签不可见。
tab3。可见=“关闭”;tab3
tab3 =带有属性的选项卡:名称:'tab3'提示:'第三(不可见)'启用:'on'可见:'off' AlignPrompts: 'off' DialogControls: [0x0 Simulink.dialog.Control]
控件可以更改对话框中参数的位置和其他属性Simulink.dialog.Control
命令。
例如,要更改对话框布局选项,可以考虑添加一个名为Parameter2的Popup参数的Gain块。的实例来设置参数的对话框布局选项Simulink.dialog.parameter.Popup
类。下面的代码展示了如何在对话框布局中设置提示符的位置:
add_block (“内置/增益”,“mask_example / gain2”);maskobj = Simulink.Mask.create(gcb);set_param (gcb),“MaskStyleString”,“弹出”,...“MaskVariables”,“maskparameter2 = 2;,...“MaskPromptString”,掩码参数2:);a = Simulink.Mask.get(“mask_example / gain2”);参数(1).DialogControl;d
d =弹出与属性:名称:'Parameter1' PromptLocation: 'left'行:'new' HorizontalStretch: 'on'工具提示:"
现在,要设置PromptLocation
属性,使用命令:
d.PromptLocation =“左”;
这将设置PromptLocation
作为“左
”。可选值为“左”
而且“高级”
.输出确认的变化PromptLocation
物业价值左
:
d
d =弹出与属性:名称:'Parameter1' PromptLocation: 'left'行:'new' HorizontalStretch: 'on'工具提示:"
save_system;
有关对话框控件及其属性的详细信息,请参见Simulink.dialog.Control
.