Обнаружение мертвой логики помогает вам идентифицировать:
Образцовые ошибки проектирования.
Посторонние элементы модели.
Элементы модели, которые должны быть выполнены, но не являются.
В этом примере вы анализируете топливную модель контроллера скорости, чтобы определить, содержит ли модель мертвую логику. Обнаружение мертвой логики находит неправильное значение переменных, которое заставляет условие перехода в графике Stateflow® оставаться неактивным.
Откройте модель путем ввода
sldvdemo_fuelsys_logic_simple
Гарантируйте, что текущая папка перезаписываема.
Сконфигурируйте обнаружение мертвой логики. Откройте образцовые параметры конфигурации и выберите опции Design Verifier.
Выберите опции Design Error Detection.
Выберите Dead logic. Очистите Identify active logic. Нажмите OK.
В меню Simulink выберите Analysis> Design Verifier> Detect Design Errors> Model.
Диалоговое окно результатов показывает, что существуют 2/109 цели, которые являются мертвой логикой.
Создайте аналитический отчет. От инспектора результатов окно нажмите HTML.
Прокрутите к разделу Dead Logic под Design Error Detection Objectives Status. Таблица приводит два экземпляра мертвой логики.
В столбце Description один из экземпляров мертвой логики является условием false
press < zero_thresh
. Результат мертвой логики показывает, что в симуляции, условие false
не выполнялось. Эта логика является частью перехода Sens_Failure_Counter.INC
.
Щелкните по ссылке Model Item. Simulink подсвечивает переход в графике.
Логический оператор, управляющий переходом,
speed==0 & press < zero_thresh
Возвратитесь к отчету. Прокрутите к разделу Constraints.
Значение входа control logic/Input Data "press"
ограничивается от 0 до 2. Щелкните по ссылке, чтобы открыть вход в Model Explorer.
Выберите Model Workspace в Model Explorer. В таблице содержимого выберите zero_thresh
. Значение zero_thresh
250.
Учитывая ограниченное значение press
, это всегда - меньше, чем zero_thresh
и поэтому, условие false
никогда не осуществляется.
Измените значение zero_thresh
к 0,250.
Повторно анализируйте модель. В меню Simulink выберите Analysis> Design Verifier> Detect Design Errors> Model.
В новых результатах цель является более не мертвой логикой.