Чтобы обнаружить скрытые ошибки конструкции в модели на ранней стадии процесса проверки, используйте анализ обнаружения ошибок конструкции. В этом учебном пособии показано, как выполнить анализ обнаружения ошибок конструкции, просмотреть результаты анализа и исправить выявленные ошибки конструкции.
Рассмотрим контроллер с тремя входами датчика: SensorA, SensorB, и SensorC. Алгоритм контроллера работает в соответствии с уравнением:

Алгоритм моделируется следующим образом:

Для выполнения анализа обнаружения ошибок конструкции:
Откройте модель sldvexControleyIntegerOverflow.
На вкладке Design Verifier в разделе Mode выберите Design Error Detection.
Щелкните Параметры обнаружения ошибок. В диалоговом окне «Параметры конфигурации» на панели Design Verifier > Design Error Detection выберите проверки, которые необходимо выполнить.

Чтобы выполнить анализ обнаружения ошибок конструкции, на вкладке «Проверка конструкции» выберите «Обнаружение ошибок конструкции». Программа анализирует модель на наличие конструктивных ошибок и отображает результаты в окне Сводка результатов (Results Summary). Результаты показывают, что три из шести целей были сфальсифицированы.

Результаты анализа можно просмотреть, выделив их в модели и просмотрев отчет об анализе.
На вкладке Проверка конструкции (Design Verifier) в разделе Результаты проверки (Review Results) щелкните Выделить в модели (Highlight in Model).
Элементы модели, выделенные красным цветом, являются целями, которые привели к ошибкам. Можно реплицировать ошибку, смоделировав тестовый случай.
Выберите блок «Сумма». В окне Инспектор результатов (Results Inspector) отображаются целочисленные цели переполнения блока Сумма (Sum).

Чтобы отладить ошибку переполнения целых чисел, щелкните Просмотр тестового случая. Модель электрического жгута и блок Построитель сигналов (Signal Builder) открываются.

Когда входное значение SensorA является 96 и SensorB является 160, выходной сигнал блока Sum переполняется. Тип данных накопителя блока Sum имеет неверное целое значение, равное uint8, это приводит к ошибкам переполнения и делению на ноль ошибок в нисходящем блоке Divide.
Чтобы просмотреть HTML-отчет, в окне «Просмотр результатов» щелкните HTML-отчет. В разделе «Цели обнаружения ошибок конструкции» перечислены цели каждого элемента модели и их описание.

В учебной модели анализ обнаружения ошибок конструкции обнаружил переполнение целого числа и деление на ноль ошибок в модели. Ошибки были вызваны несоответствием в целочисленном типе данных.
Чтобы исправить ошибки, измените тип данных Accumulator на uint16 для обработки диапазона возможных значений сигнала. Выберите блок Sum и установите тип данных Accumulator равным uint16. При повторном запуске анализа обнаружения ошибок конструкции в окне Сводка результатов (Results Summary) сообщается, что 6/6 цели действительны. При моделировании тестового случая для суммы обратите внимание, что тестовый случай устраняет ошибку.
Панель «Верификатор проекта»: обнаружение ошибок конструкции | Главы о состоянии целей