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_param
The 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
.