Задача. Два вертикальных многоцелевых станка с числовым программным управлением (ЧПУ), один горизонтальный многоцелевой станок с ЧПУ, трехмерная контрольно-измерительная машина объединены в гибкую производственную систему (ГПС). Машины обслуживаются робокарами (автоматически управляемыми тележками), движущимися вдоль направляющего электрического провода, вмонтированного в пол.
Закрепленные детали поступают в зону прибытия в случайном порядке с равными вероятностями каждые 12±1 минуту. Обрабатываются 16 типов деталей. Каждая деталь требует соответствующего времени обработки и контроля, определяемого функцией Product, заданной в модели (см. ниже) и основанной на следующей таблице.
Робот загружает детали на робокары в зоне прибытия и разгружает их в зоне готовых деталей. Действия робота, станков, робокаров управляются центральным компьютером.
· 35% деталей обрабатываются в Machine1.
· 45% деталей обрабатываются в Machine2.
· 20% деталей обрабатываются в Machine3.
15% деталей после Machine1 (вертикальный многоцелевой станок) и 10% после Machine2 (вертикальный многоцелевой станок) обрабатываются в Machine3 (горизонтальный многоцелевой токарный станок). Детали, изначально предназначенные для Machine3, обрабатываются только на этом станке. Наконец, 4% всех деталей в случайном порядке проверяются на контрольно?проверочной машине Machine4.
Провод, вмонтированный в пол и управляющий робокарами, разделен на пятнадцать 10-метровых сегментов, представленных устройствами с номерами от 1 до 15. Робокары перемещаются со средней скоростью 0.5 метра в секунду, включая время загрузки и разгрузки.
Необходимо:
1. Смоделировать работу гибкой производственной системы в течение 15 дней.
2. Определить коэффициенты использования станков.
3. Найти транзитное время деталей (время обработки) в производственной системе и количество одновременно обрабатываемых деталей.
4. Определить подходящее количество робокаров для предлагаемой рабочей загрузки гибкой производственной системы.
Решение.
RMULT 71143
Transit TABLE M1,4000,4000,8 ;Транзитное время.
Type VARIABLE RN1@16+1 ;Тип обрабатываемой детали.
AGV STORAGE 2
*
Inspect FUNCTION P4,L16
1,1200/2,1350/3,1500/4,1650/5,1800/6,1950/7,2100/8,2250/9,2400/10,2550
11,2700/12,2850/13,3000/14,3150/15,3300/16,3450
*
Product FUNCTION P4,L16
1,600/2,700/3,800/4,900/5,1000/6,1100/7,1200/8,1300/9,1400/10,1500
11,1600/12,1700/13,1800/14,1900/15,2000/16,2100
*
Mach1 FUNCTION RN1,D3
.35,1/.80,2/1.0,3
*****************************************************************************
GENERATE 720,60 ;Транзакты являются деталями.
QUEUE Arrival ;Очередь в зоне прибытия.
ASSIGN 5,FN$Mach1 ;P5 – индекс машины.
* Фиктивные величины записываются в параметры 1,2 и 3, которые
* примут соответствующие значения в блоке ASSIGN P5,P5.
* Когда P1, P2 или P3 проверяются в различных блоках, они уже
* должны существовать.
ASSIGN 1,6 ;Фиктивная величина.
ASSIGN 2,6 ;Фиктивная величина.
ASSIGN 3,6 ;Фиктивная величина.
* Содержимое параметра 5 записывается в параметр с тем же номером, что и
* содержимое параметра (т.е. если в параметре 5 записано значение 3,
* в параметр 3 будет записано значение 3, указывающее, что обработка должна
* начинаться на Machine3).
ASSIGN P5,P5 ;P1=1, P2=2, или P3=3.
ASSIGN 4,V$Type ;P4 = сложность детали.
ENTER AGV ;Занимается робокар.
SEIZE Robot ;Занимается робот.
ADVANCE 60 ;Время для погрузки на робокар.
DEPART Arrival ;Выход из очереди зоны прибытия.
ADVANCE 45 ;Робот загружает деталь в робокар.
RELEASE Robot ;Робот освобождается.
SEIZE 1 ;Занимается 1 сегмент трека.
ADVANCE 20 ;20 секунд для движения на 10 м.
RELEASE 1 ;1 сегмент трека освобождается.
TEST E P1,1,Skipone ;Нужен ли станок 1?
TRANSFER .10,,Next3 ;10% также поступает на станок 3.
First SEIZE 3 ;Занимается 3 сегмент трека.
ADVANCE 20 ;Передвижение на 10 м.
LEAVE AGV ;Робокар освобождается.
QUEUE One ;Очередь к станку 1.
RELEASE 3 ;3 сегмент трека освобождается.
SEIZE Machine1 ;Занимается станок 1.
DEPART One ;Выход из очереди.
ADVANCE FN$Product ;Обработка в вертикальном станке с ЧПУ.
RELEASE Machine1 ;Многоцелевой станок.
QUEUE Wipone ;Очередь обрабатываемых деталей.
ENTER AGV ;Занимается робокар.
ADVANCE 60 ;Время для занятия робокара.
DEPART Wipone ;Выход из очереди обрабатываемых деталей.
*****************************************************************************
Second SEIZE 4 ;Занимается 4 сегмент трека.
ADVANCE 20 ;Перемещение на 10 м.
RELEASE 4 ;Освобождается 4 сегмент.
TEST E P2,2,Skiptwo ;Нужен ли станок 2?
TRANSFER .15,,Next4 ;15% также поступают на станок 3.
Andthree SEIZE 6 ;Занимается 3 сегмент трека.
ADVANCE 20 ;Перемещение на 10 м.
LEAVE AGV ;Робокар освобождается.
QUEUE Two ;Вход в очередь 2.
RELEASE 6 ;Освобождается 6 сегмент.
SEIZE Machine2 ;Занимается станок 2.
DEPART Two ;Выход из очереди 2.
ADVANCE FN$Product ;Обработка по горизонтали.
RELEASE Machine2 ;Многоцелевой станок с ЧПУ.
QUEUE Wiptwo ;Очередь обрабатываемых деталей.
ENTER AGV ;Занимается робокар.
ADVANCE 60 ;Время для занятия робокара.
DEPART Wiptwo ;Выход из очереди обрабатываемых деталей.
*****************************************************************************
Third TEST E P3,3,Skipthree ;Нужен ли станок 3?
SEIZE 8 ;Занимается 8 сегмент трека.
ADVANCE 20 ;Перемещение на 10 м.
LEAVE AGV ;Освобождается робокар.
QUEUE Three ;Вход в очередь 3.
RELEASE 8 ;8 сегмент трека освобождается.
SEIZE Machine3 ;Занимается станок 3.
DEPART Three ;Выход из очереди 3.
ADVANCE FN$Product ;Обработка на токарном станке с ЧПУ.
RELEASE Machine3 ;Многоцелевой токарный станок освобождается.
QUEUE Wipthree ;Очередь обрабатываемых деталей.
ENTER AGV ;Занимается робокар.
ADVANCE 60 ;Время движения робокара.
DEPART Wipthree ;Выход из очереди обрабатываемых деталей.
*****************************************************************************
Fourth SEIZE 9 ;Занимается 9 сегмент трека.
ADVANCE 20 ;Перемещение на 10 м.
RELEASE 9 ;9 сегмент освобождается.
TRANSFER .960,,Skipfour ;4% деталей проверяются.
SEIZE 11 ;Занимается 11 сегмент трека.
ADVANCE 20 ;Перемещение на 10 м.
LEAVE AGV ;Робокар освобождается.
QUEUE Four ;Вход в очередь 4.
RELEASE 11 ;11 сегмент трека освобождается.
SEIZE Machine4 ;Занимается контрольная машина.
DEPART Four ;Выход из очереди 4.
ADVANCE FN$Inspect ;Проверка на трехмерной машине.
RELEASE Machine4 ;Машина 4 освобождается.
QUEUE Wipfour ;Вход в очередь обрабатываемых деталей.
ENTER AGV ;Занимается робокар.
ADVANCE 60 ;Время прибытия робокара.
DEPART Wipfour ;Выход из очереди обрабатываемых деталей.
*****************************************************************************
Fifth SEIZE 12 ;Занимается 12 сегмент трека.
ADVANCE 20 ;Перемещение на 10 м.
RELEASE 12 ;12 сегмент трека освобождается.
SEIZE Robot ;Занимается робот.
ADVANCE 45 ;Робот разгружает деталь с робокара.
RELEASE Robot ;Робот освобождается.
TABULATE Transit ;Записывается транзитное время.
SAVEVALUE P4+,1 ;Одна деталь обработана.
SEIZE 13 ;Занимается 13 сегмент трека.
ADVANCE 20 ;Робокар снова идет в зону прибытия.
RELEASE 13 ;13 сегмент трека освобождается.
SEIZE 14 ;Занимается 14 сегмент трека.
ADVANCE 20 ;Перемещение на 10 м.
RELEASE 14 ;14 сегмент трека освобождается.
SEIZE 15 ;Занимается 15 сегмент трека.
ADVANCE 20 ;Перемещение на 10 м.
RELEASE 15 ;15 сегмент трека освобождается.
LEAVE AGV ;Робокар освобождается.
TERMINATE ;Транзакт уничтожается.
*****************************************************************************
Next3 ASSIGN 3,3 ;10% используют станки 1 и 3.
TRANSFER ,First
Next4 ASSIGN 3,3 ;15% используют станки 2 и 3.
TRANSFER ,Andthree
*****************************************************************************
Skipone SEIZE 2 ;Занимается 2 сегмент трека.
ADVANCE 20 ;Перемещение на 10 м.
RELEASE 2 ;2 сегмент трека освобождается.
TRANSFER ,Second
*****************************************************************************
Skiptwo SEIZE 5 ;Занимается 5 сегмент трека.
ADVANCE 20 ;Перемещение на 10 м.
RELEASE 5 ;5 сегмент трека освобождается.
TRANSFER ,Third
*****************************************************************************
Skipthree SEIZE 7 ;Занимается 7 сегмент трека.
ADVANCE 20 ;Перемещение на 10 м.
RELEASE 7 ;7 сегмент трека свободен.
TRANSFER ,Fourth
*****************************************************************************
Skipfour SEIZE 10 ;Занимается 10 сегмент трека.
ADVANCE 20 ;Перемещение на 10 м.
RELEASE 10 ;10 сегмент трека освобождается.
TRANSFER ,Fifth
*****************************************************************************
GENERATE 28800 ;Транзакт каждый день.
TERMINATE 1 ;Разрушается транзакт.
START 15
Результаты моделирования.