Используя блок Check Dynamic Upper Bound, можно проверить, поднимается ли входной сигнал над изменяющейся верхней границей во время симуляции.
В этом примере блок Check Dynamic Upper Bound сравнивает значение тестируемого входного сигнала от блока Step в порту u с блоком Sine Wave в порту max. Блок Check Dynamic Upper Bound проверяет, больше ли значение сигнала в порту max, чем значение тестируемого входного сигала. Если это так, блок утверждает true (1)
. Поскольку выбран параметр Output assertion signal блока Check Dynamic Upper Bound, блок выводит значение assertion. Запустите симуляцию, чтобы наблюдать выход модели.
В начале симуляции блок Check Dynamic Upper Bound выходов 1
поскольку значение блока Sine Wave больше, чем значение блока Step. Во время 3.14
, синусоида опускается ниже 0
, в результате чего значение блока Step превышает синусоиду. Блок Check Dynamic Upper Bound распознает это изменение и выводит 0
.
Во время 5
блок Step выводит значение 0.5
, что все еще больше, чем синусоида. Значение блока Step остается больше синусоиде, пока время не достигнет 6.81
. Блок Check Dynamic Upper Bound распознает это изменение, и утверждение прошло. На выход остается 1
пока время не достигнет 8.90
, где синусоида идет ниже значения блока Step.