Имитационное моделирование (GPSS)




************************Исходные данные**************************************

*-------------Описание структуры-----------------------------------

Sklad STORAGE 50;Емкость склада: min=2хQхW_oper/Emk_jas= 2х50x5/10=50 (ячеек под ящики)

Nak0_zag STORAGE 500;Емкость входного порта склада(ячеек под ящики с заготовками)

Nak0_det STORAGE 500;Емкость выходного порта склада(ячеек под ящики с готовыми дет.)

Nak1 STORAGE 1;Емкость выходного(готовых деталей)накопителя РП1

Nak2 STORAGE 13;

Nak3 STORAGE 7;

Nak4 STORAGE 12;

Nak5 STORAGE 4;

*-------------Показ-ли назн.-----------

T_mod EQU 240000;Т моделирования =Тф =4000 ч

t_Tr_min EQU 0.5;Минимально возможное вр.цикла(рейс в оду сторону)тележки:2t_пер+t_езды_min)]= 0,25х2+1=1,5 мин

t_Tr EQU 0.05;Ср.приращение вр.цикла тележки (t_езды_ср-t_езды_min)]= 1,5-1=0,5 мин.обсл.заявки-ящика от основных РП с учетом смещения(-3,5):0,25х4+0,5х2=2-1,5=0,5

t_Kran EQU 0.3;Вр.цикла КШ склада (забрать или выдать)t_скл= 1 мин

 

N_zajav EQU 6000;Кол. заявок-ящиков от каждого источника-РП = N/Q_tr = 60000/10=6000

Q_tr EQU 10;Р-р тр.партии, может совпадать с емкостью тр.оснастки

 

Q_jas EQU 5;Р-р партии в пересчете на ящики (Q/Emk_jas=50/10=5)

*t_Tel EQU 2;Вр.цикла тр.тележки: перегр+туда+там+обратно+перегр (0.2+0.5+0.6+0.5+0.2= 2 мин)

 

*T_post EQU 23.8;Ср.периодичность пост.заявок:[(t_маш+t_уст)хQ_tr+(t_тр+t_скл)]+(t_тр+t_скл)]=[(1,38+0,2)10+(2+2)]+(2+2)]=23.8 мин

*T_post EQU 36;Ср.периодичность пост.заявок:(t_маш/Кмаш)хQ_tr=(1,38/0,38)10=36 мин

*-------------Время машинное tмаш-------------------------

T_1 EQU 0.08;Вр.t_маш

T_2 EQU 1.59;

T_3 EQU 0.496;

T_4 EQU 3.75;

T_5 EQU 1;пост ОТК

T_0 EQU 0.035;порт склада внешний: t_пер/Q_tr=0,35/10=0,035, всего 2х6000 ящиков (отдельно заполнение партии заготовок и отд.освобож.от партии дет.)

*-------------Показатели надежности РП основных операций-------------------------

t_otk3 EQU 43200;Вр.наработки на отказ РП3 по сумме маш.вр.(720 ч). Учитываем имитационно

*t_otk1 EQU 43200;Для этой и ост. РП пока не используем. Учтено расчетно в T_post(i)через Кз(i), включающего Крем(i)

 

t_rem3 EQU 180; вр. ремонта РП1 (6 ч)

*t_rem1 EQU 360

;-------------Подготовка расчетных ИД-------

T_post1 FVARIABLE ((T_1)#Q_tr)/(0.404);Ср.вр.между поступлением заявок-палет = tмаш(i)xQ_тр/Кз(i) = 0,08x10/0,404=1,98 мин

T_post2 FVARIABLE ((T_2)#Q_tr)/(0.413);1,59x10/0,413=38,5

T_post3 FVARIABLE ((T_3)#Q_tr)/(0.439);0.496x10/0,439=11.3

T_post4 FVARIABLE ((T_4)#Q_tr)/(0.95);3.75x10/0,95=39.47

T_post5 FVARIABLE ((T_5)#Q_tr)/(0.995);1x10/0,955=10.47

*T_post0 FVARIABLE ((T_0)#Q_tr)/0.019;0,035x10/0,019=18.42, нет ничего,кроме Кмаш=0,019, о.о, орг.

;Тпост.ср =20.02

*-------------Начальное состояние--------------------------------------

INITIAL X$N_zajav0,0;Тек.кол.выполненных заявок (Qт,ящиков) РП0, в год.плане Max=6000

INITIAL X$N_zajav1,0;Max=12000 (6000-прием заг.+6000-выдача дет.)

INITIAL X$N_zajav2,0;Max=6000

INITIAL X$N_zajav3,0;Max=6000

INITIAL X$N_zajav4,0;Max=6000

INITIAL X$N_zajav5,0;Max=6000

INITIAL X$T_nar3,0;Сумм.вр.маш.работы РП3 после последнего отказа (текущая наработка)

INITIAL X$Tt_otk3,t_otk3;Вр.,через которое откажет РП3

*-------------Изм.базы генерации для опр.дисперсии результатов и з-на распред.---------

N_G EQU 1;начальный № всех генераторов

************************Сегмент остановки моделирования***********************************

*-------------Задание вр. моделирования----------------------------

GENERATE T_mod

*-------------Расчет производных результатов после остановки моделирования---

* SAVEVALUE K_ocer3,(SR$Nak3/50);К-т простоя в очереди для источника-РП3 - дублирование отчета

*-------------Окончание моделирования----------------------------

TERMINATE 1

START 1

************************Сегмент основной - генерация заявок-паллет *************

*-----------------------РП0(порт склада внешний)---------------------

*-------------Сегмент потока партий (внешнее заполнение и изъятие из склада)-----------------------

GENERATE (Exponential(N_G,0,480)),0,1,394,1;Tф*60/N*Q=4000*60/60000*50=200 мин,принимаем 240, т.е.2 раза в день, загр. и выгр. партий за раз.

SPLIT (Q_jas-1),Met0;Генерация кол.ящиков для данной партии

Met0 ENTER Nak0_zag

ADVANCE ((T_0)#Q_tr);Вр.перегрузки ящика в накопитель порта склада 0,01x10=0,1

QUEUE Ocer_TNS

SEIZE Kran

DEPART Ocer_TNS

ADVANCE t_Kran

LEAVE Nak0_zag

ENTER Sklad;Поместить ящик с заг. в склад

RELEASE Kran

 

SAVEVALUE N_zajav0+,1

TEST NE X$N_zajav0,(N_zajav#2),Stop0

 

GATHER Q_jas

 

QUEUE Ocer_TNS

SEIZE Kran

DEPART Ocer_TNS

ADVANCE t_Kran

LEAVE Sklad;Удалить ящик с готовыми дет.из склада

ENTER Nak0_det

RELEASE Kran

ADVANCE ((T_0)#Q_tr)

LEAVE Nak0_det;

 

SAVEVALUE N_zajav0+,1

TEST NE X$N_zajav0,(N_zajav#2),Stop0

 

ASSEMBLE Q_jas

TERMINATE

 

Stop0 SAVEVALUE T_stop0,AC1

TERMINATE

*-----------------------РП1(ток)-------------------------------------

GENERATE,,,6000,1

Metka1 ENTER Nak1

ADVANCE (Exponential(N_G,0,V$T_post1))

 

QUEUE Ocer_TNS

 

SEIZE Telegka

SEIZE Kran

DEPART Ocer_TNS

ADVANCE ((Exponential(N_G,t_Tr_min,t_Tr))#2)

ADVANCE (t_Kran#2)

LEAVE Nak1

RELEASE Telegka

RELEASE Kran

 

SAVEVALUE N_zajav1+,1

TEST NE X$N_zajav1,N_zajav,Stop1

*SPLIT 1,Metka1

TERMINATE

 

Stop1 SAVEVALUE T_stop1,AC1

TERMINATE

*-----------------------РП2(ток)-------------------------------------

GENERATE,,,6000,1

Metka2 ENTER Nak2

ADVANCE (Exponential(N_G,0,V$T_post2))

 

QUEUE Ocer_TNS

 

SEIZE Telegka

SEIZE Kran

DEPART Ocer_TNS

ADVANCE ((Exponential(N_G,t_Tr_min,t_Tr))#2)

ADVANCE (t_Kran#2)

LEAVE Nak2

RELEASE Telegka

RELEASE Kran

 

SAVEVALUE N_zajav2+,1

TEST NE X$N_zajav2,N_zajav,Stop2

*SPLIT 1,Metka2

TERMINATE

 

Stop2 SAVEVALUE T_stop2,AC1

TERMINATE

*-----------------------РП3(токарная)

GENERATE,,,6000,1;Генерация кол.объектов, выставляющих заявки и приоритета

SAVEVALUE T_post3,V$T_post3;Перевод пер. в сохраняемую

Metka3 ENTER Nak3

ADVANCE (Exponential(N_G,0,V$T_post3));Обработка на РП

*-------------Отказы---------------

SAVEVALUE T_nar3+,(T_3#Q_tr);Для учета фактора отказов

TEST GE X$T_nar3,X$Tt_otk3,Met3;Проверка: РП3 уже должена отказать?

SEIZE Remontnik

ADVANCE (Exponential(N_G,0,t_rem3))

RELEASE Remontnik

SAVEVALUE T_nar3,0;Обнуление счетчика вр. после последнего отказа

SAVEVALUE Tt_otk3,(Exponential(N_G,0,t_otk3));Расчет нового значения вр.будущего отказа

*----------------------------------

Met3 QUEUE Ocer_TNS

SEIZE Telegka

SEIZE Kran;

DEPART Ocer_TNS

ADVANCE ((Exponential(N_G,t_Tr_min,t_Tr))#2)

ADVANCE (t_Kran#2)

LEAVE Nak3

RELEASE Telegka

RELEASE Kran

*-------------Проверка на выполнение программы---------------

SAVEVALUE N_zajav3+,1

TEST NE X$N_zajav3,N_zajav,Metka3

SAVEVALUE T_stop3,AC1

TERMINATE

*-------------Замыкание потока-------

Cikl3 SPLIT 1,Metka3;Порождение от заявки-родителя (1 шт) доп.копий (1 шт)

TERMINATE

 

*-----------------------РП4(фрезерная)- С ХАРКТЕРИСТИКАМИ СРЕДНЕЙ РП-------

GENERATE,,,6000,1

Metka4 ENTER Nak4

ADVANCE (Exponential(N_G,0,V$T_post4))

 

QUEUE Ocer_TNS

SEIZE Telegka

SEIZE Kran

DEPART Ocer_TNS

ADVANCE ((Exponential(N_G,t_Tr_min,t_Tr))#2/5)

ADVANCE (t_Kran#2)

LEAVE Nak4

RELEASE Telegka

RELEASE Kran

 

SAVEVALUE N_zajav4+,1

TEST NE X$N_zajav4,N_zajav,Stop4

*SPLIT 1,Metka4

TERMINATE

 

Stop4 SAVEVALUE T_stop4,AC1

TERMINATE

 

*-----------------------РП5(пост ОТК)-------------------------------------

GENERATE,,,6000,1

Metka5 ENTER Nak5

ADVANCE (Exponential(N_G,0,V$T_post5))

 

QUEUE Ocer_TNS

 

SEIZE Telegka

SEIZE Kran

DEPART Ocer_TNS

ADVANCE ((Exponential(N_G,t_Tr_min,t_Tr))#2)

ADVANCE (t_Kran#2)

LEAVE Nak5

RELEASE Telegka

RELEASE Kran

 

SAVEVALUE N_zajav5+,1

TEST NE X$N_zajav5,N_zajav,Stop5

*SPLIT 1,Metka5

TERMINATE

 

Stop5 SAVEVALUE T_stop5,AC1

TERMINATE

 

GPSS World Simulation Report - Untitled Model 1.1.1

 

 

Monday, May 27, 2013 22:47:12

 

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 240000.000 125 2 8

 

 

NAME VALUE

CIKL3 90.000

KRAN 10039.000

MET0 5.000

MET3 77.000

METKA1 33.000

METKA2 50.000

METKA3 68.000

METKA4 93.000

METKA5 110.000

NAK0_DET 10002.000

NAK0_ZAG 10001.000

NAK1 10003.000

NAK2 10004.000

NAK3 10005.000

NAK4 10006.000

NAK5 10007.000

N_G 1.000

N_ZAJAV 6000.000

N_ZAJAV0 10028.000

N_ZAJAV1 10029.000

N_ZAJAV2 10030.000

N_ZAJAV3 10031.000

N_ZAJAV4 10032.000

N_ZAJAV5 10033.000

OCER_TNS 10037.000

Q_JAS 5.000

Q_TR 10.000

REMONTNIK UNSPECIFIED

SKLAD 10000.000

STOP0 30.000

STOP1 47.000

STOP2 64.000

STOP4 107.000

STOP5 124.000

TELEGKA 10038.000

TT_OTK3 10035.000

T_0 0.035

T_1 0.080

T_2 1.590

T_3 0.496

T_4 3.750

T_5 1.000

T_KRAN 0.300

T_MOD 240000.000

T_NAR3 10034.000

T_OTK3 43200.000

T_POST1 10023.000

T_POST2 10024.000

T_POST3 10025.000

T_POST4 10026.000

T_POST5 10027.000

T_REM3 180.000

T_STOP0 UNSPECIFIED

T_STOP1 10044.000

T_STOP2 10041.000

T_STOP3 10040.000

T_STOP4 10042.000

T_STOP5 10043.000

T_TR 0.050

T_TR_MIN 0.500

 

 

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 1 0 0

2 TERMINATE 1 0 0

3 GENERATE 394 0 0

4 SPLIT 394 0 0

MET0 5 ENTER 1970 0 0

6 ADVANCE 1970 0 0

7 QUEUE 1970 0 0

8 SEIZE 1970 0 0

9 DEPART 1970 0 0

10 ADVANCE 1970 0 0

11 LEAVE 1970 0 0

12 ENTER 1970 0 0

13 RELEASE 1970 0 0

14 SAVEVALUE 1970 0 0

15 TEST 1970 0 0

16 GATHER 1970 0 0

17 QUEUE 1970 0 0

18 SEIZE 1970 0 0

19 DEPART 1970 0 0

20 ADVANCE 1970 0 0

21 LEAVE 1970 0 0

22 ENTER 1970 0 0

23 RELEASE 1970 0 0

24 ADVANCE 1970 0 0

25 LEAVE 1970 0 0

26 SAVEVALUE 1970 0 0

27 TEST 1970 0 0

28 ASSEMBLE 1970 0 0

29 TERMINATE 394 0 0

STOP0 30 SAVEVALUE 0 0 0

31 TERMINATE 0 0 0

32 GENERATE 6000 0 0

METKA1 33 ENTER 6000 0 0

34 ADVANCE 6000 0 0

35 QUEUE 6000 0 0

36 SEIZE 6000 0 0

37 SEIZE 6000 0 0

38 DEPART 6000 0 0

39 ADVANCE 6000 0 0

40 ADVANCE 6000 0 0

41 LEAVE 6000 0 0

42 RELEASE 6000 0 0

43 RELEASE 6000 0 0

44 SAVEVALUE 6000 0 0

45 TEST 6000 0 0

46 TERMINATE 5999 0 0

STOP1 47 SAVEVALUE 1 0 0

48 TERMINATE 1 0 0

49 GENERATE 6000 0 0

METKA2 50 ENTER 6000 0 0

51 ADVANCE 6000 0 0

52 QUEUE 6000 0 0

53 SEIZE 6000 0 0

54 SEIZE 6000 0 0

55 DEPART 6000 0 0

56 ADVANCE 6000 0 0

57 ADVANCE 6000 0 0

58 LEAVE 6000 0 0

59 RELEASE 6000 0 0

60 RELEASE 6000 0 0

61 SAVEVALUE 6000 0 0

62 TEST 6000 0 0

63 TERMINATE 5999 0 0

STOP2 64 SAVEVALUE 1 0 0

65 TERMINATE 1 0 0

66 GENERATE 6000 0 0

67 SAVEVALUE 6000 0 0

METKA3 68 ENTER 6001 0 0

69 ADVANCE 6001 0 0

70 SAVEVALUE 6001 0 0

71 TEST 6001 0 0

72 SEIZE 0 0 0

73 ADVANCE 0 0 0

74 RELEASE 0 0 0

75 SAVEVALUE 0 0 0

76 SAVEVALUE 0 0 0

MET3 77 QUEUE 6001 0 0

78 SEIZE 6001 0 0

79 SEIZE 6001 0 0

80 DEPART 6001 0 0

81 ADVANCE 6001 0 0

82 ADVANCE 6001 0 0

83 LEAVE 6001 0 0

84 RELEASE 6001 0 0

85 RELEASE 6001 0 0

86 SAVEVALUE 6001 0 0

87 TEST 6001 0 0

88 SAVEVALUE 6000 0 0

89 TERMINATE 6000 0 0

CIKL3 90 SPLIT 0 0 0

91 TERMINATE 0 0 0

92 GENERATE 6000 0 0

METKA4 93 ENTER 6000 0 0

94 ADVANCE 6000 0 0

95 QUEUE 6000 0 0

96 SEIZE 6000 0 0

97 SEIZE 6000 0 0

98 DEPART 6000 0 0

99 ADVANCE 6000 0 0

100 ADVANCE 6000 0 0

101 LEAVE 6000 0 0

102 RELEASE 6000 0 0

103 RELEASE 6000 0 0

104 SAVEVALUE 6000 0 0

105 TEST 6000 0 0

106 TERMINATE 5999 0 0

STOP4 107 SAVEVALUE 1 0 0

108 TERMINATE 1 0 0

109 GENERATE 6000 0 0

METKA5 110 ENTER 6000 0 0

111 ADVANCE 6000 0 0

112 QUEUE 6000 0 0

113 SEIZE 6000 0 0

114 SEIZE 6000 0 0

115 DEPART 6000 0 0

116 ADVANCE 6000 0 0

117 ADVANCE 6000 0 0

118 LEAVE 6000 0 0

119 RELEASE 6000 0 0

120 RELEASE 6000 0 0

121 SAVEVALUE 6000 0 0

122 TEST 6000 0 0

123 TERMINATE 5999 0 0

STOP5 124 SAVEVALUE 1 0 0

125 TERMINATE 1 0 0

 

 

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

TELEGKA 30001 0.192 1.535 1 0 0 0 0 0

KRAN 33941 0.195 1.382 1 0 0 0 0 0

 

 

QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

OCER_TNS 32 0 33941 4742 2.578 18.226 21.186 0

 

 

STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY

SKLAD 50 50 0 10 1970 1 0.016 0.000 0 0

NAK0_ZAG 500 500 0 10 1970 1 0.012 0.000 0 0

NAK0_DET 500 500 0 2 1970 1 0.003 0.000 0 0

NAK1 1 1 0 1 6000 1 0.222 0.222 0 0

NAK2 13 13 0 13 6000 1 1.708 0.131 0 0

NAK3 7 7 0 7 6001 1 0.980 0.140 0 0

NAK4 12 12 0 12 6000 1 1.678 0.140 0 0

NAK5 4 4 0 4 6000 1 0.693 0.173 0 0

 

 

SAVEVALUE RETRY VALUE

T_POST3 0 11.298

N_ZAJAV0 0 3940.000

N_ZAJAV1 0 6000.000

N_ZAJAV2 0 6000.000

N_ZAJAV3 0 6001.000

N_ZAJAV4 0 6000.000

N_ZAJAV5 0 6000.000

T_NAR3 0 29764.960

TT_OTK3 0 43200.000

T_STOP3 0 33623.035

T_STOP2 0 31605.109

T_STOP4 0 33676.885

T_STOP5 0 41597.403

T_STOP1 0 53311.004

 

 

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

31972 0 480000.000 31972 0 1

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-26 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: