Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УП_Моделир сист_Зиновьев.doc
Скачиваний:
6
Добавлен:
28.10.2018
Размер:
2.22 Mб
Скачать

4.15. Проверка числовых выражений

Сравнить числовые выражения или соотношение между двумя стандартными числовыми атрибутами можно при помощи блока TEST.

Блок TEST (проверить) – предназначен для сравнения числовых выражений, а также СЧА и перенаправления транзактов (рис. 29). Значения операндов блока представлены в табл. 13.

Таблица 13

Значения операндов блока TEST

Операнд

Значение

Результат

по умолчанию

А

В

Х

Имя первого СЧА

Имя второго СЧА

Оператор отношения, используемый при проверке

Ошибка

Ошибка

Ошибка

Оператор отношения

Вопрос, подразумеваемый в блоке TEST

G

GE

E

NE

LE

L

А > В

А  В

A = B

A  B

A <= B

A < B

С

Необязательный; имя блока, в который переходит проверяющий транзакт, если ответ на вопрос, подразумеваемый оператором отношения, отрицателен

Проверка производится в режиме отказа

Рис. 29. Блок TEST

Примеры блока TEST:

TEST E Q1,Q2

транзакт будет задержан в предыдущем блоке до тех пор, пока содержимое очереди 1 не станет равно содержимому очереди 2.

TEST LE S(BUFFER),4,EXIT

если текущее содержимое многоканального устройства BUFFER меньше или равно 4, то транзакт переходит в следующий блок, в противном случае транзакт переходит в блок с именем EXIT.

4.16. Присвоение числовых значений параметрам транзакта

По умолчанию значения всех параметров транзактов равны 0. Для записи значений в параметры в GPSS/H используется блок ASSIGN.

Блок ASSIGN (назначить) – присваивает значения параметрам транзактов (рис. 30).

Рис. 30. Блок ASSIGN

В операнде А записывают номер параметра, в операнде В – число или выражение, в операнде С – тип параметра транзакта.

Примеры блока ASSIGN:

ASSIGN 3,25,PF

3-му полнословному параметру транзакта присваивается значение, равное 25.

ASSIGN 1,7*Q(OTCH),PH

значение текущего содержимого очереди OTCH умножается на 7 и присваивается первому полусловному параметру транзакта.

ASSIGN 5,FR(COMP),PL

коэффициент использования прибора COMP записывается в 5-й действительный параметр транзакта.

4.17. Изменение приоритета транзакта

Транзакты в GPSS/H-моделях имеют атрибут, называемый приоритетом (PR). Изначально приоритет транзактов назначается в блоке GENERATE в E-операнде (значение по умолчанию – 0). Если транзакты ожидают обслуживания (находятся в очереди) и у всех транзактов равный приоритет, то транзакты обслуживаются по принципу «первым пришел – первым обслужен». В ранее приведенных примерах все транзакты имели нулевой приоритет. Часто этого не достаточно для моделирования реальных систем. Некоторые транзакты могут иметь более высокий приоритет, чем другие. Например, заготовки, требующие меньшего времени обработки, могут идти на обработку раньше заготовок с большим временем обработки. Для этого требуется изменить значение уровня приоритета транзакта.

Блок PRIORITY (назначить приоритет) – изменяет уровень приоритета транзакта (рис. 31).

Рис. 31. Блок PRIORITY

В операнде А записывают новый уровень приоритета транзакта.

Пример блока PRIORITY:

PRIORITY 1

уровень приоритета транзакта устанавливается равным 1.