Отладка целочисленного переполнения при поиске ошибок проектирования с помощью Slicer модели

Этот пример показов, как использовать Model Slicer для отладки целочисленного переполнения ошибок проектирования в модели Simulink.

Необходимые условия

Этот пример использует следующие продукты, чтобы продемонстрировать отладку нарушений Поиска ошибок проектирования:

  • Simulink Design Verifier

  • Simulink Check (Slicer модели)

Пример

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

open_system('sldvdemo_design_error_detection');

2. Откройте Simulink Design Verifier, нажав на приложения > Design Verifier.

3. На вкладке Design Verifier нажмите Detect Design Errors. Simulink Design Verifier анализирует модель и отображает результаты в окне Сводных данных результатов.

Модель подсвечивает подсистему, в которой находятся неудачные цели.

4. Откройте Controller и выберите один из блоков, выделенных красным цветом.

5. В окне Результаты щелкните Отладка (Debug), чтобы отлажить нарушение с помощью Model Slicer. Кроме того, на вкладке Design Verifier щелкните Review Results > Debug using Slicer, чтобы отлажить нарушение с помощью Model Slicer.

При нажатии любой из точек входа для отладки на модели выполняется следующая настройка:

  • Выбранный блок с неудачной целью добавляется как начальная точка для Model Slicer.

  • Модель подсвечивается срезом, ответственным за сбой цели.

  • Во время нарушения модели проекта моделируется и пауза.

6. Отлаживайте и анализируйте модель путем проверки меток портов.

Совет: Щелкните на линии выходного сигнала блока Sum, чтобы включить метку значения порта для блока.

Можно заметить, что сумма входных переменных должна привести к ненулевому числу.

7. Исследуйте типы входных и выходных данных суммарного блока.

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

Верификация

Чтобы подтвердить, что целочисленное переполнение ошибка была устраняемо, на вкладке Проекта Verifier нажатия кнопки Detect Ошибок проектирования. После завершения анализа программное обеспечение сообщает, что все цели действительны.

Дополнительные возможности

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

  • Деление на нули

  • Целочисленное переполнение

  • Нефинатные и NaN (не число) значения с плавающей точкой

  • Указанные нарушения минимального и максимального значений

  • Нарушения доступа к Datastore

  • Указанные нарушения входной области значений блоков