Ограничьте значения сигналов в тестах
Simulink Design Verifier
При работе в режиме генерации тестов программное обеспечение Simulink® Design Verifier™ производит тесты, которые удовлетворяют заданные критерии (см. то, Что Генерация Теста?). В этом режиме можно использовать блоки Условия испытания, чтобы задать условия испытания для сигналов в модели. Параметр Values позволяет вам задать ограничения на значения сигналов во время симуляции теста. Блок применяет заданный параметр Values к своему входному сигналу, и программное обеспечение Simulink Design Verifier пытается произвести тесты, которые удовлетворяют условие.
Диалоговое окно параметра блока также позволяет вам
Включите или отключите условие.
Укажите, что блок должен отобразить свой параметр Values в Редакторе Simulink.
Укажите, что блок должен отобразить свой выходной порт.
Программное обеспечение Simulink и Simulink Coder™ игнорирует блок Test Condition во время симуляции модели и генерации кода, соответственно. Программное обеспечение Simulink Design Verifier использует блок Test Condition только при генерации тестов для модели.
Используйте параметр Values, чтобы ограничить значения сигналов в тестах. Задайте любую комбинацию скаляров и интервалов в форме массива ячеек MATLAB®. Для получения информации о массивах ячеек см. Массивы ячеек (MATLAB).
Если параметр Values задает только одно скалярное значение, вы не должны вводить его в форме массива ячеек MATLAB.
Скалярные значения каждый включает отдельную ячейку в массиве, например:
{0, 5}
Закрытый интервал включает двухэлементный вектор как ячейку в массиве, где каждый элемент задает конечную точку интервала:
{[1, 2]}
Также можно задать скалярные значения с помощью конструктора Sldv.Point
, который принимает одно значение как его аргумент. Можно задать интервалы с помощью конструктора Sldv.Interval
, который требует двух входных параметров, т.е. нижней границы и верхней границы для интервала. Опционально, можно обеспечить одно из следующих значений как третий входной параметр, который задает включение или исключение конечных точек интервала:
'()'
— Задает открытый интервал.
'[]'
— Задает закрытый интервал.
'(]'
— Задает лево-открытый интервал.
'[)'
— Задает правильно-открытый интервал.
По умолчанию Sldv.Interval
полагает, что интервал закрывается, если вы не используете его третий входной параметр.
Как пример, параметр Values
{0, [1, 3]}
задает:
0
— скаляр
[1, 3]
— закрытый интервал
Параметр Values
{Sldv.Interval(0, 1, '[)'), Sldv.Point(1)}
задает:
Sldv.Interval(0, 1, '[)')
— правильно-открытый интервал [0, 1)
Sldv.Point(1)
— скаляр
Если вы задаете несколько скаляров и интервалов для блока Test Condition, программное обеспечение Simulink Design Verifier комбинирует их использующий логическую операцию OR при генерации тестов. Следовательно, программное обеспечение полагает, что целое условие испытания удовлетворено, удовлетворены ли какой-либо один скаляр или интервал.
В одном скаляре или интервале, условие испытания сгенерировано с логической операцией И. В этом случае все сигналы должны удовлетворить ограничения для входа, чтобы удовлетворить условие.
Например, рассмотрите двумерный открытый интервал:
Sldv.Interval([-5 -5],[5 2],'()')
Нулевой векторный [0 0]
удовлетворяет условие, потому что нулевыми элементами является в интервалах -5
к 5
и -5
к 2
.
Векторный [0 3]
не удовлетворяет условие, потому что второй элемент 3 выходит за пределы интервала -5
к 2
.
Блок Test Condition принимает сигналы всех встроенных типов данных, поддержанных программным обеспечением Simulink. Для обсуждения типов данных, поддержанных программным обеспечением Simulink, смотрите Типы данных, Поддержанные Simulink (Simulink).
Задайте, включен ли блок. Если выбрано (значение по умолчанию), программное обеспечение Simulink Design Verifier использует блок при генерации тестов для модели. Очистка этой опции отключает блок, то есть, заставляет программное обеспечение Simulink Design Verifier вести себя, как будто блок Test Condition не существовал. Если эта опция не выбрана, блок появляется grayed в Редакторе Simulink.
Задайте, ведет ли блок себя как блок Test Condition или Proof Assumption. Выберите Assumption
, чтобы преобразовать блок Test Condition в блок Proof Assumption.
Задайте условие испытания (см. Условия испытания Определения).
Задайте, отображает ли блок содержимое своего параметра Values в Редакторе Simulink. По умолчанию эта опция выбрана.
Задайте, отображает ли блок выходной порт в Редакторе Simulink. Если выбрано (значение по умолчанию), блок отображает свой выходной порт, позволяя его входному сигналу пройти как блок вывод. Если не выбранный, блок скрывает свой выходной порт и отключает входной сигнал. Следующая графика иллюстрирует внешний вид блока в каждом случае.
Pass through style: Selected
Pass through style: Deselected