Обнаружение мертвой логики

Прежде чем вы симулируете модель, используйте обнаружение мертвой логики, чтобы анализировать модель для мертвой логики. В Simulink® Design Verifier™, поиск ошибок проектирования для мертвой логики состоит из двух опций анализа:

  • (Частичная) мертвая логика: Если вы выбираете эту опцию, Simulink Design Verifier анализирует вашу модель, не делая приближений, таких как рациональное приближение для плавающих точек или приближение цикла с условием продолжения. Для получения дополнительной информации смотрите Приближения. При использовании этой опции Simulink Design Verifier не сообщает об активных логических или нерешенных целях, и это не может идентифицировать некоторую мертвую логику в вашей модели.

    Эта опция доступна в:

  • Запустите исчерпывающий анализ: При использовании этой опции Simulink Design Verifier сообщает об активной логике в дополнение к мертвой логике, а также нерешенным целям. Эта опция может в некоторых случаях идентифицировать или найти дополнительную мертвую логику. Анализ может использовать приближения и сообщается соответственно.

    Эта опция доступна в диалоговом окне Configuration Parameters на Верификаторе Проекта> панель Поиска ошибок проектирования.

Осуществите частичную проверку для мертвой логики

Если вы не используете Model Advisor, чтобы обнаружить мертвую логику:

  1. На вкладке Design Verifier, в разделе Mode, выбирают Design Error Detection.

  2. Нажмите Error Detection Settings.

  3. В диалоговом окне Configuration Parameters, на Верификаторе Проекта> панель Поиска ошибок проектирования:

    1. Включите Мертвой логике (частичную) опцию.

    2. Очистите Запуск исчерпывающая опция анализа, если это выбрано.

  4. Чтобы применить эти настройки, нажмите OK и закройте диалоговое окно Configuration Parameters.

  5. Нажмите Detect Design Errors.

Запустите исчерпывающий анализ для мертвой логики

  1. На вкладке Design Verifier, в разделе Mode, выбирают Design Error Detection.

  2. Нажмите Error Detection Settings.

  3. В диалоговом окне Configuration Parameters, на Верификаторе Проекта> панель Поиска ошибок проектирования, включают (частичную) Мертвую логику и Запуск исчерпывающие опции анализа.

  4. Чтобы применить эти настройки, нажмите OK и закройте диалоговое окно Configuration Parameters.

  5. Нажмите Detect Design Errors.

Запустите анализ мертвой логики и рассмотрите результаты

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

  1. Откройте sldvSlicerdemo_dead_logic модель.

    open_system('sldvSlicerdemo_dead_logic');
  2. На вкладке Design Verifier, в разделе Mode, выбирают Design Error Detection.

  3. Нажмите Error Detection Settings.

  4. В диалоговом окне Configuration Parameters, на Верификаторе Проекта> панель Поиска ошибок проектирования, включают Мертвой логике (частичную) опцию и ясный Запуск исчерпывающая опция анализа.

  5. Нажмите Detect Design Errors.

    Программное обеспечение анализирует модель для мертвой логики и отображает результаты в окне Results Summary. Результат показывает что семь из 24 цели, как находили, были мертвой логикой.

  6. Нажмите Highlight analysis results on model. Элементы модели мертвой логики подсвечены в красном.

  7. Откройте Controller subsystem и нажатие кнопки блок OR, подсвеченный в красном. Инспектор Результата отображает сводные данные мертвой логики.

    set вход равен 1, так input port 1 из блока OR can only be true. Состояние подразумевает что input port 1 ложным условием является мертвая логика. Точно так же input port 2 unreachable, когда цель никогда не выполняется и является мертвой логикой.

  8. Чтобы просмотреть отчет детального анализа, в окне Results Summary, нажимают HTML.

    Отчет отображает сводные данные всех результатов, которые являются мертвой логикой в модели.

    Мертвая логика

    Программное обеспечение хранит результаты детального анализа в DeadLogic field в Файлах данных Simulink Design Verifier. Можно использовать файл данных для последующего анализа результатов.

Предложение:

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

a. Создайте объект SLSlicerAPI.ParameterDependence, использующего Нож Модели.

slicerObj = slslicer('sldvSlicerdemo_dead_logic');
pd = slicerObj.parameterDependence;

b. Найдите параметры, влияющие на блок Discrete-Time Integrator.

param = parametersAffectingBlock(pd, 'sldvSlicerdemo_dead_logic/Controller/PI Controller/Discrete-Time Integrator');

Изображение выше отображает параметры, возвращенные функцией parametersAffectingBlock, которые оказывают влияние на блок Discrete-Time Integrator. Параметры, возвращенные функцией, могут быть рассмотрены для настройки.

c. Выполните очистку, чтобы выйти из состояния компиляции модели.

slicerObj.terminate;

Похожие темы