sortDetali table P4,2,1,6 ;raspredelenie pervichnoy i vtorichnoy obrabotki
timeDetali table P3,0,1,53 ;raspredelenie vremeni operaciy
GENERATE 10,5,,400
ASSIGN 4,0 ;2 - pervichnaya obrabotka (cementaciya i zakalivanie)
;3 - pervichnaya + povtornaya (zakalivanie)
;4 - pervichnaya + povtornaya (cementaciya и zakalivanie)
;5 - pervichnaya + povtornaya + (zakalivanie)
;6 - pervichnaya + povtornaya + (zakalivanie) + (zakalivanie)
met1 ASSIGN 1,AC1
ADVANCE 6,5 ;cementaciya
ASSIGN 1,(AC1-P1)
ASSIGN 4+,1
met2 ASSIGN 2,AC1
ADVANCE 6,4 ;zakalivanie
ASSIGN 2,(AC1-P2)
ASSIGN 4+,1
ASSIGN 3+,(P1+P2)
ASSIGN 1,0
TEST E P4,2,met3
TEST L P3,25,met3
TEST L P3,20,met2
TRANSFER ,met1
met3 ASSIGN sort,(2-((P3\20)&1))
TEST NE P$sort,1,met4
TEST GE x1,(x2#9),met2 ;meropriyatiya, dayuschie vihod produkcii 1go sorta 90%.
met4 SAVEVALUE P$sort+,1
TABULATE sortDetali
TABULATE timeDetali
TERMINATE 1
start 400
GPSS и проблема в коде
Задание 6.
На участке термической обработки выполняются цементация и закаливание шестерен,
поступающих через 10 ± 5 мин. Цементация занимает 10 ± 7 мин, а закаливание - 10 ± б мин.
Качество определяется суммарным временем обработки. Шестерни с временем обработки больше 25 мин
покидают участок, с временем обработки от 20 до 25 мин передаются на повторную закалку и при времени
обработки меньше 20 мин должны пройти повторную полную обработку. Детали с суммарным временем
обработки меньше 20 мин считаются вторым сортом.
Смоделировать процесс обработки на участке 400 шестерен. Определить функцию распределения времени
обработки и вероятности повторения полной и частичной обработки. При выходе продукции без повторной
обработки менее 90% обеспечить на участке мероприятия, дающие гарантированный выход продукции
первого сорта 90%.
Код:
В этом коде запись абсолютного времени идет в параметры транзакта, в своем же коде я применял MARK и потом уже все условия сравнивал с М1. Идея вышеприведенного кода мне понравилась и решил использовать ее самому, отказавшись от MARK :)
Вот мой код:
Код:
sortDetali table P4,2,1,6
timeDetali table P3,0,1,53
GENERATE 10,5,,400
ASSIGN 4,0
CEMQ ASSIGN 1,AC1
QUEUE CEMENT
SEIZE CEM
DEPART CEMENT
ADVANCE 10,7
RELEASE CEM
ASSIGN 1,(AC1-P1)
ASSIGN 4+,1
ZAKQ ASSIGN 2,AC1
QUEUE ZAKAL
SEIZE ZAK
DEPART ZAKAL
ADVANCE 10,6
RELEASE ZAK
ASSIGN 2,(AC1-P2)
ASSIGN 4+,1
ASSIGN 3+,(P1+P2)
ASSIGN 1,0
ASSIGN 2,0
TEST E P4,2,SORT
TEST L P3,25,SORT
TEST L P3,20,ZAKQ
TRANSFER ,CEMQ
SORT ASSIGN sort,(2-((P3\20)&1))
TEST NE P$sort,1,met1
TEST GE x1,(x2#9),ZAKQ
met1 SAVEVALUE P$sort+,1
TABULATE sortDetali
TABULATE timeDetali
TERMINATE 1
START 400
timeDetali table P3,0,1,53
GENERATE 10,5,,400
ASSIGN 4,0
CEMQ ASSIGN 1,AC1
QUEUE CEMENT
SEIZE CEM
DEPART CEMENT
ADVANCE 10,7
RELEASE CEM
ASSIGN 1,(AC1-P1)
ASSIGN 4+,1
ZAKQ ASSIGN 2,AC1
QUEUE ZAKAL
SEIZE ZAK
DEPART ZAKAL
ADVANCE 10,6
RELEASE ZAK
ASSIGN 2,(AC1-P2)
ASSIGN 4+,1
ASSIGN 3+,(P1+P2)
ASSIGN 1,0
ASSIGN 2,0
TEST E P4,2,SORT
TEST L P3,25,SORT
TEST L P3,20,ZAKQ
TRANSFER ,CEMQ
SORT ASSIGN sort,(2-((P3\20)&1))
TEST NE P$sort,1,met1
TEST GE x1,(x2#9),ZAKQ
met1 SAVEVALUE P$sort+,1
TABULATE sortDetali
TABULATE timeDetali
TERMINATE 1
START 400
А теперь вопросы - что дает эта строчка - "TEST GE x1,(x2#9),ZAKQ" ? что это за переменные x1 и x2 и почему x2 умножается на 9 ?
Так же хотелось бы уточнить - это нормально, что при начальных данных выход продукции 1 сорта или 100% или почти 100%? так как в коде, который я нашел начальные данные о задержках в устройствах цементации и закаливания уменьшены и поэтому выход 2 сорта идет больше.
И как определить функцию распределения времени обработки и веро*ятности повторения полной и частичной обработки - использовать данные из таблиц?
Буду очень признателен откликнувшимся. Спасибо.