- •«Дальневосточный федеральный университет» Филиал в городе Арсеньеве
- •Курсовая работа
- •Постановка задачи
- •Переработка модели
- •Анализ задачи моделирования и выдвижение гипотез
- •Анализ задачи моделирования
- •Выдвижение гипотез
- •Описание реализации модели
- •Разработка концептуальных моделей
- •Выбор программного средства моделирования
- •Выбор программы для реализации имитационной модели
- •Описание имитационной модели
- •Описание использованных в модели объектов
- •Организация экспериментов в gpss
- •Анализ и оценка результатов моделирования
- •Заключение
- •Список использованной литературы
- •Приложение а Листинг исходной модели
- •Приложение б Листинг второй модели
- •Приложение с Статистика программы
Заключение
В результате выполнения курсовой разработаны две имитационные модели роботизированной производственной системы, соответствующие двум способам закрепления роботов за операциями: по роботу на каждый из путей перемещения детали и каждый робот может использоваться на любом из путей. На основе функционирования модели получены требуемые статистические данные, а также сделан вывод о предпочтительности для данных наборов входных параметров закрепления каждого робота за своей операцией. Отсюда можно сделать вывод о выполнении целей, поставленных перед данной курсовой работой.
В ходе данной курсовой работы было получено знание в области статистки, необходимо было анализировать программу, сверять данные проводить исследования
Список использованной литературы
Кудрявцев Е.М. GPSS World. Основы имитационного моделирования различных систем. / Кудрявцев Е.М. – М.: ДМК Пресс, 2004. – 320 с.
Савина О. А. Методические указания к выполнению курсовых работ по дисциплине: Моделирование экономических процессов / Савина О. А, Терентьев С. В. – Орел: ОрелГТУ, 1999. – 59 с.
Советов Б.Я. Моделирование систем/ Советов Б.Я., Яковлев С.А. Учебник для вузов – М.: Высшая школа, 2001. -344 с.
Савина О. А. Имитационное моделирование экономических систем и процессов / Савина О.А, Терентьев С.В. – Орел: ОрелГТУ, 2004 – 172 с.
Томашевский В. Имитационное моделирование в среде GPSS / Томашевский В., Жданова Е. – М.: Бестселлер, 2003. – 416 с.
Шрайбер Т. Дж. Моделирование на GPSS [Текст]: Пер. с англ./Пер. В. И. Гаргера, И. Л. Шмуйловича; Ред. М. А. Файнберг / Т. Дж. Шрайбер – М.: Машиностроение, 1980.— 592 с, ил.
Приложение а Листинг исходной модели
; исходные данные
INITIAL X$t_0,70
INITIAL X$t_1,10
INITIAL X$t_2,15
INITIAL X$t_3,20
INITIAL X$t_4,15
INITIAL X$t_5,3
INITIAL X$t_6,140
INITIAL X$t_7,20
INITIAL X$t_8,180
INITIAL X$pos1,0 ; приёмный пункт
INITIAL X$pos2,1 ; станок 1
INITIAL X$pos3,2 ; станок 2
INITIAL X$progon,0 ; нужно для учёта времени холостого прогона робота к нужному станку
GENERATE (EXPONENTIAL(1,X$t_0#2,(X$t_0)))
QUEUE priem
; ищем робота находящегося возле приёмного пункта
proverka_pos1 TEST NE X$pos1,0,seize_robot1
proverka_pos2 TEST NE X$pos2,0,seize_robot2
proverka_pos3 TEST NE X$pos3,0,seize_robot3
; ищем робота находящегося возле 1-го станка
proverka_pos1_1 TEST NE X$pos1,1,izm_progon1
proverka_pos2_1 TEST NE X$pos2,1,izm_progon2
proverka_pos3_1 TEST NE X$pos3,1,izm_progon3
; ищем робота находящегося возле 2-го станка
proverka_pos1_2 TEST NE X$pos1,2,izm_progon11
proverka_pos2_2 TEST NE X$pos2,2,izm_progon22
proverka_pos3_2 TEST NE X$pos3,2,izm_progon33
; ищем робота находящегося возле 3-го станка
proverka_pos1_3 TEST NE X$pos1,3,izm_progon111
proverka_pos2_3 TEST NE X$pos2,3,izm_progon222
proverka_pos3_3 TEST NE X$pos3,3,izm_progon333
TRANSFER ,proverka_pos1
; определение времени движения ближайшего робота до станка
izm_progon1 SAVEVALUE progon,X$t_1
TRANSFER ,seize_robot1
izm_progon2 SAVEVALUE progon,X$t_1
TRANSFER ,seize_robot2
izm_progon3 SAVEVALUE progon,X$t_1
TRANSFER ,seize_robot3
izm_progon11 SAVEVALUE progon,(X$t_1 + X$t_2)
TRANSFER ,seize_robot1
izm_progon22 SAVEVALUE progon,(X$t_1 + X$t_2)
TRANSFER ,seize_robot2
izm_progon33 SAVEVALUE progon,(X$t_1 + X$t_2)
TRANSFER ,seize_robot3
izm_progon111 SAVEVALUE progon,(X$t_1 + X$t_2 + X$t_3)
TRANSFER ,seize_robot1
izm_progon222 SAVEVALUE progon,(X$t_1 + X$t_2 + X$t_3)
TRANSFER ,seize_robot2
izm_progon333 SAVEVALUE progon,(X$t_1 + X$t_2 + X$t_3)
TRANSFER ,seize_robot3
; моделирование работы робота
seize_robot1 SEIZE robot1
SAVEVALUE pos1,1
DEPART priem
ADVANCE (X$t_1+X$t_4+X$t_5 + X$progon)
RELEASE robot1
TRANSFER ,metka_stanok1
seize_robot2 SEIZE robot2
SAVEVALUE pos2,1
DEPART priem
ADVANCE (X$t_1+X$t_4+X$t_5 + X$progon)
RELEASE robot2
TRANSFER ,metka_stanok1
seize_robot3 SEIZE robot3
SAVEVALUE pos3,1
DEPART priem
ADVANCE (X$t_1+X$t_4+X$t_5 + X$progon)
RELEASE robot3
TRANSFER ,metka_stanok1
;моделирование работы станка
metka_stanok1 QUEUE pered_stankom1
SEIZE stanok1
DEPART pered_stankom1
ADVANCE (normal (1, X$t_6, X$t_7))
RELEASE stanok1
********************************************************************************
QUEUE posle_stanka1
a_proverka_pos1 TEST NE X$pos1,1,a_seize_robot1
a_proverka_pos2 TEST NE X$pos2,1,a_seize_robot2
a_proverka_pos3 TEST NE X$pos3,1,a_seize_robot3
a_proverka_pos1_1 TEST NE X$pos1,0,a_izm_progon1
a_proverka_pos2_1 TEST NE X$pos2,0,a_izm_progon2
a_proverka_pos3_1 TEST NE X$pos3,0,a_izm_progon3
a_proverka_pos1_2 TEST NE X$pos1,2,a_izm_progon11
a_proverka_pos2_2 TEST NE X$pos2,2,a_izm_progon22
a_proverka_pos3_2 TEST NE X$pos3,2,a_izm_progon33
a_proverka_pos1_3 TEST NE X$pos1,3,a_izm_progon111
a_proverka_pos2_3 TEST NE X$pos2,3,a_izm_progon222
a_proverka_pos3_3 TEST NE X$pos3,3,a_izm_progon333
TRANSFER ,a_proverka_pos1
a_izm_progon1 SAVEVALUE progon,X$t_1
TRANSFER ,a_seize_robot1
a_izm_progon2 SAVEVALUE progon,X$t_1
TRANSFER ,a_seize_robot2
a_izm_progon3 SAVEVALUE progon,X$t_1
TRANSFER ,a_seize_robot3
a_izm_progon11 SAVEVALUE progon,X$t_2
TRANSFER ,a_seize_robot1
a_izm_progon22 SAVEVALUE progon,X$t_2
TRANSFER ,a_seize_robot2
a_izm_progon33 SAVEVALUE progon,X$t_2
TRANSFER ,a_seize_robot3
a_izm_progon111 SAVEVALUE progon,(X$t_2 + X$t_3)
TRANSFER ,a_seize_robot1
a_izm_progon222 SAVEVALUE progon,(X$t_2 + X$t_3)
TRANSFER ,a_seize_robot2
a_izm_progon333 SAVEVALUE progon,(X$t_2 + X$t_3)
TRANSFER ,a_seize_robot3
a_seize_robot1 SEIZE robot1
SAVEVALUE pos1,2
DEPART posle_stanka1
ADVANCE (X$t_2+X$t_4+X$t_5 + X$progon)
RELEASE robot1
TRANSFER ,a_metka_stanok2
a_seize_robot2 SEIZE robot2
SAVEVALUE pos2,2
DEPART posle_stanka1
ADVANCE (X$t_2+X$t_4+X$t_5 + X$progon)
RELEASE robot2
TRANSFER ,a_metka_stanok2
a_seize_robot3 SEIZE robot3
SAVEVALUE pos3,2
DEPART posle_stanka1
ADVANCE (X$t_2+X$t_4+X$t_5 + X$progon)
RELEASE robot3
TRANSFER ,a_metka_stanok2
a_metka_stanok2 QUEUE pered_stankom2
SEIZE stanok2
DEPART pered_stankom2
ADVANCE (EXPONENTIAL(1,0,(1/X$t_8)))
RELEASE stanok2
********************************************************************************
QUEUE posle_stanka2
b_proverka_pos1 TEST NE X$pos1,2,b_seize_robot1
b_proverka_pos2 TEST NE X$pos2,2,b_seize_robot2
b_proverka_pos3 TEST NE X$pos3,2,b_seize_robot3
b_proverka_pos1_1 TEST NE X$pos1,1,b_izm_progon1
b_proverka_pos2_1 TEST NE X$pos2,1,b_izm_progon2
b_proverka_pos3_1 TEST NE X$pos3,1,b_izm_progon3
b_proverka_pos1_2 TEST NE X$pos1,3,b_izm_progon11
b_proverka_pos2_2 TEST NE X$pos2,3,b_izm_progon22
b_proverka_pos3_2 TEST NE X$pos3,3,b_izm_progon33
b_proverka_pos1_3 TEST NE X$pos1,0,b_izm_progon111
b_proverka_pos2_3 TEST NE X$pos2,0,b_izm_progon222
b_proverka_pos3_3 TEST NE X$pos3,0,b_izm_progon333
TRANSFER ,b_proverka_pos1
b_izm_progon1 SAVEVALUE progon,X$t_2
TRANSFER ,b_seize_robot1
b_izm_progon2 SAVEVALUE progon,X$t_2
TRANSFER ,b_seize_robot2
b_izm_progon3 SAVEVALUE progon,X$t_2
TRANSFER ,b_seize_robot3
b_izm_progon11 SAVEVALUE progon,X$t_3
TRANSFER ,b_seize_robot1
b_izm_progon22 SAVEVALUE progon,X$t_3
TRANSFER ,b_seize_robot2
b_izm_progon33 SAVEVALUE progon,X$t_3
TRANSFER ,b_seize_robot3
b_izm_progon111 SAVEVALUE progon,(X$t_1 + X$t_2)
TRANSFER ,b_seize_robot1
b_izm_progon222 SAVEVALUE progon,(X$t_1 + X$t_2)
TRANSFER ,b_seize_robot2
b_izm_progon333 SAVEVALUE progon,(X$t_1 + X$t_2)
TRANSFER ,b_seize_robot3
b_seize_robot1 SEIZE robot1
SAVEVALUE pos1,3
DEPART posle_stanka2
ADVANCE (X$t_3+X$t_4+X$t_5 + X$progon)
RELEASE robot1
TRANSFER ,konec
b_seize_robot2 SEIZE robot2
SAVEVALUE pos2,3
DEPART posle_stanka2
ADVANCE (X$t_3+X$t_4+X$t_5 + X$progon)
RELEASE robot2
TRANSFER ,konec
b_seize_robot3 SEIZE robot3
SAVEVALUE pos3,3
DEPART posle_stanka2
ADVANCE (X$t_3+X$t_4+X$t_5 + X$progon)
RELEASE robot3
konec TERMINATE
main GENERATE 28800
TERMINATE 1
start 10
