Simulink® задает набор параметров, которые помогают в настройке и редактировании масок. Установка и изменение маски из MATLAB® командная строка, можно использовать Simulink.Mask и Simulink.MaskParameter методы классов. Можно также использовать get_param и set_param функций для установки и редактирования масок. Однако, поскольку эти функции используют разделители, которые не поддерживают Юникод® (Не английский) символы рекомендуется использовать методы Simulink.Mask и Simulink.MaskParameter классовые методы для управления масками.
Simulink.Mask и Simulink.MaskParameterИспользование методов Simulink.Mask и Simulink.MaskParameter Классы для выполнения следующих операций с маской:
Создание, копирование и удаление масок
Создание, изменение и удаление параметров маски
Определите блок, которому принадлежит маска
Получите переменные рабочей области, определенные для маски
В этом примере Simulink.Mask.create метод используется для создания маски блока:
maskObj = Simulink.Mask.create(gcb);
maskObj =
Simulink.Mask handle
Package: Simulink
Properties:
Type: ''
Description: ''
Help: ''
Initialization: ''
SelfModifiable: 'off'
Display: ''
IconFrame: 'on'
IconOpaque: 'on'
RunInitForIconRedraw: 'off'
IconRotate: 'none'
PortRotate: 'default'
IconUnits: 'autoscale'
Parameters: []
Methods, Events, SuperclassesВ этом примере объект маски назначается переменной maskObj использование Simulink.Mask.get метод:
maskObj = Simulink.Mask.get(gcb)
maskObj =
Simulink.Mask handle
Package: Simulink
Properties:
Type: ''
Description: ''
Help: ''
Initialization: ''
SelfModifiable: 'off'
Display: ''
IconFrame: 'on'
IconOpaque: 'on'
RunInitForIconRedraw: 'off'
IconRotate: 'none'
PortRotate: 'default'
IconUnits: 'autoscale'
Parameters: [1x1 Simulink.MaskParameter]
Methods, Events, SuperclassesДля примеров других операций с масками, таких как создание и редактирование параметров маски и копирование и удаление масок, смотрите Simulink.Mask и Simulink.MaskParameter .
get_param и set_paramThe set_param и get_param функции имеют параметры для настройки и управления маской. Можно использовать эти функции, чтобы задать маску любого блока в модели или библиотеке на основе значения, переданного из командной строки MATLAB:
set_param(gcb,'MaskStyleString','edit,edit',... 'MaskVariables','maskparameter1=@1;maskparameter2=&2;',... 'MaskPromptString','Mask Parameter 1:|Mask Parameter 2:',... 'MaskValues',{'1','2'});
get_param(gcb,'MaskStyleString');
set_param(gcb,'MaskStyles',{'edit','edit'},'MaskVariables',... 'maskparameter1=@1;maskparameter2=&2;','MaskPrompts',... {'Mask Parameter 1:','Mask Parameter 2:'},... 'MaskValueString','1|2');
get_param(gcb,'MaskStyles');
где
| разделяет отдельные значения векторов символов для параметров маски.
@ указывает, что поле параметра оценивается.
& указывает, что поле параметра не оценивается, но назначено как вектор символов.
Примечание
Когда вы используете get_param чтобы получить Value для параметра маски Simulink возвращает значение, которое в последний раз применялось с помощью диалогового окна маски. Значения, которые вы ввели в диалоговое окно маски, но не применили, не отражаются при использовании get_param команда.
Чтобы задать значение параметра маски программно, рекомендуется использовать set_param команда на параметре маски вместо использования set_param на MaskValues.
Для программного управления свойствами маски для релиза перед R2014a смотрите Параметры маски.
В этом примере показано, как создать это диалоговое окно простой маски, добавить элементы управления в диалоговое окно и изменить свойства элементов управления.

Создайте маску для блока, выбранного в модели.
maskobj = Simulink.Mask.create(gcb);
Чтобы настроить диалоговое окно и использовать вкладки вместо группы по умолчанию, удалите Parameters рамку группы.
maskobj.removeDialogControl('ParameterGroupVar');
Simulink сохраняет дочерние контроллеры диалога - два флажка в этом примере - даже когда вы удаляете ParametersGroupVar окружающая их группа. Эти элементы управления являются параметрами, которые нельзя удалить с помощью методов диалогового управления.
Можно удалить параметры с помощью таких методов, как removeAllParameters, который принадлежит Simulink.Mask класс.
Создайте контейнер вкладки и получите его указатель.
tabgroup = maskobj.addDialogControl('tabcontainer','tabgroup');Создайте вкладки в этом контейнере табуляций.
tab1 = tabgroup.addDialogControl('tab','tab1');
tab1.Prompt = 'First';
maskobj.addParameter('Type','checkbox','Prompt','Option 1',...
'Name','option1','Container','tab1');
maskobj.addParameter('Type','checkbox','Prompt','Option 2',...
'Name','option2','Container','tab1');
tab2 = tabgroup.addDialogControl('tab', 'tab2');
tab2.Prompt = 'Second';
tab3 = tabgroup.addDialogControl('tab','tab3');
tab3.Prompt = 'Third (invisible)';Сделать невидимой третью вкладку.
tab3.Visible = 'off'
tab3 =
Tab with properties:
Name: 'tab3'
Prompt: 'Third (invisible)'
Enabled: 'on'
Visible: 'on'
DialogControls: []
Вы можете изменить расположение и другие свойства параметров в диалоговом окне при помощи Simulink.dialog.Control команды.
Для примера, чтобы изменить диалоговое окно размещения опций, рассмотрите блок Gain с параметром Popup с именем Parameter2 добавления. Чтобы задать диалоговое окно размещения опции параметра, можно использовать образец Simulink.dialog.parameter.Popup класс. Следующий код показывает, как задать расположение приглашения в диалоговом размещении:
a = Simulink.Mask.get('testmodel/Gain');
d = a.Parameters(2).DialogControl;Это приводит все свойства всплывающего параметра 'Parameter2':
d =
Popup with properties:
Name: 'Parameter2'
PromptLocation: 'top'
Row: 'new'
HorizontalStretch: 'on'
Tooltip: 'Test'Теперь, чтобы задать PromptLocation свойство, используйте команду:
d.PromptLocation = 'left'
Это устанавливает PromptLocation как 'left'. Доступные значения 'left' и 'top'. Этот выход подтверждает изменение PromptLocation значение свойства к left:
d =
Popup with properties:
Name: 'Parameter2'
PromptLocation: 'left'
Row: 'new'
HorizontalStretch: 'on'
Tooltip: 'Test'Для получения дополнительной информации о диалоговых элементах управления и их свойствах смотрите Simulink.dialog.Control.