exponenta event banner

Укажите типы данных с помощью параметра DataTypeStr

Подобно любому параметру маски, параметр DataTypeStr можно добавить в диалоговое окно маски из редактора масок. Добавление параметра DataTypeStr в диалоговое окно маски позволяет конечному пользователю блока указать допустимые типы данных для связанного параметра Edit type. При определении маски можно указать один или несколько типов данных для параметра Править (Edit). Конечный пользователь блока может выбрать один из этих типов данных. Указание типа данных для параметра Править определяет правило для входного значения, которое может быть предоставлено в диалоговом окне маски.

Параметр DataTypeStr также позволяет указать минимальное и максимальное значение параметра Edit. Для этого можно использовать параметры маски Min и Max и связать эти параметры с параметром DataTypeStr. Параметр DataTypeStr можно использовать для анализа с фиксированной точкой.

Связать типы данных для редактирования параметра

  1. Откройте модель, в которой требуется замаскировать блок. Например, откройте DataTypeStr модель в разделе Параметры маски (Mask Parameters).

  2. Выберите блок Подсистема на вкладке Блок подсистемы в группе Маска щелкните Создать маску.

    Примечание

    При редактировании существующей маски для открытия редактора масок на вкладке Блок подсистемы в группе Маска нажмите кнопку Редактировать маску.

  3. В редакторе масок щелкните панель «Параметры и диалоговое окно» и добавьте параметры Edit, Min, Max, DataTypeStr.

  4. Чтобы указать типы данных для параметра Edit, выберите DataTypeStr в разделе Диалоговое окно редактора масок и нажмите кнопку рядом с опциями Type на панели редактора свойств. Редактор параметров типа имеет интерфейс пользователя с вкладками, содержащий эти вкладки для правил типов данных.

    1. Правила наследования (Inherit rules) - укажите правила наследования для определения типов данных. Правила наследования сгруппированы по трем категориям: Общие правила Simulink, Пользовательские правила и Расширенные правила Simulink. По умолчанию общие правила Simulink и расширенные правила Simulink доступны на вкладке Наследовать правила. Раздел Расширенные правила позволяет наследовать правила из данных точек останова, постоянного значения, коэффициента усиления, табличных данных, логических данных, накопителя, выходных данных продукта и Simulink. Он также позволяет иметь ту же длину слова, что и входные, и одинаковые типы данных для всех портов. Пользовательские правила перечислены на вкладке Наследовать правила (Inherit rules), только если в пути поиска MATLAB зарегистрированы какие-либо пользовательские правила наследования. Определения некоторых правил наследования см. в разделе Правила наследования типов данных.

    2. Встроенные типы: Укажите один или несколько встроенных типов данных Simulink ®, например double или single. Дополнительные сведения см. в разделе Типы данных, поддерживаемые Simulink.

    3. Фиксированная точка: Укажите режимы масштабирования и подписи для типа данных с фиксированной точкой. Дополнительные сведения см. в разделе Указание типа данных с фиксированной точкой.

    4. Определяемый пользователем: Укажите объект шины, перечисляемый (перечисляемый) тип данных или строку. Дополнительные сведения см. в разделах Указание перечисляемого типа данных, Указание типа данных объекта шины и Строки симулятора.

    5. Связи: связывание параметра типа данных с параметром редактирования. Можно также связать параметры Мин (Min) и Макс (Max) с параметром Править (Edit).

  5. Чтобы сохранить выбранные правила, нажмите кнопку ОК в редакторе параметров типа.

  6. Чтобы сохранить изменения и выйти из редактора масок, нажмите кнопку «ОК».

Просмотр DataTypeStr программным способом

Вы можете использовать Simulink.Mask.get в окне команд MATLAB ® для просмотра значений типов данных, заданных для маски блока. MATLAB использует предопределенную номенклатуру для представления информации о типе данных в командной строке.

В этом примере показано, как просмотреть параметр DataTypeStr для примера «Параметры маски модели» программно.

maskobj = Simulink.Mask.get(gcb)
maskobj = 

Mask with properties:

                  Type: ''
                  Description: ''
                         Help: ''
               Initialization: ''
               SelfModifiable: 'off'
                      Display: ''
                    IconFrame: 'on'
                   IconOpaque: 'opaque'
         RunInitForIconRedraw: 'off'
                   IconRotate: 'none'
                   PortRotate: 'default'
                    IconUnits: 'autoscale'
                   Parameters: [1×4 Simulink.MaskParameter]
                     BaseMask: [0×0 Simulink.Mask]
         ParameterConstraints: [0×0 Simulink.Mask.Constraints]
         BlockConstraintRules: [0×0 Simulink.Mask.BlockConstraints]
    ConstraintParamAssociator: [0×0 Simulink.Mask.ConstraintParamAssociator]

maskobj.getParameter('DataTypeStrParameter')
ans = 

MaskParameter with properties:

Type: 'unidt({a=4|2|3|1}{i=Inherit: auto|Inherit: Inherit via internal rule}{b=double|single})'
    TypeOptions: {0×1 cell}
           Name: 'DataTypeStrParameter'
         Prompt: 'Output data type'
          Value: 'Inherit: auto'
       Evaluate: 'on'
        Tunable: 'off'
      NeverSave: 'off'
         Hidden: 'off'
       ReadOnly: 'off'
        Enabled: 'on'
        Visible: 'on'
    ShowTooltip: 'on'
       Callback: ''
          Alias: ''

В результате отображаются свойства, определенные для параметра DataTypeStr. В этом примере определяется номенклатура для указанных опций типа:

Type: 'unidt({a=4|2|3|1}{i=Inherit: auto|Inherit: Inherit via internal rule}{b=double|single})'

Здесь, Type отображает значения, указанные для параметра DataTypeStr, и имеет следующие определения:

  • a определяет связи и соответствующие им значения 4, 2, 3, 1. Эти значения являются индексными числами для параметра и последовательно представляют параметры DataTypeStr, Min, Max и Edit.

  • i определяет правила Inherit и их соответствующее значение как Inherit: Same as first input.

  • b определяет встроенные типы и их соответствующее значение как double и single.

См. также