exponenta event banner

Отладка обнаружения ошибок конструкции при переполнении целых чисел с помощью среза модели

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

Предпосылки

В этом примере для демонстрации отладки нарушений при обнаружении ошибок конструкции используются следующие продукты:

  • Программа Simulink Design Verifier

  • Проверка симулятора (срезатель модели)

Пример

1. Открытая модель sldvdemo_design_error_detection.

open_system('sldvdemo_design_error_detection');

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

3. На вкладке «Проверка проекта» выберите «Обнаружение ошибок проекта». Simulink Design Verifier анализирует модель и отображает результаты в окне Сводка результатов (Results Summary).

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

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

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

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

  • Выбранный блок с сбойной целью добавляется в качестве начальной точки для среза модели.

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

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

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

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

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

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

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

Проверка

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

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

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

  • Деление на ноль

  • Переполнение целого числа

  • Значения Non-Finate и NaN (не число) с плавающей запятой

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

  • Нарушения доступа к хранилищу данных

  • Указанные нарушения диапазона ввода блоков