Лекции_додонов (862470), страница 9
Текст из файла (страница 9)
Другие распределения
Как и при использовании блока GENERATE остановимся на рассмотрении равномерного распределения случайных величин. Модели на GPSS позволяют использовать более сложные функции распределения. Формат ADVANCE [A],[B]; А- среднее время задержки, В- половина поля допуска. Пример:
ADVANCE 8,1 – задержка транзакта на интервал времени распределения примерно в диапазоне [8-1;8+1] то есть любое значение из ряда 7,8,9.
С
QUEUE
B





С
DEPART
B
татистика освещает следующие вопросы: Ч исло транзактов, приходящих в очередь;
С колько транзактов присоединилось к очереди, сколько попало сразу попали на обслуживающий прибор, например – станок;
Максимальная длина очереди;
Среднее время ожидания транзактов в очереди;
Среднее число ожидающих транзактов.
Формат блоков QUEUE [A],[B] и DEPART [A],[B], где А – имя очереди, В – число единиц, на которое увеличивается или уменьшается длина очереди.
Пример:
QUEUE One – встать в очередь «One».
DEPARTE One – покинуть очередь «One».
В языке GPSS используются около 40 блоков.
Пример создания программы моделирования.
Пример 1. Гибкий производственный модуль (сверлильно-фрезерно-расточной) с потоком поступающих на него деталей.
Интервалы поступления корпусных деталей на модуль распределены равномерно в интервале 18±6 минут. Время обработки также распределено равномерно в интервале 16±4 минуты. Дисциплина обслуживания “первым пришел- первым обслужен”. Модель процесса обработки на ГПМ должна обеспечить сбор статистических данных об очереди. Необходимо промоделировать работу ГПМ в течение 8часов модельного времени.
Моделирование.
Модель строится в виде непрерывной цепи блоков с добавлением компонентов, предназначенных для управления моделированием. Порядок блоков в модели соответствует порядку фаз, в которых оказывается заготовка при обработке на ГПМ. Заготовки приходят, если необходимо, ждут своей очереди, затем загружаются в ГПМ, происходит обработка, затем деталь покидает ГПМ.
Результаты моделирования
ГПМ использовался в течении 86% времени.
ГПМ обработал 26 деталей
Среднее время обработки 15,884 минут
Максимальная длина очереди – 1 деталь
Среднее число деталей в очереди 0,16
Число входов в очереди – 27
Число “нулевых” (без ожидания) входов в очередь – 12
Процент “нулевых” входов -44,4%
Среднее время нахождения в очереди на один вход (включая нулевые входы)- 2,851 мин.
Среднее время нахождения в очереди на один ненулевой вход равно 5,133 минут.
Пример 2.Моделируемая АСС имеет 2 станка с ЧПУ, зону приемки (транспортер необработанных деталей) и зону готовых изделий (транспортер обработанных деталей)(см. рис ). Детали прибывают каждые 150 секунд и последовательно обрабатываются на двух станках. Роботу требуется 8±1 секунд, чтобы захватить или отпустить деталь и 6 секунд, чтобы переместить их из зоны приемки к первому станку. Время обработки на первом станке распределено по равномерному закону со средним 60±10 секунд. На перемещение от первого станка ко второму роботу требуется 7 секунд. Время обработки на втором станке составляет 100±15 секунд. Чтобы переместить деталь от второго станка в зону готовых деталей роботу требуется 5 секунд.
Необходимо промоделировать работу АСС (для 75 готовых изделий), а также:
1. Найти коэффициенты использования робота и станков.
2. Найти максимальную емкость магазина использовавшегося для хранения деталей в течение технологического процесса.
Моделирование.
Объект состоит из двух станков и нескольких накопителей, между которыми перемещается робот. Порядок работы системы указан на рисунке. Транзактами будем считать детали.
Посмотрим, как можно реализовать элементы нашей АСС на GPSS:
Накопители. Фактически, накопитель – это очередь, в которую детали (транзакты) приходят и остаются в ней до тех пор пока робот или станок (следующий блок) не будет готов работать с ними. Таким образом накопитель можно промоделировать операторами QUEUE и DEPART.
Станок и робот. Для описания этих устройств в GPSS используется последовательность блоков: SEIZE - ADVANCE- RELEASE. Надо добавить что каждый станок снабжен автооператором с накопителями, а время установки/снятия деталей автооператорами входит в время обработки деталей (см. рис. )
3. Составим программу.
GENERATE 150 ; Пребывает деталь
QUEUE One ; Очередь пребывающих деталей
SEIZE Robot ; Занять робота
DEPART One ; Выход из очереди
ADVANCE 8,1 ; Робот захватывает деталь из
накопителя пребывающих деталей.
ADVANCE 6 ; Робот перемещается к станку 1
ADVANCE 8,1 ; Робот отдает деталь автооператору 1
RELEASE Robot ; Освободить робота
QUEUE Two ; Ждать в очереди накопителя необработанных деталей автооператора 1
SEIZE Machine1 ; Занять первый станок
DEPART Two ; Выйти из очереди накопителя необработанных деталей автооператора 1
ADVANCE 50,10 ; Время обработки
RELEASE Machine1 ; Освободить станок 1
QUEUE Three ; Встать в очередь накопителя обработанных деталей автооператора 1
SEIZE Robot ; Занять робот
DEPART Three ; Выйти из очереди накопителя обработанных деталей автооператора 1
ADVANCE 8,1 ; Робот забирает деталь у автооператора 1
ADVANCE 7 ; Робот перемещается к станку 2
ADVANCE 8,1 ; Робот отдает деталь автооператору 2
RELEASE Robot ; Освободить робот
QUEUE Four ; Ждать в очереди накопителя необработанных деталей автооператора 2
SEIZE Machine2 ; Занять станок 2
DEPART Four ; Выйти из очереди накопителя необработанных деталей автооператора 2
ADVANCE 100,15 ; Обработка 2
RELEASE Machine2 ; Освободить станок 2
QUEUE Five ; Ждать в очереди накопителя обработанных деталей автооператора 2
SEIZE Robot ; Занять робот
DEPART Five ; Выйти из очереди накопителя обработанных деталей автооператора 2
ADVANCE 8,1 ; Робот захватывает деталь
ADVANCE 5 ; Робот перемещается к транспортеру
ADVANCE 8,1 ; Робот устанавливает деталь на транспортер
RELEASE Robot ; Освободить робот
TERMINATE 1 ; Деталь обработана
4.Для выполнения моделирования исследуемой АСС откройте программу GPSS World Student version.
а). Откройте файл, содержащий программу имитационного моделирования. (File/Open/Lab. gps... Enter)
b). Подготовьте программу к имитационному моделированию (Command/Create Simulation)
Появится окошко с датой моделирования и сообщение "Ready" - это означает, что теперь система готова к моделированию,
с). Начнем моделирование. (Command/Start).
d). В появившемся окошке вместо единички набираем 75 т.к. по заданию нам надо смоделировать процесс изготовления 75 деталей. (На данном этапе мы как раз и задаем значение счетчика завершения (см. TERMINATE)). Нажимаем "ОК". Моделирование началось.
е). Через несколько секунд перед нами появляется отчет о моделировании (см.
рис.).
GPSS World Simulation Report - Untitled.4.1
Wednesday, November 05, 2008 01:23:09
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 22722.218 33 3 0
NAME VALUE
FIVE 10007.000
FOUR 10005.000
MACHINE1 10003.000
MACHINE2 10006.000
ONE 10000.000
ROBOT 10001.000
THREE 10004.000
TWO 10002.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 151 0 0
2 QUEUE 151 0 0
3 SEIZE 151 0 0
4 DEPART 151 0 0
5 ADVANCE 151 0 0
6 ADVANCE 151 0 0
7 ADVANCE 151 0 0
8 RELEASE 151 0 0
9 QUEUE 151 0 0
10 SEIZE 151 0 0
11 DEPART 151 0 0
12 ADVANCE 151 0 0
13 RELEASE 151 0 0
14 QUEUE 151 0 0
15 SEIZE 151 1 0
16 DEPART 150 0 0
17 ADVANCE 150 0 0
18 ADVANCE 150 0 0
19 ADVANCE 150 0 0
20 RELEASE 150 0 0
21 QUEUE 150 0 0
22 SEIZE 150 0 0
23 DEPART 150 0 0
24 ADVANCE 150 0 0
25 RELEASE 150 0 0
26 QUEUE 150 0 0
27 SEIZE 150 0 0
28 DEPART 150 0 0
29 ADVANCE 150 0 0
30 ADVANCE 150 0 0
31 ADVANCE 150 0 0
32 RELEASE 150 0 0
33 TERMINATE 150 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
ROBOT 452 0.437 21.946 1 151 0 0 0 0
MACHINE1 151 0.331 49.813 1 0 0 0 0 0
MACHINE2 150 0.658 99.748 1 0 0 0 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
ONE 1 0 151 151 0.000 0.000 0.000 0
TWO 1 0 151 151 0.000 0.000 0.000 0
THREE 1 1 151 106 0.013 1.938 6.502 0
FOUR 1 0 150 150 0.000 0.000 0.000 0
FIVE 1 0 150 144 0.005 0.761 19.013 0
CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE
151 0 22650.000 151 15 16
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
152 0 22800.000 152 0 1
5. Посмотрим окно результатов поподробнее:
Начинается отчет с названия файла и даты проведения эксперимента. Дальше идет строка, показывающая следующие параметры: START TIME - время начала моделирования.
END TIME - время конца моделирования. Время указывается в единицах модельного времени, в нашем случае это секунды.
BLOCKS - показывает количество блоков в программе.
FACILITIES - показывает количество устройств в программе. В нашем случае их 3: Robot, Machine 1, Machine 2.
STORAGES - указывает количество специальных блоков. В нашей программе они не использовались.
Далее показывается статистика прохождения транзактами блоков. Строка, поясняющая каждый столбик, содержит следующие пункты:
LABEL - метка блока, в нашей программке мы не использовали метки.
LOC - номер блока.
BLOCK TYPE - тип блока.
CURRENT COUNT - показывает количество транзактов, находящихся в данный момент времени в блоке (обрабатываемых или удерживаемых блоком).
RETRY - количество транзактов, ожидающих специальных условий, для дальнейшего следования по модели. Мы не задавали специальных условий.
Затем идут данные о работе устройств (FACILITY).Строка содержит следующие столбцы:
FASILITY - название устройств.
ENTRIES - количество входов транзактов.