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
команды.
Например, чтобы изменить диалоговые параметры макета, считайте блок Gain Раскрывающимся параметром по имени 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
значение свойства to left
:
d = Popup with properties: Name: 'Parameter2' PromptLocation: 'left' Row: 'new' HorizontalStretch: 'on' Tooltip: 'Test'
Для получения дополнительной информации о диалоговых средствах управления и их свойствах, смотрите Simulink.dialog.Control
.