Присвоение числовых значений параметрам транзакта
По умолчанию значения всех параметров транзактов равны 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-й действительный параметр транзакта.
Изменение приоритета транзакта
Транзакты в GPSS/H-моделях имеют атрибут, называемый приоритетом (PR). Изначально приоритет транзактов назначается в блоке GENERATE в E-операнде (значение по умолчанию – 0). Если транзакты ожидают обслуживания (находятся в очереди) и у всех транзактов равный приоритет, то транзакты обслуживаются по принципу «первым пришел – первым обслужен». В ранее приведенных примерах все транзакты имели нулевой приоритет. Часто этого не достаточно для моделирования реальных систем. Некоторые транзакты могут иметь более высокий приоритет, чем другие. Например, заготовки, требующие меньшего времени обработки, могут идти на обработку раньше заготовок с большим временем обработки. Для этого требуется изменить значение уровня приоритета транзакта.
Блок PRIORITY (назначить приоритет) – изменяет уровень приоритета транзакта (рис. 31).
Рис. 31. Блок PRIORITY
В операнде А записывают новый уровень приоритета транзакта.
Пример блока PRIORITY:
PRIORITY 1
уровень приоритета транзакта устанавливается равным 1.
Пример компьютерной имитации
Разработку модели компьютерной имитации покажем на примере отображения работы некоторого производства [4].
В цехе 50 станков разных типов (20 станков типа А и 30 типа В) работают по 8 часов в день и по 5 дней в неделю. Имеется резерв арендуемых станков – 1 типа А и 2 типа В. В любой момент времени любой станок может выйти из строя. В этом случае его заменяют резервным. Сломанный станок отправляют в ремонтную мастерскую, где его чинят и возвращают в цех, но уже в качестве резервного (рис. 32). Починку станков в ремонтной мастерской осуществляют три человека, при этом на ремонт станка типа А уходит в среднем 7±3 часа, а на ремонт станка типа В – 5±2 часа (распределение равномерное). Время наработки на отказ станка составляет 157±25 часов (распределение равномерное).
Необходимо промоделировать производство в течение 1 года (без выходных и праздников; 8-часовой рабочий день) и определить количество выходивших из строя станков по типам и коэффициент загрузки ремонтников.
Рис. 32. Схема производства
Блок схема GPSS/H-модели данного производства представлена на рис. 33.
Рис. 33. Блок-схема GPSS/H-модели производства
Разработанная в соответствии с блок-схемой GPSS/H-программа приведена ниже:
SIMULATE
STORAGE S(REM),3/S(CEH),50 Кол-во ремонтников
и станков
GENERATE ,,,21,,1PH Поступление станков типа А
ASSIGN 1,1,PH Отметка станков типа А
TRANSFER ,BACK Передача станков типа А в цех
GENERATE ,,,33,,1PH Поступление станков типа В
ASSIGN 1,2,PH Отметка станков типа В
BACK ENTER CEH Начало работы станков обоих
типов
ADVANCE 157,25 Наработка на отказ
LEAVE CEH Поломка станка
TEST E PH1,1,TYP2 Передача станка на ремонт
в зависимости от типа
TYP1 ENTER REM Занятие ремонтников
ADVANCE 7,3 Ремонт станка типа А
TRANSFER ,DAL Освобождение ремонтников
TYP2 ENTER REM Занятие ремонтников
ADVANCE 5,2 Ремонт станка типа В
DAL LEAVE REM Освобождение ремонтников
TRANSFER ,BACK Передача станков в цех
GENERATE 365*8 Моделирование 1 года работы в
часах
TERMINATE 1
START 1
END
После запуска модели сформируется стандартный файл отчета моделирования. Часть этого файла представлена ниже (интересующие нас результаты подчеркнуты).
Simulation begins.
RELATIVE CLOCK: 2920.0000 ABSOLUTE CLOCK: 2920.0000
BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL
1 21 11 2 345
2 21 12 343
3 21 TYP2 556
4 33 14 556
5 33 DAL 899
BACK 951 16 2 899
7 50 951 17 1
8 901 18 1
9 901
TYP1 345
--AVG-UTIL-DURING--
STORAGE TOTAL AVAIL UNAVL ENTRIES AVERAGE
TIME TIME TIME TIME/UNIT
REM 0.602 901 5.853
CEH 0.990 951 152.059
Таким образом, за время моделирования из строя выходили 345 станков типа А и 556 типа В. Коэффициент загрузки ремонтников составил 0.602.
Компьютерная анимация
Технологических процессов