Инструмент «Фиксированная точка» создает предложение по типу данных для объектов данных на основе диапазонов, собранных с помощью моделирования, анализа производных диапазонов и проектных диапазонов, заданных для объектов модели. Инструмент «Фиксированная точка» также учитывает любые ограничения типа данных, налагаемые объектами модели.
Эти типы объектов данных поддерживаются для преобразования с помощью инструмента Fixed-Point Tool.
В следующих разделах описывается, как инструмент собирает диапазоны и анализирует ограничения.
Объекты модели, использующие один и тот же объект данных для указания его типа, должны иметь один и тот же тип данных. Инструмент «Фиксированная точка» собирает диапазоны для всех объектов модели. Объекты, которые должны совместно использовать один и тот же тип данных, помещаются в группу типов данных. Инструмент «Фиксированная точка» создает предложение по типу данных для группы на основе объединения диапазонов всех объектов модели в группе.
По возможности рекомендуется указывать информацию о диапазоне проектирования для объекта параметра. Если для типа данных объекта параметра установлено значение auto, инструмент Fixed-Point Tool следует тем же правилам, что и при предложении унаследованных типов данных. Инструмент «Фиксированная точка» определяет диапазоны, используемые для предложения типа данных для объекта-параметра, путем объединения значений параметров, диапазонов проектирования параметров и диапазонов проектирования клиентских блоков.
Некоторые объекты в группе общих типов данных могут содержать ограничения на типы данных, которые они могут принять. Например, некоторые блоки могут принимать только подписанные типы данных.
Инструмент Fixed-Point не может определить, когда объект параметра должен быть только целым, например, при использовании объекта параметра в качестве переменной для размеров, элемента управления исполнениями или логического значения. В этих случаях перед применением типов данных к модели необходимо снять флажок Принять (Accept) на этапе предложения инструмента с фиксированной точкой.
Данные точек останова всегда должны быть строго монотонно увеличены. Хотя набор данных точек останова может быть строго монотонным в двойном формате, из-за насыщения и квантования его может не быть после преобразования в тип данных с фиксированной точкой. Инструмент Fixed-Point учитывает это поведение и предлагает тип данных, достаточно большой для удовлетворения ограничения монотонности после преобразования. В некоторых случаях тип данных является очень большим для выполнения ограничения. В этом случае рассмотрите возможность редактирования данных точки останова таким образом, чтобы они могли быть эффективно представлены в фиксированной точке.
В следующей модели используется несколько различных типов объектов данных, включая Simulink.Bus, Simulink.NumericType, Simulink.LookupTable, и Simulink.Breakpoint объекты для определения типа данных. Инструмент «Фиксированная точка» используется для преобразования модели с плавающей запятой, включая объекты данных, используемые в модели, в фиксированную точку.
Откройте окно ex_data_objects модель. В командной строке MATLAB ® введите:
addpath(fullfile(docroot,'toolbox','fixpoint','examples')); ex_data_objects

На вкладке Приложения Simulink ® выберите Инструмент фиксированных точек.
В инструменте «Фиксированная точка» в разделе «Новый рабочий процесс» выберите Iterative Fixed-Point Conversion.
В инструменте «Фиксированная точка» в разделе «Система под проектированием» (SUD) выберите Target Embedded System как система, которую требуется преобразовать.
В разделе Режим сбора диапазонов (Range Collection Mode) выберите Диапазоны моделирования (Simulation rang
Нажмите кнопку «Подготовить». Инструмент Fixed-Point проверяет проектируемую систему на совместимость с процессом преобразования и сообщает о любых проблемах, обнаруженных в модели.
Когда объекты модели в проектируемой системе совместно используют тип данных с объектами вне проектируемой системы, после преобразования в фиксированную точку могут возникнуть проблемы распространения типа данных. По этой причине на этапе подготовки преобразования инструмент Fixed-Point Tool вставляет блоки преобразования типа данных на выходы проектируемой системы.
В этом примере инструмент не может автоматически вставлять блок преобразования типа данных в ex_data_objects/Throttle порт, поскольку порт использует сигнал шины. В этом случае это предупреждение можно проигнорировать, поскольку в подсистеме дросселя уже имеются блоки преобразования типов данных, изолирующие этот порт.
Разверните стрелку кнопки Собрать диапазоны и выберите Double Precision. Нажмите кнопку Собрать диапазоны (Collect Ranges
), чтобы начать моделирование. Инструмент Fixed-Point хранит собранную информацию о диапазоне в прогоне под названием BaselineRun.
В разделе Преобразовать нажмите кнопку Предложить типы данных.![]()
Инструмент «Фиксированная точка» обнаруживает объекты данных в модели и предлагает тип данных, удовлетворяющий ограничениям объекта данных. Все объекты данных, используемые в модели, можно просмотреть, выбрав пункт Объекты данных (Data Objects) на панели Иерархия модели (Model Hierarchy).
Для получения дополнительных сведений об определенном результате выберите объект данных в электронной таблице Результаты (Results). На панели Сведения о результате (Result Details) содержатся дополнительные сведения о предложении и ссылка для выделения всех блоков в модели с использованием определенного объекта данных.

Инструмент показывает предложенные типы данных для всех результатов в колонке ProposedDT электронной таблицы Результатов.
Чтобы просмотреть группу типов данных, к которой принадлежит результат, добавьте столбец DTGroup в электронную таблицу. Нажмите кнопку добавления столбца.
Выберите DTGroup в меню.

Для сортировки по столбцу DTGroup щелкните заголовок столбца. Теперь можно увидеть результаты, которые должны совместно использовать один и тот же тип данных.
Нажмите кнопку Применить типы данных (Apply Data Types
), чтобы записать предлагаемые типы данных в модель.
Инструмент «Фиксированная точка» применяет предложения по типу данных к объектам данных в их определении. В этом примере объекты данных определяются в базовой рабочей области. Просмотрите сведения об определенном объекте данных, введя имя объекта данных в командной строке MATLAB.
errorDT
NumericType with properties:
DataTypeMode: 'Fixed-point: binary point scaling'
Signedness: 'Signed'
WordLength: 16
FractionLength: 11
IsAlias: 1
DataScope: 'Auto'
HeaderFile: ''
Description: ''