Задайте типы данных используя параметр DataTypeStr

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

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

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

  1. Откройте модель, в которой вы хотите замаскировать блок. Для примера откройте DataTypeStr модель в параметрах маски.

  2. Выберите блок Subsystem на вкладке Subsystem Block, в группе Mask нажмите Create Mask.

    Примечание

    Если вы редактируете существующую маску, чтобы открыть Редактор маски, на вкладке Subsystem Block, в группе Mask, нажмите Edit Mask.

  3. В Редакторе Маски щелкните Parameters & Dialog, застекляют и добавляют Edit, Min, Max, DataTypeStr параметры.

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

    1. Inherit rules - Задайте правила наследования для определения типов данных. Правила наследования сгруппированы в три категории: Общие правила Simulink, Пользовательские правила и Расширенные правила Simulink. По умолчанию правила Common Simulink и Advanced Simulink доступны на Inherit rules вкладке. Раздел Advanced rules позволяет вам наследовать правила от данных точек по оси Х, постоянного значения, усиления, данных таблицы, логических данных, аккумулятора, выхода продукта и Simulink. Это также позволяет вам иметь тот же размер слова, что и вход, и иметь совпадающие типы данных для всех портов. Пользовательские правила перечислены на вкладке Inherit rules только при наличии пользовательских правил наследования, зарегистрированных в пути поиска файлов MATLAB. Определения некоторых правил наследования см. в разделе «Правила наследования типов данных ».

    2. Built-in types: Задайте один или несколько встроенных Simulink® типы данных, такие как double или single. Для получения дополнительной информации см. «Типы данных, поддерживаемые Simulink».

    3. Fixed-point: Задайте режимы масштабирования и со знаком для типа данных с фиксированной точкой. Для получения дополнительной информации смотрите Определение типа данных с фиксированной точкой.

    4. User-defined: Укажите объект шины, тип перечисленных (перечисленных) данных или строку. Для получения дополнительной информации смотрите Задать тип перечисляемых данных, Задать тип данных объекта шины и Строки Simulink.

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

  5. Чтобы сохранить выбор правил, щелкните OK в Type Options Editor.

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

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

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

В этом примере показано, как просмотреть параметр DataTypeStr для модели примера Mask Parameters программно.

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 задает Associations, и соответствующие ей значения 4, 2, 3, 1. Эти значения являются числами индексов для параметра и представляют DataTypeStr, Min, Max и параметры Edit последовательно.

  • i задает Inherit rules и соответствующее ему значение следующим Inherit: Same as first input.

  • b задает Built-in types и соответствующее ему значение следующим double и single.

См. также