Сравнение СЧА может быть выполнено с помощью блока ТЕSТ (ПРОВЕРИТЬ).
Его формат:
ТЕSТ Х А,В[,С]
Таблица 4.43
Операнд | Значение | Результат по умолчанию |
А | СЧА | Ошибка |
В | СЧА | Ошибка |
С | Имя блока, в который переходит транзакт при условии, что ответ на вопрос, подразумеваемый оператором отношения, отрицательный | При отсутствии операнда С проверку выполняют в режиме отказа |
Х | Вспомогательный оператор, который представляет собой оператор отношения, использующийся при проверке | |
Значение оператора отношения: | Вопрос оператора отношения: | |
G | А больше В? | |
GЕ | А больше или равно В? | |
Е | А равно В? | |
NЕ | А не равно В? | |
LЕ | А меньше или равно В? | |
L | А меньше В? |
Операнды А и В – имена СЧА, которые сравниваются. Вспомогательный оператор Х указывает способ сравнения этих двух СЧА друг с другом.
Пример 4.40
Режим отказа
ТЕSТ LЕ Q1,Q2
Проверяющий транзакт будет задержан в предыдущем блоке до тех пор, пока длина первой очереди не станет меньше или равна длине второй очереди.
|
|
Пример 4.41
Режим условного перехода
ТЕSТ LЕ Q1,Q2,ZНVS
Проверяющий транзакт перейдет в следующий по порядку блок, если содержимое первой очереди меньше или равно содержимому второй очереди. Если это условие не выполняется, транзакт перейдет в блок с меткой ZHVS.
Пример 4.42
ТЕSТ L F$SСАNNЕR,X$МАX_UТIL,LLL
SЕIZE SСАNNЕR
…
LLLQUEUE Q_SСАNNЕR2
Если устройство SСАNNЕR имеет коэффициент загрузки меньше, чем значение сохраняемой величины МАХ_UТIL, то транзакт идет на обслуживание этим устройством, в противном случае – переходит к блоку с меткой LLL.
Пример 4.43
Пусть в точке модели DISРАТСНЕR необходимо удалить те транзакты, которые находились в модели больше, чем 100 ед. модельного времени. Для этого в модели можно использовать такие блоки:
GЕNЕRАТЕ 18,6
…
DISРАТСНЕR ТЕSТ L М1,100,КILL
…
КILL ТЕRMINATE