Этот пример показов, как использовать 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
Указанные нарушения входной области значений блоков