Смекни!
smekni.com

Моделирование процесса сборки изделий на GPSS (стр. 2 из 3)

Обычно последним шагом перед началом машинной реализацией модели является проверка достоверности схемы модели, чтобы получить результаты, адекватные тем, которые могли быть получены при проведении натурального эксперимента с реальной системой.

В рассматриваемой задаче проверка достоверности проводится просто, так как блок – диаграмма GPSS однозначно соответствует формализации модели в виде Q-схемы. Для этого достаточно ещё раз сопоставить блок – диаграмму с Q-схемой модели с учётом расширения описания элементов Q-схемы (источников, накопителей и каналов) блоками различных категорий GPSS.


Рис. 2. Блок – диаграмма GPSS исследуемой системы.


Текст программы.

При достаточной подробности схемы программы, отражающей все операции логической схемы модели, можно приступить к программированию модели.

Для данного задания, переход от блок – диаграммы GPSS к программе, является формальным шагом, так как заключается в записи пространственной структуры в линейной виде, что не требует специальных навыков. Следующая GPSS – программа получена из блок – диаграммы.

NN1 STORAGE 10 //выделение 10 памяти для NN1

NN2 STORAGE 10 //выделение 10 памяти для NN2

MET1 GENERATE 5,1 //интервал поступления деталей 1-ого типа

SPLIT 4 //копирование 4 деталей, 5 деталей идет далее.

QUEUEQUE1 //занятие очереди QUE1

ENTERNN1 //вход в накопитель NN1

DEPART QUE1 //освобождение очереди QUE1

SAVEVALUE 1+,1 //увеличивает и сохраняет значение

TESTEQ1,10,MET3 //проверяем условие: если Q1=10, то переход к метке MET3

LEAVENN1,10 //освобождает 10 единиц памяти в накопителе NN1

TERMINATE 9 //уничтожение 9 транзактов

MET2 GENERATE 20.7 //интервал поступления деталей 2-ого типа

SPLIT 19 //копирование 19 деталей 20 деталей идут далее.

QUEUEQUE2 //занятие очереди QUE2

ENTERNN2 //вход в накопитель NN2

DEPARTQUE2 //освобождение очереди QUE2

TESTEQ2,10,MET3 //проверяем условие: если Q2=10, то переход к метке MET3

LEAVENN2,10 // освобождает 10 единиц памяти в накопителе NN2

TERMINATE 9 //уничтожение 9 транзактов

MET3 SEIZEKAN //занятие канала KAN

ADVANCE 10 //обработка в канале KAN

RELEASEKAN //освобождение KAN

TERMINATE //уничтожение транзакта

GENERATE 480 //время работы конвейера

TERMINATE 1 //уничтожение транзакта

START 1

END


Описание текста программы.

Выделяем память под накопитель NN1 равную 10 и NN2 равную 10.

После этого в метке MET 1 начинается генерация транзактов с частотой 5±1. При помощи блока SPLIT создается 4 копии, а 5 транзактов идут далее через очередь в накопитель NN1. Блоком SAVEVALUE увеличиваем значение. При помощи блока TEST проверяем значение, если наличие деталей равно 10, то значение передается в метку MET 3. Далее идет освобождение в памяти NN1 10 единиц памяти уничтожение 9 транзактов.

В метке MET 2 начинается генерация транзактов с частотой 20±7. При помощи блок SPLIT создается 19 копии, а 20 транзактов идут далее через очередь в накопитель NN2. При помощи блок TEST проверяем значение, если наличие деталей равно 10, то значение передается в метку MET 3. Далее идет освобождение в памяти NN2 10 единиц памяти уничтожение 9 транзактов.

В метку MET 3 поступают детали с MET 1 и MET 2 в количестве 10 штук каждого типа и обрабатываются в течение 10 минут и удаляются из системы.

Один транзакт генерируется через интервал 480 минут времени.

Блок TERMINATE удаляет 1 транзакт из системы и вычитается 1 из счетчика числа завершенной карты START.


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

Получение и интерпретация результатов исследования – это третий этап моделирования, когда инструментальная ПЭВМ используется для проведения рабочих расчётов по составленной и отлаженной программе. Результаты этих расчётов позволяют провести анализ и сформулировать выводы о характеристиках процесса функционирования моделируемой системы. При реализации моделирующих алгоритмов на ПЭВМ вырабатывается информация о состояниях процесса функционирования исследуемой системы, которая является исходным материалом для приближённой оценки искомых характеристик, получаемых в результате имитационного эксперимента с моделью.

В результате прогона модели были получены следующие результаты:

REAL_TIME START END_TIME BLOCKS FACIL. STORAG. QUEUE

00:00 0 480 23 1 2 2

______________________________________________________

1 | N=96 ¦ W=0 | GENERATE ¦ 5 ¦ 1

2 | N=480 ¦ W=0 | SPLIT ¦ 4

3 | N=480 ¦ W=470 | QUEUE ¦ QUE1

4 | N=10 ¦ W=0 | ENTER ¦ NN1

5 | N=10 ¦ W=0 | DEPART ¦ QUE1

6 | N=10 ¦ W=0 | SAVEVALUE ¦ 1+ ¦ 1

7 | N=10 ¦ W=0 | TEST E ¦ Q1 ¦ 10 ¦ MET3

8 | N=0 ¦ W=0 | LEAVE ¦ NN1 ¦ 10

9 | N=0 ¦ W=0 | TERMINATE ¦ 9

10 | N=24 ¦ W=0 | GENERATE ¦ 20 ¦ 7

11 | N=480 ¦ W=0 | SPLIT ¦ 19

12 | N=480 ¦ W=470 | QUEUE ¦ QUE2

13 | N=10 ¦ W=0 | ENTER ¦ NN2

14 | N=10 ¦ W=0 | DEPART ¦ QUE2

15 | N=10 ¦ W=0 | TEST E ¦ Q2 ¦ 10 ¦ MET3

16 | N=0 ¦ W=0 | LEAVE ¦ NN2 ¦ 10

17 | N=0 ¦ W=0 | TERMINATE ¦ 9

18 | N=20 ¦ W=0 | SEIZE ¦ KAN

19 | N=20 ¦ W=0 | ADVANCE ¦ 10

20 | N=20 ¦ W=0 | RELEASE ¦ KAN

21 | N=20 ¦ W=0 | TERMINATE

22 | N=1 ¦ W=0 | GENERATE ¦ 480

23 | N=1 ¦ W=0 | TERMINATE ¦ 1

______________________________________________________

FACILITY ENTRIES UTIL. AVE.TIME

KAN 20 0,4167 10,0000

______________________________________________________

QUEUE MAX CONT. ENTRIES ENTRIES(0)AVE.CONT AVE.TIME

QUE1 470 470 480 10 231,4063 231,4063

QUE2 470 470 480 10 223,5000 223,5000

______________________________________________________

STORAGE CAP. REMAIN MIN MAX ENTRIES AVE.C. UTIL.

NN1 10 0 10 10 9,8646 0,9865

NN2 10 0 10 10 9,5000 0,9500

______________________________________________________

SAVEVALUE VALUE

1 10

Первый блок содержит общие сведения о модели и ее прогоне

REAL_TIME START END_TIME BLOCKS FACIL. STORAG. QUEUE 00:00 0 480 23 1 2 2

Из него можно узнать следующее:

1. Модельное время начала (START_TIME) – 0;

2. Модельное время окончания (END_TIME) прогона – 480;

3. Количество блоков в модели (BLOCKS) – 23;

4. Количество устройств (FACILITIES) – 1;

5. Количество накопителей (STORAGES) – 2;

6. Количество многоканальных устройств или очередей (QUEUE) – 2;

Из второго блока можно получить сведения об устройствах модели.

FACILITY ENTRIES UTIL. AVE.TIME KAN 20 0,4167 10,0000

По данному отчету можно сказать следующее:

1. В исследуемой системе использовано одно устройство с именем (FACILITIES)

KAN;

2. Устройства занимались (ENTRIES) 20 раз;

3. Коэффициенты использования (UTIL.) составили 0,4167;

4. Среднее время на одно занятие (AVE. TIME) – 10 минут;

Третий блок содержит сведения о всех очередях, используемых в системе.

QUEUE MAX CONT. ENTRIES ENTRIES(0)AVE.CONT AVE.TIME QUE1 470 470 480 10 231,4063 231,4063 QUE2 470 470 480 10 223,5000 223,5000

Третий блок содержит сведения обо всех накопителях, используемых в системе.

STORAGE CAP. REMAIN MIN MAX ENTRIES AVE.C. UTIL.NN1 10 5 5 5 4,9479 0,4948NN2 10 0 10 10 9,5833 0,9583

По представленным сведениям можно сказать следующее:

1. Моделируемая система содержит два накопителя (STORAGES) с именами NN1 и NN2;

2. Емкость устройства (CAP.) памяти равна 10, 10 соответственно;

3. Количество свободных каналов в момент завершения моделирования (REMAIN.) - 5, 0 соответственно;

4. Наименьшее (MIN) количество занятых каналов в процессе моделирования – 5, 10 соответственно;

5. Наибольшее (MAX) количество занятых каналов в процессе моделирования – 5, 10 соответственно;

6. Количество занятий МКУ (ENTRIES) – 5, 10 соответственно;

7. Среднее количество занятых каналов в процессе (AVE. C.) – 4,9479 и 9,5833 соответственно;

8. Коэффициент использования (UTIL.) составили – 0,4948, 0,9583 соответственно.


Эксперимент.

Определим целесообразность перехода на секции по 20 деталей с временем комплектации 20 минут.

NN1 STORAGE 20 //выделение 20 памяти для NN1

NN2 STORAGE 20 //выделение 20 памяти для NN2

MET1 GENERATE 5.1 //интервал поступления деталей TIP1

SEIZETIP1 //занятие канала TIP1

SPLIT 4 //копирование 4 деталей, 1 деталь идет далее.

ENTERNN1 //вход в накопитель NN1

TESTEQ1,20,MET3 //проверяем условие: если Q1=20, то переход к метке MET3

TESTLQ1,20,NN1 //проверяем условие: если Q1≠20, то переход в накопитель NN1

LEAVENN1,20 //освобождает 20 единиц памяти в накопителе NN1

TERMINATE 19 //уничтожение 19 транзактов

RELEASETIP1 //освобождение канала TIP1

TRANSFER ,MET3 //переход к метке MET3

MET2 GENERATE 20.7 //интервал поступления деталей TIP2

SEIZETIP2 //занятие канала TIP2

SPLIT 19 //копирование 19 деталей1 деталь идет далее.

ENTERNN2 //вход в накопитель NN2

TESTEQ2,20,MET3 //проверяем условие: если Q2=20, то переход к метке MET3

TESTLQ2,20,NN2 // проверяем условие: если Q1≠20, то переход в накопитель NN2

LEAVENN2,20 // освобождает 20 единиц памяти в накопителе NN2

TERMINATE 19 //уничтожение 19 транзактов

RELEASETIP2 //освобождение канала TIP2

TRANSFER ,MET3 //переходкметке MET3

MET3 SEIZEKAN //занятие канала KAN

ADVANCE 20 //обработка в канале KAN

RELEASEKAN //освобождение KAN

TERMINATE //уничтожение транзакта

GENERATE 480 //время работы конвейера

TERMINATE 1 //уничтожениетранзакта

START 1

END


——————————————————————————————————————————————————————

REAL_TIME START END_TIME BLOCKS FACIL. STORAG. QUEUE

00:00 0 480 26 3 2 0

______________________________________________________

1 | N=1 ¦ W=1 | GENERATE ¦ 5.1

2 | N=1 ¦ W=0 | SEIZE ¦ TIP1

3 | N=5 ¦ W=0 | SPLIT ¦ 4

4 | N=5 ¦ W=0 | ENTER ¦ NN1

5 | N=5 ¦ W=0 | TEST E ¦ Q1 ¦ 20 ¦ MET3

6 | N=0 ¦ W=0 | TEST L ¦ Q1 ¦ 20 ¦ NN1

7 | N=0 ¦ W=0 | LEAVE ¦ NN1 ¦ 10

8 | N=0 ¦ W=0 | TERMINATE ¦ 19

9 | N=0 ¦ W=0 | RELEASE ¦ TIP1

10 | N=0 ¦ W=0 | TRANSFER ¦ MET3

11 | N=1 ¦ W=1 | GENERATE ¦ 20.7

12 | N=1 ¦ W=0 | SEIZE ¦ TIP2

13 | N=20 ¦ W=0 | SPLIT ¦ 19

14 | N=20 ¦ W=0 | ENTER ¦ NN2

15 | N=20 ¦ W=1 | TEST E ¦ Q2 ¦ 20 ¦ MET3

16 | N=0 ¦ W=0 | TEST L ¦ Q2 ¦ 20 ¦ NN2

17 | N=0 ¦ W=0 | LEAVE ¦ NN2 ¦ 20

18 | N=0 ¦ W=0 | TERMINATE ¦ 19

19 | N=0 ¦ W=0 | RELEASE ¦ TIP2

20 | N=0 ¦ W=0 | TRANSFER ¦ MET3

21 | N=24 ¦ W=0 | SEIZE ¦ KAN

22 | N=24 ¦ W=1 | ADVANCE ¦ 20

23 | N=23 ¦ W=0 | RELEASE ¦ KAN

24 | N=23 ¦ W=0 | TERMINATE

25 | N=1 ¦ W=0 | GENERATE ¦ 480

26 | N=1 ¦ W=0 | TERMINATE ¦ 1

______________________________________________________

FACILITY ENTRIES UTIL. AVE.TIME

TIP1 1 0,9896 475,0000

KAN 24 0,9896 19,7917

TIP2 1 0,9583 460,0000