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

Data Type Assistant является интерактивным графическим инструментом, который упрощает задачу определения типов данных для блоков и объектов данных. Ассистент появляется на блоке и объектных диалоговых окнах, смежных с параметрами, которые обеспечивают управление типом данных, такое как параметр Output data type. Например, это появляется на вкладке Signal Attributes диалогового окна Block Parameters для блока Constant.

The Data Type Assistant appears below the data type parameter in the Constant block parameters dialog box.

Можно выборочно показать или скрыть Data Type Assistant путем нажатия применимой кнопки:

  • Нажмите кнопку Show data type assistant, чтобы отобразить ассистент.

  • Нажмите кнопку Hide data type assistant, чтобы скрыть видимый ассистент.

Используйте Data Type Assistant, чтобы задать тип данных можно следующим образом:

  1. Из списка Mode выберите категорию типа данных, который вы хотите задать. В общем случае эти опции включены.

    РежимОписание

    Inherit

    Наследование управляет для типов данных

    Built in

    Встроенные типы данных

    Fixed point

    Типы данных с фиксированной точкой

    Enumerated

    Перечислимые типы данных

    Bus object

    Соедините шиной типы данных Object

    Value type

    Специализированные типы значения, такие как скорость ветра

    Expression

    Выражения, которые оценивают к типам данных

    Ассистент изменяется динамически, чтобы отобразить различные варианты, которые соответствуют выбранному режиму. Например, установка Mode к Expression в диалоговом окне Block Parameters для Constant блок обновляет значения в полях рядом с Output data type и Mode.

    The Constant block parameters dialog box shows that the value for each box is now <data type expression>.

  2. Справа от списка Mode выберите или введите тип данных.

    Например, предположите, что вы определяете переменную myDataType как псевдоним для single тип данных. Вы создаете экземпляр Simulink.AliasType класс и набор его BaseType свойство путем ввода этих команд.

    myDataType = Simulink.AliasType
    myDataType.BaseType = 'single'

    Можно использовать этот объект типа данных задать тип выходных данных блока Constant. Введите имя псевдонима типа данных, myDataType, как значение выражения в ассистенте.

    The value for each box is now myDataType.

  3. Нажмите OK или Apply, чтобы применить ваши изменения.

    Ассистент использует тип данных, который вы задали, чтобы заполнить связанный параметр типа данных в блоке или возразить диалоговому окну. Например, параметр Output data type блока Constant задает то же выражение, что вы ввели использование ассистента.

    The boxes no longer have formatting that indicates the values are modified.

Для получения дополнительной информации о типах данных, что можно задать использование Data Type Assistant, смотрите Ввод Допустимых Значений Типа данных. Для получения дополнительной информации об определении типов данных с фиксированной точкой, смотрите, Задают Типы данных с фиксированной точкой с Ассистентом Типа данных (Fixed-Point Designer).

Определение типа данных с фиксированной точкой

Когда Ассистентом Типа данных Mode является Fixed point, Ассистент Типа данных отображает поля для того, чтобы указать информацию о вашем типе данных с фиксированной точкой. Например, следующий рисунок показывает диалоговое окно Block Parameters для блока Gain с выбранной вкладкой Signal Attributes и заданный тип данных с фиксированной точкой.

Если Масштабированием является Slope and bias вместо Binary point, Ассистент Типа данных отображает поле Slope и Поле подмагничивания, а не Дробное поле длины:

Можно использовать Ассистент Типа данных, чтобы установить эти свойства фиксированной точки:

Со знаком

Задайте, хотите ли вы, чтобы данными фиксированной точки был Signed или Unsigned. Данные со знаком могут представлять положительные и отрицательные величины, но данные без знака представляют положительные значения только. Настройкой по умолчанию является Signed.

Размер слова

Задайте диаметр долота слова, которое будет содержать квантованное целое число. Большие размеры слова представляют большие значения большей точностью, чем небольшие размеры слова. Размер слова может быть любым целым числом между 0 и 128. Диаметр долота по умолчанию равняется 16.

Масштабирование

Задайте метод для масштабирования ваших данных фиксированной точки, чтобы избежать условий переполнения и минимизировать ошибки квантования. Методом по умолчанию является Binary point масштабирование. Можно выбрать один из двух масштабирующихся режимов:

Масштабирование режимаОписание
Binary point

Если вы выбираете этот режим, Ассистент Типа данных отображает поле Fraction Length, которое задает местоположение двоичной точки.

Двоичные точки могут быть положительными или отрицательными целыми числами. Положительное целое число перемещает двоичную точку, оставленную самого правого бита той суммой. Например, запись 2 наборов двоичная точка перед вторым битом справа. Отрицательное целое число перемещает двоичную точку дальнейшее право самого правого бита той суммой, как в этом примере:

Двоичная точка по умолчанию 0.

Slope and bias

Если вы выбираете этот режим, Ассистент Типа данных отображает поля для ввода Slope и Bias.

Наклон может быть любым положительным вещественным числом, и наклон по умолчанию 1.0. Смещение может быть любым вещественным числом, и смещение по умолчанию 0.0. Можно ввести наклон и сместить как выражения, которые содержат параметры, которые вы задаете в MATLAB® рабочая область.

Примечание

Используйте масштабирование двоичной точки, когда это возможно, чтобы упростить реализацию данных фиксированной точки в сгенерированном коде. Операции с данными фиксированной точки с помощью масштабирования двоичной точки выполняются с простыми сдвигами разряда и устраняют дорогие реализации кода, которые требуются для отдельного наклона и смещают значения.

Для получения дополнительной информации о масштабировании фиксированной точки, смотрите Масштабирующийся (Fixed-Point Designer).

Переопределение типа данных

Когда Mode является Built in или Fixed point, можно использовать опцию Data type override, чтобы задать, хотите ли вы, чтобы этот тип данных наследовал или проигнорировал установку переопределения типа данных, заданную для ее контекста, то есть, для блока, Simulink.Signal объект или Stateflow® стройте диаграмму в Simulink® это использует сигнал. Поведением по умолчанию является Inherit.

Режим переопределения типа данныхОписание
Inherit (значение по умолчанию)

Наследовал переопределение типа данных, сходящее с его контекста, то есть, от блока, Simulink.Signal объект или диаграмма Stateflow в Simulink, который использует сигнал.

Off

Игнорирует установку переопределения типа данных его контекста и использует тип данных с фиксированной точкой, заданный для сигнала.

Способность выключить переопределение типа данных для отдельного типа данных обеспечивает большее управление типами данных в вашей модели, когда вы применяете переопределение типа данных. Например, можно использовать эту опцию, чтобы гарантировать, что типы данных удовлетворяют требования нисходящих блоков независимо от установки переопределения типа данных.

Вычислите масштабирование Лучшей Точности

Нажмите эту кнопку, чтобы вычислить значения лучшей точности для обоих Binary point и Slope and bias масштабирование, на основе заданных минимальных и максимальных значений. Simulink отображает масштабирующиеся значения в поле Fraction Length или полях Slope и Bias. Для получения дополнительной информации смотрите Постоянное Масштабирование для Лучшей Точности (Fixed-Point Designer).

Показ деталей фиксированной точки

Когда вы задаете тип данных с фиксированной точкой, можно использовать подпанель деталей Фиксированной точки, чтобы видеть информацию о типе данных с фиксированной точкой, который в настоящее время отображен в Ассистенте Типа данных. Чтобы видеть подпанель, кликните по расширителю рядом с деталями Фиксированной точки в Ассистенте Типа данных. Подпанель деталей Фиксированной точки появляется в нижней части Ассистента Типа данных:

Строки пометили Output minimum и Output maximum покажите те же значения, которые появляются в соответствующем Выходном минимуме и Выходных полях максимума выше Ассистента Типа данных. Имена этих полей могут отличаться от показанных. Например, параметры блоков фиксированной точки показали бы минимум Параметра и максимум Параметра, и соответствующие строки деталей Фиксированной точки были бы помечены соответственно. Смотрите Указывают Диапазоны сигнала и Задают Минимальные и Максимальные значения для Параметров блоков для получения дополнительной информации.

Строки пометили Representable minimum, Representable maximum, и Precision всегда появляйтесь. Эти строки показывают минимальное значение, максимальное значение и точность, которая может быть представлена типом данных с фиксированной точкой, в настоящее время отображенным в Ассистенте Типа данных.

Значения, отображенные подпанелью деталей Фиксированной точки, автоматически не обновляются, если вы нажимаете Calculate Best-Precision Scaling или изменяете пределы области значений, значения, которые задают тип данных с фиксированной точкой или что-либо в другом месте в модели. Чтобы обновить значения, показанные в подпанели деталей Фиксированной точки, нажмите Refresh Details. Ассистент Типа данных затем обновляет или повторно вычисляет все значения и отображает результаты.

Нажатие на Refresh Details ничего не изменяет в модели, это только изменяет отображение. Нажмите ОК или Применяйтесь, чтобы осуществить отображенные значения. Если значение поля не может быть известно без первой компиляции модели, подпанель деталей Фиксированной точки показывает значение Unknown.

Если какие-либо ошибки происходят, когда вы нажимаете Refresh Details, подпанель деталей Фиксированной точки показывает флаг ошибки слева от применимой строки и описание ошибки справа. Например, следующий рисунок показывает две ошибки:

Строка пометила Output minimum показывает ошибке Cannot evaluate потому что выполнение выражения MySymbol, заданный в Выходном поле минимума, не возвращал соответствующее числовое значение. Когда выражение не оценивает успешно, подпанель деталей Фиксированной точки отображает неоцененное выражение (обрезающий до 10 символов при необходимости, чтобы оставить свободное место) вместо недоступного значения.

Чтобы откорректировать ошибку в этом случае, необходимо было бы задать MySymbol в доступной рабочей области, чтобы ввести соответствующее числовое значение. После того, как вы нажали Refresh Details, значение MySymbol появился бы вместо его неоцененного текста, и ошибочный индикатор и описание ошибки исчезнут.

Откорректировать ошибку, показанную для Output maximum, необходимо было бы уменьшить Выходной максимум, увеличить Размер слова или длину Части уменьшения (или некоторая комбинация этих изменений) достаточно, чтобы позволить типу данных с фиксированной точкой представлять максимальное значение, которое это могло иметь.

Другие значения, относящиеся к конкретному блоку, могут также появиться в подпанели деталей Фиксированной точки. Например, на вкладке Attributes блока-сигнала Интегратора Дискретного времени, подпанель может выглядеть так:

Значения, отображенные для Upper saturation limit и Lower saturation limit, отображаются серым. Этот внешний вид указывает, что соответствующие параметры в настоящее время не используются блоком. Greyed значения могут быть проигнорированы.

Чтобы сохранить пробел, Initial condition отображает наименьшее значение и самое большое значение в векторе или матрице, с помощью замещающего знака, чтобы представлять другие значения. Базовое определение вектора или матрицы незатронуто.

Заблокируйте установку типа выходных данных против изменений Fixed-Point Tool

Установите этот флажок, чтобы предотвратить замену текущего типа данных с типом, который выбирает Советник по вопросам Fixed-Point Tool или Фиксированной точки. Для получения инструкций по автомасштабированию данных фиксированной точки смотрите Масштабирующийся (Fixed-Point Designer).

Задайте перечислимый тип данных

Можно использовать Data Type Assistant, чтобы задать перечислимый объект как тип данных для блока. В Data Type Assistant, набор Mode к Enumerated и задайте перечислимый объект.

The Constant block parameters dialog box shows that the output data type is set to Enum: myEnum.

Для получения дополнительной информации о перечислимых типах данных, смотрите Типы данных.

Задайте тип данных Object шины

Можно использовать Data Type Assistant, чтобы задать Simulink.Bus возразите как тип данных для блока или объекта данных.

  • Для получения информации о блоках та поддержка Bus типы данных Object, смотрите Типы данных для Шин. Можно использовать диалоговое окно Block Parameters, чтобы получить доступ к Ассистенту Типа данных.

  • Для Simulink.Signal и Simulink.Parameter объекты, используйте Model Explorer, чтобы получить доступ к Ассистенту Типа данных.

  • Для Simulink.BusElement объекты, используйте Bus Editor, чтобы получить доступ к Ассистенту Типа данных.

В Data Type Assistant, набор Mode к Bus object и задайте Bus объект.

The Constant block parameters dialog box shows that the output data type is set to Bus: myBusObject.

Для получения дополнительной информации об определении Bus тип данных Object, смотрите Specify Bus Properties с Типами данных Object Simulink.Bus.

Задайте тип значения

Можно использовать Data Type Assistant, чтобы задать Simulink.ValueType возразите как тип данных для блока или Simulink.BusElement объект.

  • Для получения информации о блоках та поддержка ValueType типы данных Object, смотрите Simulink.ValueType. Можно использовать диалоговое окно Block Parameters, чтобы получить доступ к Ассистенту Типа данных.

  • Для Simulink.BusElement объекты, используйте Bus Editor, чтобы получить доступ к Ассистенту Типа данных.

В Data Type Assistant, набор Mode к Value type и задайте ValueType объект.

The Outport block parameters dialog box shows that the data type is set to ValueType: myValueType.

Для получения дополнительной информации об определении типов значения смотрите Specify Application-Specific Signal Properties.

Смотрите также

|

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте