Weight FUNCTION RN1,C8 ;Вес компонента (кг). 
0.0,3/.13,6/.25,11/.50,20/.70,28/.85,35/.95,42/1.0,50 
Ordertype FUNCTION RN1,D2 ;Новый заказ P1=1. Повторный заказ P1=2. 
0.3,1/1.0,2 
Size VARIABLE RN1@19+6 ;Размер заказа. 
Ddate VARIABLE V$Mtime#P2+RN1@121+40+C1 ;Срок выполнения. 
Mtime VARIABLE (P3#2) ;Время формовки компонента. 
Day VARIABLE (C1/480) ;Индикатор рабочего дня. 
Total VARIABLE P3#P2 ;Масса заказа. 
Times TABLE M1,400,400,20 ;Транзитное время. 
Cast TABLE X$Wtmold,400,400,20 ;Отлитая масса. 
Molders STORAGE 18 ;Количество работающих литейщиков. 
GENERATE (Exponential(1,0,60)) ;Заказы поступают каждый час. 
ASSIGN 1,FN$Ordertype ;Тип заказа. 
TEST E P1,2,Newjob ;Повторный заказ? 
ADVANCE 300,180 ;Поиск формы. 
Commence ASSIGN 2,V$Size ;Размер заказа. 
ASSIGN 3,FN$Weight ;Масса компонента. 
ASSIGN 4,V$Mtime ;Время формовки компонента. 
ASSIGN 5,V$Ddate ;Срок выполнения. 
ASSIGN 6,V$Total ;Общая масса заказа. 
GATE SNF Molders,Wait ;Есть свободные литейщики? 
Beg ENTER Molders ;Литейщик приступает к заказу. 
ASSIGN 7,P2 ;P7=Количество компонентов в заказе. 
Next ADVANCE P4 ;Время формовки компонента. 
LOOP 7,Next ;Цикл повторяется для всех компонентов. 
LEAVE Molders ;Литейщик освобождается, заказ выполнен. 
SAVEVALUE Wtmold+,P6 ;Суммируется масса, отлитая в каждом заказе. 
UNLINK 1,Beg,1 ;Выдается следующий заказ. 
TABULATE Times ;Табулируется транзитное время. 
TERMINATE ;Транзакт уничтожается. 
Newjob ADVANCE 4320,1440 ;Время изготовления формы. 
TRANSFER ,Commence ;Переход к началу выполнения заказа. 
Wait LINK 1,P5 ;Поместить ожидающие выполнения заказы в список 1. 
GENERATE 420,,,1,2 ;Начало цикла отливки. 
Again SUNAVAIL Molders ;Обозначается начало цикла отливки. 
ADVANCE 60 ;Цикл отливки длится 60 минут. 
SAVAIL Molders ;Литейщики могут продолжить формовку. 
ADVANCE 420 ;420 минут проходит перед началом отливки. 
TABULATE Cast ;Записывается общая отлитая масса. 
SAVEVALUE Totcast+,X$Wtmold ;Накапливается отлитая до настоящего времени масса. 
SAVEVALUE Wtmold,0 ;Каждый день сбрасывается в 0. 
TRANSFER ,Again ;Транзакт снова возвращается. 
GENERATE 4800,,,,4 ;Транзакт каждые 10 дней. 
SAVEVALUE V$Day,X$Totcast ;Записывается общая отлитая масса. 
TERMINATE 1 ;Транзакт уничтожается.
START 1

Результаты моделирования.



2015-11-18 • Просмотров [ 195 ]