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

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

Можно выборочно показать или скрыть 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

    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 является Fixed point, Ассистент Типа данных поля отображений для того, чтобы указать информацию о вашем типе данных с фиксированной точкой. Для детального обсуждения о данных фиксированной точки смотрите Основы Фиксированной точки в MATLAB (Fixed-Point Designer). Например, следующие данные показывают диалоговое окно 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 and Slope and bias масштабирование, на основе заданных минимальных и для максимальных значений. Simulink отображает масштабирующиеся значения в поле Fraction Length или полях Slope и Bias. Для получения дополнительной информации смотрите Постоянное Масштабирование для Лучшей Точности (Fixed-Point Designer).

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

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

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

Строки маркировали Representable minimum, Representable maximum, и Precision всегда появляется. Эти строки показывают минимальное значение, максимальное значение и точность, которая может быть представлена типом данных с фиксированной точкой, в настоящее время отображенным в Ассистенте Типа данных. Для получения информации об этих трех количествах смотрите Основы Фиксированной точки в MATLAB (Fixed-Point Designer).

Значения, отображенные подпанелью деталей Фиксированной точки, автоматически не обновляют, если вы нажимаете 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).

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

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

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

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

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

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

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

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

Для получения дополнительной информации об определении типа данных Object шины смотрите, Когда Использовать Объекты Шины.

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

|

Похожие темы