Автор: Пользователь скрыл имя, 15 Мая 2013 в 22:35, курсовая работа
Для данной задачи простым и удобным средством моделирования является язык GPSS Wоrld, позволяющий проанализировать результаты в виде отчетов.
В процессе курсового проектирования рассматриваются следующие вопросы:
- понятие моделирования;
- основные виды моделирования;
- процесс моделирования
TRANSFER SBR,PRC,7 - переход к оператору PRC с записью в параметр N 7 транзакта метки данного оператора.
LOOP 6,MET - организация цикла - переход 5 раз к оператору с меткой MET и на шестой раз - к следующему по порядку оператору.
TEST E V7,K256,LAB - переход по условию (условная передача управления): в позициях 13-18 записывается знак отношения, в первых двух подполях поля переменных записываются сравниваемые величины, если условие выполняется, то перехода нет, иначе переход есть к оператору с меткой LAB. Символы отношений: G - больше, L - меньше, E - равно, NE - неравно, LE - меньше или равно, GE - больше или равно. В данном примере перехода нет, если V7 = 256, иначе переход к оператору с номером LAB.
QUEUE SQV - оператор организации очереди, длина очереди SQV увеличивается на единицу.
DEPART SQV - то же, но длина очереди уменьшается на единицу.
PRIORITY 2 - транзакту присваивается приоритет 2.
SIMULATE - начальная карта программы, если разработчик намерен выполнить прогон модели. Если эта карта отсутствует, то интерпретатор проверяет правильность записи модели на языке GPSS, но прогона модели не выполняет.
START 100,,25 - занесение значения 100 в итоговый счетчик, вывод накопленных статистических данных производится с интервалом изменения содержимого итогового счетчика в 25 единиц.
TABULATE MAT7 - в соответствующий интервал гистограммы с именем MAT добавляется единица.
MAT7 TABLE P3,8,1,5 - описание таблицы (гистграммы) MAT7, предназначенной для табулирования величины, значения которой находятся в третьем параметре транзакта, входящего в оператор TABULATE MAT7, верхний предел левого интервала гистограммы равен 8, ширина каждого последующего интервала равна 1, всего интервалов 5.
5 VARIABLE X2 - K25 - вычислительный оператор, в данном случае из хранимой величины N 2 вычитается число 25 и результат присваивается переменной N 5.
SAVEVALUE 5,*3 - хранимая величина N 5 (X5) получает значение третьего параметра транзакта.
@<имя файла> - загрузить исходный текст модели
SAVE <имя файла> - сохранить текст модели
DISPLAY[<строка N 1>],[< строка N 2>] - вывести на экран текст модели, начиная со строки N1 , до строки N 2.
DELETE [<строка N 1>],[<строка N 2>] - удалить из программы текст, начиная со строки N1 , до строки N 2.
EDIT <номер строки> - отредактировать строку текста
CLEAR - сбросить всю статистику модели в ноль (включая таймеры абсолютного и относительного модельного времени), возвратить все транзакты в пассивный буфер.
2 Практическая часть
2.1 Постановка задачи
Технологическая линия включает источник деталей, два взаимосвязанных станка, накопитель, технологический модуль для окончательной обработки деталей, рабочее место комплектации паллет и транспортный робот для их транспортировки на склад.
Время поступления деталей из источника распределено равномерно на
интервале [а ± δ], причем деталь поступает в минимальную из очередей к станкам.
Если деталь поступает на станок 1, то затем она поступает на станок 2.
Если деталь поступает на станок 2, то затем она поступает на станок 1. Время работы деталей на станках 1, 2 распределено равномерно на интервалах [b1 ± ε1] и [b2 ± ε2] соответственно.
После цикла механообработки
деталь попадает в накопитель (на 10
деталей). Из накопителя все детали
одновременно передаются в технологический
модуль для окончательной обработки.
Время обработки в
Затем осуществляется укладка
деталей в паллеты по 10 шт. Транспортный
робот отбирает по 2 паллеты
и транспортирует их на склад.
Время транспортировки
Цель. Разработать GPSS-модель для анализа процесса функционирования автоматизированной технологической линии.
Исходные данные, с:
а) а = 10, δ = 2, b1 = 10, ε1 = 4, b2 = 9, ε2 = 3, b3 = 6, ε3 = 2, с = 16, γ = 4;
2.2 Построение концептуальной
Исследуемая система представляет собой технологическую линию, включающую источник деталей, два взаимосвязанных станка, накопитель, технологический модуль, рабочее место и транспортный робот. Источник деталей является генератором поступающих в систему заявок по равномерному закону распределения. Детали поступают в минимальную из очередей к станкам. Станки в свою очередь представляют собой механизмы для обработки деталей, причем обработка деталей производится последовательно двумя станками. Время обработки также подчиняется равномерному закону распределения. Данная система включает накопитель, в который поступают детали из станков. Емкость накопителя ограничена 10 деталями. Из накопителя детали одновременно поступают в технологический модуль, в котором производится окончательная обработка деталей. Укладка деталей в паллеты производится транспортным роботом, который в дальнейшем транспортирует их на склад.
Целью моделируемой системы является проведение анализа процесса функционирования автоматизированной технологической линии, который в последующем будет способствовать оптимальной установке параметров системы, т.е. количество узлов системы, объем накопителей и время обработки деталей.
Структурная схема модели представлена А на рисунке 2.1.
Рисунок 2.1 – Структурная схема модели
Деталь поступает в минимальную из очередей. Если деталь поступает на станок 1, то затем она поступает на станок 2. Если деталь поступает на станок 2, то затем она поступает на станок 1. Время работы деталей на станках 1, 2 распределено равномерно на интервалах [10 ± 4] и [9 ± 3] соответственно.
После цикла механообработки
деталь попадает в накопитель (на 10
деталей). Из накопителя все детали
одновременно передаются в технологический
модуль для окончательной обработки.
Время обработки в
Затем осуществляется укладка
деталей в паллеты по 10 шт. Транспортный
робот отбирает по 2 паллеты
и транспортирует их на склад.
Время транспортировки
Q-схема представлена на рисунке 2.2.
2.3 Алгоритм работы системы
Блок-схема алгоритма представлена в приложении А на рисунке А.1.
Первым шагом является генерация входного потока (блок-схема 1). Время поступления деталей из источника распределено равномерно на интервале [10 ± 2], причем деталь поступает в минимальную из очередей к станкам. Далее происходит создание транзакта (блок-схема 2). Если длина первой очереди не равна нулю, то происходит создание транзакта 2 (блок-схемы 3, 4).
Если длина перед первым станком больше чем перед вторым (блок-схема 5), то деталь поступает на обработку на второй станок (блок-схема 6), иначе деталь поступает на первый станок (блок-схема 7).
Далее проводится анализ: если деталь поступает на станок 1, то затем она поступает на станок 2. Если деталь поступает на станок 2, то затем она поступает на станок 1 (блок – схемы 8,9).
После обработки детали на первом и втором станках, детали поступают в накопитель. В накопителе содержится десять деталей (блок-схемы 10-13). Следующим шагом является передача из накопителя одновременно в технологический модуль для окончательной обработки (блок-схема 14).
Затем осуществляется укладка деталей в паллеты по 10 шт (блок-схемы 15-17). Транспортный робот отбирает по 2 паллеты и транспортирует их на склад (блок-схема 18).
2.4 Реализация алгоритма программным способом
INITIAL x$detali,0 ; счетчик деталей
INITIAL x$pallets,0 ; счетчик паллетов
GENERATE 10,2 ; генерация транзактов
TEST L Q$och1,Q$och2,Met2 ; нахождение минимальной очереди
Met1 QUEUE och1 ; встать в очередь к станку 1
SEIZE stan1 ; начало обслуживания станком 1
DEPART och1 ; освобождение очереди
ADVANCE 10,4 ; время обслуживания станком 1
RELEASE stan1 ; освобождение станка 1
ASSIGN 1+,1 ; маркировка детали
TEST E P1,2,Met2 ; проверка доп. обрабтки на станке 2
TRANSFER ,Met3 ; перенаправление в накопитель тех.модуля
Met2 QUEUE och2 ; встать в очередь к станку 2
SEIZE stan2 ; начало обслуживания станком 2
DEPART och2 ; освобождение очереди
ADVANCE 9,3 ; время обслуживания станком 2
RELEASE stan2 ; освобождение станка 2
ASSIGN 1+,1 ; маркировка детали
TEST E P1,2,Met1 ; проверка доп.обрабтки на станке 1
TRANSFER ,Met3 ; перенаправление в накопитель тех.модуля
Met3 QUEUE nakop_detali ; поступление в накопитель тех.модуля
SAVEVALUE detali+,1 ; счетчик деталей в накопителе
TEST E x$detali,10,KILL ; определение полноты накопителя
SAVEVALUE detali,0 ; обнуление счетчика
SEIZE techmod ; начало обслуживание тех.модулем
DEPART nakop_detali ; освобождение накопителя
ADVANCE 6,2 ; время обслуживания тех.модулем
RELEASE techmod ; освобождение тех.модуля
QUEUE nakop_pallets ; поситупление в накопитель тран.робота
SAVEVALUE pallets+,1 ; счетчик деталей в накопителе
TEST E x$pallets,2,KILL ; определение полноты накопителя
SAVEVALUE pallets,0 ; обнуление счетчика
SEIZE robot ; начало обслуживание тран.роботом
DEPART nakop_pallets ; освобождение накопителя
ADVANCE 16,4
; время обслуживания тран.
RELEASE robot ; освобождение тран.робота
KILL TERMINATE ; покинуть техно.линию
GENERATE 3600 ;наблюдать работу техно.линии в течении 1 часа
TERMINATE 1
start 1
Блок-схема алгоритма
2.5 Анализ результата
GPSS World Simulation Report - 20.141.1
Sunday, March 31, 2013 23:19:38
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 3600.000 37 4 0
NAME VALUE
DETALI 10000.000
KILL 35.000
MET1
MET2 11.000
MET3 19.000
NAKOP_DETALI 10009.000
NAKOP_PALLETS 10012.000
OCH1 10002.000
OCH2 10003.000
PALLETS 10001.000
ROBOT 10013.000
STAN1 10006.000
STAN2 10008.000
TECHMOD 10011.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 359 0 0
2 TEST 359 0 0
MET1 3 QUEUE 358 5 0
4 SEIZE 353 0 0
5 DEPART 353 0 0
6 ADVANCE 353 1 0
7 RELEASE 352 0 0
8 ASSIGN 352 0 0
9 TEST 352 0 0
10 TRANSFER 352 0 0
MET2 11 QUEUE 359 0 0
12 SEIZE 359 0 0
13 DEPART 359 0 0
14 ADVANCE 359 1 0
15 RELEASE 358 0 0
16 ASSIGN 358 0 0
17 TEST 358 0 0
18 TRANSFER 0 0 0
MET3 19 QUEUE 352 0 0
20 SAVEVALUE 352 0 0
21 TEST 352 0 0
22 SAVEVALUE 35 0 0
23 SEIZE 35 0 0