Задайте входные диапазоны на элементах Stateflow и Simulink

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

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

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

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

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

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

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

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

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

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

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

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

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

  • a сигнала: минимум: 1, максимум: 5

  • b сигнала: минимум:-1, максимум: 1

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

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

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

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

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

В следующей модели в качестве примера диаграмма Stateflow под названием График имеет объект данных, 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 считает заданным, вводит минимальные и максимальные значения как ограничения только в верхнем уровне модели. Можно задать минимальные и максимальные значения на Входных портах (Simulink) на подсистемах, но когда вы анализируете модель верхнего уровня, программное обеспечение игнорирует те значения.

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

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

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

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

Анализ идентифицирует две невыполнимых цели:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Соедините шиной элементСоедините шиной минимум элементаСоедините шиной максимум элемента
vehicleSpeed0125
дроссель0100
engineSpeed07600

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

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