Задайте входные области значений для элементов Simulink и Stateflow

Когда вы задаете входные ограничения области значений в Simulink® и Stateflow® элементы, Simulink Design Verifier™ рассматривают эти ограничения во время анализа.

Задайте входные области значений для блоков Inport

После того, как вы задаете минимальное и максимальное выходные значения в блоках Inport, анализ Simulink Design Verifier использует минимальное и максимальное значения в качестве ограничений.

Следующая модель примера ограничивает сигналы от двух блоков Inport:

  • Input1 блок: Минимум: 1, Максимум: 5

  • Input2 блок: Минимум: -1, Максимум: 1

Когда вы используете Simulink Design Verifier, чтобы проанализировать эту модель, анализ приводит к следующим результатам:

  • Выход от Input1 никогда не меньше 0, поэтому первый вход в блок Логического оператора никогда не false. Цель, которую первый вход для Логического оператора равен false неудовлетворительно.

  • Блок Логического Оператора не может достичь покрытия 100% измененного условия/покрытия принятия решения (MCDC), потому что условие, где первый вход false никогда не встречается.

В детальный анализ отчете показаны значения, которые вы используете в качестве ограничений для Input1 и Input2.

Примечание

Simulink Design Verifier рассматривает полную область значений возможных значений (и любых минимальных и максимальных ограничений) только для входных портов корневого уровня.

Задайте входные области значений для Simulink.Signal Объекты

Используя Model Explorer, в рабочем пространстве модели можно задать минимальное и максимальное значения на Simulink.Signal объекты, сопоставленные с входными сигналами.

В следующей модели примера используется Simulink.Signal объекты, сопоставленные с входными сигналами a и b для ограничения значений сигналов:

  • Сигнальное a: Минимум: 1, Максимум: 5

  • Сигнальное b: Минимум: -1, Максимум: 1

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

Определение диапазонов сигнала в блоках Inport и сигналах

Если вы задаете области значений на блоках Inport и на сигналах, анализ рассматривает наименьшую область значений для значений. Для примера, если вы задаете область значений 4..12 на вход порте и диапазоне 1..8 На сигнале от порта входа анализ рассматривает область значений 4..8.

Задайте входные области значений для объектов данных Stateflow

Используя Model Explorer, можно задать области значений для объектов данных, которые непосредственно соединяются с входными портами корневого уровня для диаграммы Stateflow.

В следующей модели примера диаграмма Stateflow с именем Chart имеет объект данных, x, чья область значений вы задаете как 0 < x < 10. На этом графике x должно быть больше 15, чтобы запустить переход от low на high.

Значение x находится в диапазоне от 0 до 10, поэтому условие перехода [x > 15] никогда не true. Переход от low на high никогда не встречается. Потому что high состояние никогда не вводится, условие перехода [x < 15] никогда не тестируется, и переход от high на low никогда не встречается. График всегда в low состояние.

Когда вы анализируете эту модель, эти цели оказываются неудовлетворительными:

  • The high состояние никогда не вводится.

  • Условие перехода [x > 15] всегда false, никогда true.

  • Условие [x < 15] никогда не тестируется, поэтому никогда не true или false.

Отчет об анализе указывает значения, которые вы используете в качестве ограничений для x: [0, 10].

Задайте входные области значений для подсистем

Программное обеспечение Simulink Design Verifier рассматривает указанные минимальное и максимальное входные значения как ограничения только на верхнем уровне модели. Можно задать минимальное и максимальное значения на входных портах в подсистемах, но при анализе модели верхнего уровня программное обеспечение игнорирует эти значения.

При выполнении анализа подсистемы программное обеспечение учитывает указанные минимальное и максимальное значения на входных портах подсистемы.

Например, рассмотрим следующую модель и ее подсистему.

В Подсистеме заданные минимальное и максимальное значения для входного порта SSIn составляют -10 и 10, соответственно. Нижний и верхний пределы для блока Насыщения равны -15 и 15, соответственно.

Если щелкнуть правой кнопкой мыши Подсистему в модели верхнего уровня и выбрать Design Verifier > Generate Tests for Subsystem, анализ рассматривает указанные минимальное и максимальное значения как ограничения для порта SSIn.

Ограничения: Проектирование Минимальные Максимальные Ограничения

Анализ выявляет две неудовлетворительные цели:

  • input > нижний предел F: Вход всегда больше нижнего предела на блоке Saturation (-15).

  • input > = верхний предел T: Вход никогда не больше или равен верхнему пределу на блоке Saturation (15).

Если вы анализируете модель, которая содержит Subsystem, анализ не рассматривает значения, заданные на вход порте SSIn в подсистеме. Анализ рассматривает только входные порты корневого уровня на соответствующем уровне иерархии для анализа.

Задайте входные области значений для глобальных хранилищ данных

data store является репозиторием, в который можно записать данные и из которого можно считать данные, не подключая вход или выходной сигнал непосредственно к хранилищу данных. Вы создаете хранилище данных с помощью блока Data Store Memory или Simulink.Signal объект. Можно задать минимальное и максимальное значения для любого хранилища данных.

Во время анализа подсистемы Simulink Design Verifier создает порт входа, чтобы имитировать контекст выполнения для хранилища глобальных данных. Для получения дополнительной информации см. раздел Извлечение подсистем для анализа. Если хранилище данных имеет заданные минимальное и максимальное значения, эти значения назначаются как минимальные и максимальные значения на новом входном порту. Анализ Simulink Design Verifier рассматривает входные минимальные и максимальные значения как ограничения анализа уровня подсистемы.

В следующей модели примера данные хранятся A имеет минимальное значение 0 и максимальное значение 10.

Атомарная подсистема считывает значения из хранилища данных и проверяет, меньше ли вход 0. Блок Compare To Zero выводит 1, если вход меньше 0, и выводит 0, если вход больше или равен 0. Блок Test Objective проверяет, является ли выход когда-либо равным 1.

В модели верхнего уровня, если щелкнуть правой кнопкой мыши Подсистему и выбрать Design Verifier > Generate Tests for Subsystem, анализ рассматривает ограничения для хранилища данных A [0, 10].

Анализ не удовлетворяет цели, указанной в блоке Test Objective. Вход всегда больше или равен 0, поэтому выход из блока Compare To Zero всегда равен 0.

Задайте входные области значений для элементов шины

Когда вы задаете шину, можно задать минимальное и максимальное значения для элементов в шине. Simulink Design Verifier рассматривает эти минимальные и максимальные значения при анализе подсистем и моделей, которые используют шину в качестве входного сигнала.

Рассмотрим подсистему, которая вводит шину из трех полей, каждый с определенными минимумом и максимумом. Чтобы просмотреть эту подсистему, в командной строке введите:

open_system(fullfile(docroot,'toolbox','sldv','examples',...
'sldvBusMinMaxExample'));

Элемент шиныМинимальный элемент шиныМаксимальное значение элемента шины
vehicleSpeed0125
дроссель0100
engineSpeed07600

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

Установите текущую папку в папку с возможностью записи. В режиме верхнего уровня щелкните правой кнопкой мыши Подсистему и выберите Design Verifier > Generate Tests for Subsystem. Цель условия для проверки vehicleSpeed > 135 не удовлетворяется из-за максимальной спецификации на vehicleSpeed элемент.