Задайте типы данных, используя Data Type Assistant

Этот Data Type Assistant является интерактивным графическим инструментом, который упрощает задачу определения типов данных для блоков и объектов данных. Ассистент появляется в диалоговых окнах блоков и объектов, рядом с параметрами, которые обеспечивают управление типом данных, такими как параметр Output data type. Для примера он появляется на Signal Attributes панели Постоянного диалогового окна блока, показанной здесь.

Вы можете выборочно показать или скрыть Data Type Assistant, нажав соответствующую кнопку:

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

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

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

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

    СпособОписание

    Inherit

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

    Built in

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

    Fixed point

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

    Enumerated

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

    Bus object

    Типы данных объекта шины

    Expression

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

    Ассистент изменяется динамически, чтобы отобразить различные опции, соответствующие выбранному режиму. Для примера установите Mode равным Expression приводит к появлению диалогового окна Constant блока следующим образом.

  2. В поле, расположенном справа от поля Mode, выберите или введите тип данных.

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

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

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

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

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

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

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

Когда используется Mode Data Type Assistant Fixed pointПомощник по типам данных отображает поля для определения информации о типе данных с фиксированной точкой. Для примера следующий рисунок показывает диалоговое окно Параметров блоков для блока Gain с выбранной вкладкой Signal Attributes и заданным типом данных с фиксированной точкой.

Если масштабирование Slope and bias а не Binary pointПомощник по типам данных отображает поле «Наклон» и поле «Смещение», а не поле «Длина дроби»:

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

Signedness

Укажите, нужно ли, чтобы данные с фиксированной точкой 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 показать те же значения, которые отображаются в соответствующих полях Output minimum и Output maximum над помощником по типам данных. Имена этих полей могут отличаться от показанных. Для примера параметров блоков с фиксированной точкой покажет Минимум параметра и Максимум параметра, и соответствующие строки подробностей с фиксированной точкой будут помечены соответственно. Для получения дополнительной информации смотрите Specify Signal Ranges и Specify Minimum and Maximum Values for Параметры Блоков.

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

Значения, отображаемые подпанелью Детали фиксированной точки (Fixed-point details), не обновляются автоматически, если нажать Вычислить (Calculate Best-Precision) Масштабирование (Scaling) или изменить пределы области значений, которые определяют тип данных с фиксированной точкой или что-либо еще в модели. Чтобы обновить значения, показанные на подпанели Сведения о фиксированной точке, нажмите кнопку Обновить сведения. Затем помощник по типам данных обновляет или пересчитывает все значения и отображает результаты.

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

Если при нажатии кнопки Обновить сведения (Refresh Details) возникают какие-либо ошибки, на подпанели Сведения о фиксированной точке (Fixed-point details) отображается флаг ошибки слева от соответствующей строки и описание ошибки справа. Для примера следующий рисунок показывает две ошибки:

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

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

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

Другие значения, относящиеся к конкретному блоку, также могут появиться в подпанели Сведения о фиксированной точке. Для примера на вкладке «Атрибуты сигнала» блока Интегратора дискретного времени, подпанель может выглядеть следующим образом:

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

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

Блокируйте настройку типа выходных данных от изменений с помощью инструментов с фиксированной точкой

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

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

Можно задать тип перечисленных данных, выбрав Enum: <class name> Опция и задайте перечисленный объект.

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

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

Задайте тип данных объекта шины

Блоки, перечисленные в разделе «Типы данных для сигналов шины», поддерживают указание объекта шины в качестве типа данных. Для этих блоков в параметре Data type выберите Bus: <object name> Опция и задайте объект шины. Вы не можете использовать Expression опция для задания объекта шины в качестве типа данных для блока.

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

Можно задать объект шины в качестве типа данных для таких объектов данных, как Simulink.Signal, Simulink.Parameter, и Simulink.BusElement. В Model Explorer, в диалоговом окне Свойства для объекта данных, в параметре Data type, выберите Bus: <object name> Опция и задайте объект шины. Можно также использовать Expression опция для задания объекта шины.

Дополнительные сведения об указании типа данных объекта шины см. в разделе «Задание свойств шины с Simulink типами данных объекта .Bus».

См. также

|

Похожие темы