Data Type Assistant является интерактивным графическим инструментом, который упрощает задачу определения типов данных для блоков и объектов данных. Ассистент появляется на блоке и объектных диалоговых окнах, смежных с параметрами, которые обеспечивают управление типом данных, такое как параметр Output data type. Например, это появляется на панели Signal Attributes диалогового окна блока Константа, показанного здесь.
Можно выборочно показать или скрыть Data Type Assistant путем нажатия применимой кнопки:
Нажмите кнопку Show data type assistant, чтобы отобразить ассистент.
Нажмите кнопку Hide data type assistant, чтобы скрыть видимый ассистент.
Используйте Data Type Assistant, чтобы задать тип данных можно следующим образом:
В поле Mode выберите категорию типа данных, который вы хотите задать. В общем случае опции включают следующее:
Режим | Описание |
---|---|
| Наследование управляет для типов данных |
| Встроенные типы данных |
| Типы данных с фиксированной точкой |
| Перечислимые типы данных |
| Соедините шиной типы данных Object |
| Выражения, которые оценивают к типам данных |
Ассистент изменяется динамически, чтобы отобразить различные варианты, которые соответствуют выбранному режиму. Например, установка Mode к Expression
заставляет диалоговое окно блока Constant появляться следующим.
В поле, которое является справа от поля Mode, выберите или введите тип данных.
Например, предположите, что вы определяете переменную myDataType
как псевдоним для single
тип данных. Вы создаете экземпляр Simulink.AliasType
класс и набор его BaseType
свойство путем ввода следующих команд:
myDataType = Simulink.AliasType
myDataType.BaseType = 'single'
Можно использовать этот объект типа данных задать тип выходных данных блока Constant. Введите имя псевдонима типа данных, myDataType
, как значение выражения в ассистенте.
Нажмите кнопку OK или Apply, чтобы применить ваши изменения.
Ассистент использует тип данных, который вы задали, чтобы заполнить связанный параметр типа данных в блоке или возразить диалоговому окну. В следующем примере параметр Output data type блока Constant задает то же выражение, что вы ввели использование ассистента.
Для получения дополнительной информации о типах данных, что можно задать использование 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 (значение по умолчанию) |
Наследовал переопределение типа данных, сходящее с его контекста, то есть, от блока, |
Off |
Игнорирует установку переопределения типа данных его контекста и использует тип данных с фиксированной точкой, заданный для сигнала. |
Способность выключить переопределение типа данных для отдельного типа данных обеспечивает большее управление типами данных в вашей модели, когда вы применяете переопределение типа данных. Например, можно использовать эту опцию, чтобы гарантировать, что типы данных удовлетворяют требования нисходящих блоков независимо от установки переопределения типа данных.
Нажмите эту кнопку, чтобы вычислить значения лучшей точности для обоих Binary point
and 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 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, в диалоговом окне Properties для объекта данных, в параметре Data type, выбирают Bus: <object name>
опция и задает объект шины. Можно также использовать Expression
опция, чтобы задать объект шины.
Для получения дополнительной информации об определении типа данных Object шины смотрите Specify Bus Properties с Объектами Simulink.Bus.