exponenta event banner

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

При задании ограничений диапазона ввода для элементов 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'));

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

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

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