exponenta event banner

Программные маски управления

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

Использовать Simulink.Mask и Simulink.MaskParameter

Использование методов Simulink.Mask и Simulink.MaskParameter классы для выполнения следующих операций маски:

  • Создание, копирование и удаление масок

  • Создание, изменение и удаление параметров маски

  • Определение блока, ответственного за маску

  • Получение переменных рабочего пространства, определенных для маски

  1. В этом примере 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
  2. В этом примере объект-маска назначается переменной 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 см. в разделе Параметры маски.

Программно создавать параметры маски и диалоговые окна

В этом примере показано, как создать это простое диалоговое окно с маской, добавить элементы управления в диалоговое окно и изменить свойства элементов управления.

  1. Создайте маску для блока, выбранного в модели.

    maskobj = Simulink.Mask.create(gcb);

  2. Чтобы настроить диалоговое окно и использовать вкладки вместо группы по умолчанию, удалите поле группы Параметры (Parameters).

    maskobj.removeDialogControl('ParameterGroupVar');

    Simulink сохраняет дочерние элементы управления диалоговыми окнами - два флажка в этом примере - даже при удалении ParametersGroupVar группа, окружающая их. Эти элементы управления являются параметрами, которые нельзя удалить с помощью диалоговых методов управления.

    Параметры можно удалить с помощью таких методов, как removeAllParameters, которая принадлежит Simulink.Mask класс.

  3. Создайте контейнер табуляции и получите его дескриптор.

    tabgroup = maskobj.addDialogControl('tabcontainer','tabgroup');

  4. Создание вкладок в этом контейнере вкладок.

    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.

Связанные темы