Недоопределенные типы данных

Описание

Выберите диагностическое действие, которое будет выполнено, если Simulink® программное обеспечение не может вывести тип данных сигнала во время распространения типа данных.

Category: диагностика

Идентифицируйте и устраните недоопределенные типы данных

В этом примере показано, как использовать Underspecified data types параметра конфигурации для идентификации и разрешения недоопределенного типа данных.

  1. Откройте пример модели ex_underspecified_data_types.

  2. Установите параметр конфигурации Underspecified data types равным warning.

  3. Обновите схему.

    Сигналы в модели используют тип данных uint8, и модель генерирует предупреждение.

  4. Откройте Diagnostic Viewer. Предупреждение указывает, что выходной сигнал блока Constant имеет недостаточно заданный тип данных.

  5. Откройте диалоговое окно Constant блока.

    На вкладке Signal Attributes Output data type установлено значение Inherit: Inherit via back propagation. Блок Constant выхода наследует тип данных от блока назначения. В этом случае адресатом является блок Sum.

  6. Откройте диалоговое окно Sum блока.

    На вкладке Signal Attributes Accumulator data type установлено значение Inherit: Inherit via internal rule. Sum блоки приводят все свои входные сигналы к выбранному типу данных аккумулятора. В этом случае тип данных аккумулятора задается как унаследованный тип.

  7. Откройте диалоговое окно Inport блока. На вкладке Signal Attributes Data type установлено значение uint8.

Тип данных выходного сигнала блока Constant не задан, потому что каждый из блоков источника и назначения применяет унаследованный тип данных. Сигнал не может идентифицировать явный тип данных, которые нужно наследовать. В подобных случаях Simulink применяет эвристические правила для выбора типа данных для использования.

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

  • На вкладке Signal Attributes диалогового окна Constant блока задайте Output data type как конкретный числовой тип, например uint8.

  • На вкладке Signal Attributes диалогового окна Sum блока установите флажок Require all inputs to have the same data type.

    С помощью этой настройки блок Sum применяет тип данных первого входа uint8, к недоопределенному типу данных второго входа.

Настройки

По умолчанию: none

none

Программа Simulink не принимает никаких действий.

warning

Программа Simulink отображает предупреждение.

error

Программа Simulink завершает симуляцию и отображает сообщение об ошибке.

Информация о командной строке

Параметр: UnderSpecifiedDataTypeMsg
Значение: 'none' | 'warning' | 'error'
По умолчанию: 'none'

Рекомендуемые настройки

ПриложениеНастройка
ОтладкаНикакого влияния
ТрассируемостьНикакого влияния
ЭффективностьНикакого влияния
Меры безопасностиerror

Похожие темы