Когда вы задаете входные ограничения области значений в Simulink® и Stateflow® элементы, Simulink Design Verifier™ рассматривают эти ограничения во время анализа.
Задайте входные области значений для Simulink.Signal
Объекты
Задайте входные области значений для объектов данных Stateflow
Задайте входные области значений для глобальных хранилищ данных
После того, как вы задаете минимальное и максимальное выходные значения в блоках 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 и на сигналах, анализ рассматривает наименьшую область значений для значений. Для примера, если вы задаете область значений 4..12
на вход порте и диапазоне 1..8
На сигнале от порта входа анализ рассматривает область значений 4..8
.
Используя 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'));
Элемент шины | Минимальный элемент шины | Максимальное значение элемента шины |
---|---|---|
vehicleSpeed | 0 | 125 |
дроссель | 0 | 100 |
engineSpeed | 0 | 7600 |
Подсистема имеет цели тестирования, которые подтверждают, что каждый элемент не превышает константу. The vehicleSpeed
сигнал ограничивается максимальным значением ниже цели тестирования.
Установите текущую папку в папку с возможностью записи. В режиме верхнего уровня щелкните правой кнопкой мыши Подсистему и выберите Design Verifier > Generate Tests for Subsystem. Цель условия для проверки vehicleSpeed > 135
не удовлетворяется из-за максимальной спецификации на vehicleSpeed
элемент.