主要内容

以编程方式控制掩码

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_paramMaskValues

若要以编程方式控制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

相关的话题

Baidu
map