При задании ограничений диапазона ввода для элементов Simulink ® и Stateflow ® Verifier™ Simulink Design учитывает эти ограничения при анализе.
Задание входных диапазонов для объектов данных потока состояний
Определение входных диапазонов для глобальных хранилищ данных
После задания минимального и максимального значений вывода в блоках ввода в анализе 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 ОбъектыС помощью Проводника моделей в рабочем пространстве модели можно задать минимальное и максимальное значения для Simulink.Signal объекты, связанные с входными сигналами.
В следующем примере модели используется Simulink.Signal объекты, связанные с входными сигналами a и b для ограничения значений сигнала:
Сигнал aМинимум: 1, максимум: 5
Сигнал b: Минимум: -1, максимум: 1

При анализе этой модели результаты будут такими же, как при задании минимального и максимального значений на входных портах.
При указании диапазонов в блоках Inport и в сигналах анализ учитывает наименьший диапазон значений. Например, если указан диапазон 4..12 на входном порту и диапазоне 1..8 по сигналу от входного порта анализ учитывает диапазон 4..8.
С помощью обозревателя моделей можно задать диапазоны для объектов данных, которые непосредственно подключены к портам ввода корневого уровня для диаграммы 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 состояние.
При анализе этой модели следующие цели оказались неудовлетворительными:
high состояние никогда не вводится.
Условие перехода [x > 15] всегда false, никогда true.
Условие [x < 15] никогда не тестируется, поэтому никогда true или false.
В отчете об анализе указаны значения, используемые в качестве ограничений для x: [0, 10].
Программа Simulink Design Verifier рассматривает указанные входные минимальные и максимальные значения как ограничения только на верхнем уровне модели. Можно указать минимальное и максимальное значения на входных портах подсистем, но при анализе модели верхнего уровня программа игнорирует эти значения.
При выполнении анализа подсистемы программное обеспечение учитывает указанные минимальные и максимальные значения на входных портах подсистемы.
Например, рассмотрим следующую модель и ее подсистему.

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

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

Анализ выявляет две неудовлетворительные цели:
input > нижний предел F: вход всегда больше нижнего предела блока насыщения (-15).
input > = верхний предел T: Вход никогда не будет больше или равен верхнему пределу блока насыщения (15).
При анализе модели, содержащей подсистему, анализ не учитывает значения, указанные на входном порте SSIn в подсистеме. Анализ учитывает только входные порты корневого уровня на соответствующем уровне иерархии для анализа.
Хранилище данных - это хранилище, в которое можно записывать данные и из которого можно считывать данные без необходимости подключения входного или выходного сигнала непосредственно к хранилищу данных. Хранилище данных создается с помощью блока памяти хранилища данных или Simulink.Signal объект. Можно указать минимальное и максимальное значения для любого хранилища данных.
Во время анализа подсистемы Simulink Design Verifier создает входной порт для имитации контекста выполнения для глобального хранилища данных. Дополнительные сведения см. в разделе Извлечение подсистем для анализа. Если в хранилище данных указаны минимальное и максимальное значения, эти значения назначаются как минимальное и максимальное значения на новом входном порте. Анализ Simulink Design Verifier рассматривает входные минимальные и максимальные значения как ограничения анализа на уровне подсистемы.
В следующем примере модели хранилище данных A имеет минимальное значение 0 и максимальное значение 10.

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

Если в модели верхнего уровня щелкнуть правой кнопкой мыши «Подсистема» и выбрать «Design Verifier» > «Generate Tests for Subsystem», анализ учитывает ограничения для хранения данных. A должно быть [0, 10].
Анализ не удовлетворяет цели, указанной в блоке Test Objective. Входной сигнал всегда больше или равен 0, поэтому выходной сигнал блока Сравнить с нулем всегда равен 0.
При определении шины можно задать минимальные и максимальные значения для элементов шины. Simulink Design Verifier учитывает эти минимальные и максимальные значения при анализе подсистем и моделей, использующих шину в качестве входного сигнала.
Рассмотрим подсистему, которая вводит шину из трех полей, каждое с определенным минимумом и максимумом. Для просмотра этой подсистемы в командной строке введите:
open_system(fullfile(docroot,'toolbox','sldv','examples',... 'sldvBusMinMaxExample'));

| Элемент шины | Минимальный элемент шины | Максимальное значение элемента шины |
|---|---|---|
| vehicleSpeed | 0 | 125 |
| дроссель | 0 | 100 |
| engineSpeed | 0 | 7600 |
Подсистема имеет цели тестирования, которые подтверждают, что каждый элемент не превышает константу. vehicleSpeed сигнал ограничен максимальным значением, меньшим целевого значения теста.

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