Simulink ® определяет набор параметров, помогающих в настройке и редактировании масок. Для установки и редактирования маски из командной строки MATLAB ® можно использоватьSimulink.Mask и Simulink.MaskParameter методы классов. Вы также можете использовать get_param и set_param для установки и редактирования масок. Однако, поскольку эти функции используют разделители, не поддерживающие символы Unicode ® (неанглийские), рекомендуется использовать методы 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_param 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 команды.
Например, чтобы изменить параметры компоновки диалогового окна, рассмотрим блок усиления с добавленным параметром 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.