Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
imit_Model_lektsii.doc
Скачиваний:
7
Добавлен:
22.09.2019
Размер:
427.01 Кб
Скачать

Блок select в логическом режиме

SELECT X A,B,C,,,F

В качестве Х может использоваться либо LS, либо LR.

А- № параметра, который записывается ( № логического переключателя, удовлетворяющего условию либо S, либо R, см. Х );

В,С- нижняя и верхняя границы номеров логических переключателей;

F- может отсутствовать (см. блок SELECT).

Пр.: SELECT LS 3,7,9

Проверяются последовательно переключатели 7.8.9. Если 7 RESET, то смотрят 8, если 8 SET, то №8 становится значением третьего параметра.

Другое использование блока SELECT:

Если Х принимает значение U, NU, то проверяются уже устройства.

Возможные значения операнда Х:

U- используется устройство;

NU- не используется устройство;

SF- многоканальное устройство полностью заполнено;

SNF- многоканальное устройство не полностью заполнено;

SE- многоканальное устройство пусто;

SNE- в многоканальном устройстве что-то есть.

Организация цикла

Можно использовать блок TEST :

NEXT

...........................

ASSIGN

2-,1

TEST E

P2,0,NEXT

Каждый раз при прохождении блока ASSIGN из второго параметра вычитается единица. Цикл закончится тогда, когда содержимое параметра №2 станет равно 0.

Можно использовать блок LOOP.

LOOP 2,NEXT

Когда транзакт заходит в этот блок, из второго параметра вычитается единица и получившееся значение сравнивается с 0. Если значение параметра 2 больше нуля. То переход на блок, имеющий метку NEXT.

LOOP A,B

А- имя параметра

В- метка перехода

Булевские переменные

Ранее было введено понятие арифметической переменной:

Имя BVARIABLE булевское выражение

Значением булевской переменной может быть либо TRUE- истина, либо F FALSE- ложь (либо 0, либо 1).

Пр.: Примеры булевских выражений:

  1. Логический переключатель LS5 .(включен, выключен);

  2. SF19 – многоканальное устройство 19 заполнено полностью? (да, нет)

  3. Могут быть отношения:

СЧА1 <оператор отношения> СЧА2

P1 G P2 - если значение параметра 1 больше, чем значение параметра 2, то истина (1).

Блок buffer

В системе моделирования GPSS интерпретатор просматривает транзакты, находящиеся в цепи текущих событий, по порядку, от начала к концу списка. Интерпретатор берет сначала первый транзакт и пытается его продвинуть. Но существуют ситуации, когда интерпретатор вместо того, чтобы рассматривать транзакт, идущий следом за уже обработанным, начинает просмотр с начала очереди, например, после прохождения блока RELEASE. Если транзакт попадает в блок BUFFER, то интерпретатор прекращает продвижение данного события и возвращается обратно в цепь текущих событий за следующим транзактом.

Пример № 8.1: Рассмотрим схему прерываний. На эту схему (на регистр) поступают запросы на прерывание. Будем считать, что операционная система следит за состоянием этого регистра, и если в нем есть запрос, то операционная система начинает его обслуживать. После чего данный запрос обнуляется. Запросы обрабатываются некоторое время.

* Генерация транзактов в соответствии с экспоненциальным законом * распределения

GENERATE

300,FN$EXP,,1

QUEUE

A

GATE LS

G1

M

GATE LS

W

DEPART

A

TERMINATE

* Генерируется 1 транзакт

GENERATE

,,,1

* Проверка текущего содержимого очереди А на равенство нулю. Если

* равно нулю, то транзакт идет дальше, иначе - блокируется.

N

TEST

W$A,0

LOGIC S

C1

ADVANCE

FN$BC

LOGIC S

W

BUFFER

LOGIC R

W

TRANSFER

,N

Аргумент функции ВС должен зависеть от числа сгенерированных транзактов.

BC FUNCTION W$M,C10

За время обработки функции ВС в первом блоке GENERATE будут генерироваться следующие транзакты.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]