Ошибки распространения типа данных после применения предложенных типов данных

При определенные обстоятельства Fixed-Point Tool может предложить тип данных, который не совместим с моделью. В следующем разделе описываются строения модели, которые могут вызвать эту проблему, и способы решения проблемы.

Совет

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

Разделяемые данные

Просмотрите Разделяемые данные введите группы

Организация результатов Fixed-Point Tool в группы, которые должны совместно использовать один и тот совпадающий тип данных, может помочь в процессе отладки.

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

Щелкните заголовок DTGroup столбца, чтобы отсортировать результаты по этому столбцу.

Заблокированный тип данных в общей группе

Когда объект заблокирован от изменений с помощью Fixed-Point Tool, Инструмент с фиксированной точкой не предлагает новый тип данных для объекта. Если один из результатов в группе результатов, которая должна иметь тот совпадающий тип данных, заблокирован, Fixed-Point Tool предлагает типы данных для всех других объектов в группе, кроме заблокированного объекта. Если тип данных, предложенный для группы, не совместим с типом заблокированных данных, возникает ошибка распространения.

Чтобы избежать несовместимых предложений по типам данных, выполните одно из следующих действий.

  • Блокируйте все объекты в группе от изменений с помощью Fixed-Point Tool.

  • Разблокируйте объект в группе с заблокированным типом данных.

В ProposedDT столбце Fixed-Point Tool отображаются locked для всех результатов, которые заблокированы в отношении изменений с помощью Fixed-Point Tool.

Часть группы типов Разделяемых данных находится вне Возможностей

Когда результаты, находящиеся в группе типов разделяемых данных, совместно используют тип данных вне возможностей системы, находящейся под проект, Fixed-Point Tool не может предложить тип данных.

Чтобы получить предложение по типу данных, выполните одно из следующих действий.

  • Убедитесь, что объекты в проектируемой системе не совместно используют свой тип выходных данных с объектом вне выбранной системы. Один из способов убедиться, что объекты внутри проектируемой системы не делятся своим типом данных с объектами вне системы, - это вставка блоков Data Type Conversion на контуры системы.

  • Убедитесь, что все объекты, которые должны совместно использовать тип данных, находятся в возможностях проекта системы.

Модель-ссылка Блоков

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

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

  • Не используйте один и тот же объект сигнала через модель-ссылку контуров.

  • Вставьте Data Type Conversion блоки в контуры модели-ссылки.

Ограничения, накладываемые на блоки

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

  • Некоторые блоки в библиотеках Communications Toolbox™, DSP System Toolbox™ и Computer Vision Toolbox™ имеют ограничения по типу данных. Fixed-Point Tool не знает об этом требовании и не использует его для автоматического ввода данных. Поэтому инструмент может предложить тип данных, который не соответствует требованиям к блокам. В этом случае вручную отредактируйте предложенный тип данных так, чтобы он соответствовал ограничениям блоков.

    Для получения дополнительной информации об этих ограничениях посетите отдельные страницы с описанием блоков.

Правила внутренних блоков

Суммарные блоки

Sum блоки имеют как выход данных, так и тип данных аккумулятора. При определенные обстоятельства, когда тип данных аккумулятора установлен в Inherit: Inherit via internal ruleможет возникнуть ошибка распространения типа данных.

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

  • Измените тип данных аккумулятора на что-то отличное от Inherit: Inherit via internal rule и повторно используйте типы данных для вашей модели, чтобы получить совместимые предложения по типам данных.

  • Блокируйте блок от изменений с помощью инструментов с фиксированной точкой.

Похожие темы