При наборе блоков удобно пользоваться окном Insert GPSS blocks (вставить блок), которое вызывается в меню Edit/Insert GPSS blocks. Выбрав в нём нужный блок, заполняем последовательно поля ввода для каждого операнда. Здесь удобно вводить метки и комментарии.
3.3.5. Моделирование многоканальных устройств (МКУ)
Многоканальное устройство (памяти) – особый объект языка для имитации разного рода накопителей, конвейеров, в которых одновременно могут находиться несколько транзактов. В отличие от одноканального устройства, для указания ёмкости (количества каналов) используется оператор описания памяти STORAGE. Как любой оператор описания он помещается между блоками SIMULATE и GENERATE. Формат оператора:
Имя STORAGE А
Сначала определяется имя МКУ, А – ёмкость МКУ (количество каналов).
Блок ENTER(занять МКУ) позволяет вошедшему транзакту использовать многоканальное устройство. Транзакт может быть задержан на входе в блок, если многоканальное устройство заполнено, или имеющейся ёмкости недостаточно, или устройство в данный момент недоступно. Формат записи:
|
|
ENTER A,[B]
Операнд А указывается номер или имя МКУ, определённое блоком STORAGE. В необязательном поле В содержится число занимаемых каналов. Если поле В пусто, то по умолчанию занимается один канал. Одно и то же сообщение может входить в неограниченное число многоканальных устройств, а впоследствии освобождать их (или часть из них).
Блок LEAVE (покинуть устройство) имеет формат:
LEAVE A,[B]
Блок LEAVE освобождает определённое число единиц многоканального устройства, указанных в поле В. Если это поле пусто, по умолчанию предполагается равным 1. Число освобождаемых единиц не должно превышать текущее содержимое многоканального устройства. Транзакт не обязан освобождать столько же единиц каналов, сколько занимал. Поле А блока LEAVE определяет номер или имя многоканального устройства.
Пример. Машины подъезжают на СТО с интервалом 4±2 мин. и обслуживаются у одного из 3-х свободных мастеров в течении 60±4 – 5 мин., затем покидают станцию. Можно промоделировать следующим образом.
SIMULATE
CTO STORAGE 3
GENERATE 4,2
ENTER CTO
ADVANCE 60,45
LEAVE CTO