книги / Моделирование систем. Практикум
.pdfGPSS/PC Report file REPORT.GPS. (V 2, # 37349) 06-10-2001 07:25:31 page 1
START |
TIME |
END |
TIME |
BLOCKS |
FACILITIES STORAGES |
FREE |
MEMORY |
||||
|
0 |
|
586 |
17 |
|
2 |
|
1 |
83344 |
|
|
LINE |
LOC |
|
BLOCK_TYPE |
ENTRY_COUNT |
CURR£NT_COUNT |
RETRY |
|||||
10 |
1 |
|
GENERATE |
|
100 |
|
0 |
|
0 |
||
20 |
2 |
|
GATE |
|
|
100 |
|
0 |
|
0 |
|
30 |
3 |
|
ENTER |
|
|
45 |
|
0 |
|
0 |
|
40 |
FACI LI |
|
SEIZE |
|
|
45 |
|
0 |
|
0 |
|
50 |
5 |
|
LEAVE |
|
|
45 |
|
0 |
|
0 |
|
60 |
6 |
|
ADVANCE |
|
|
45 |
|
0 |
|
0 |
|
70 |
7 |
|
RELEASE |
|
|
45 |
|
0 |
|
0 |
|
80 |
8 |
|
TRANSFER |
|
45 |
|
0 |
|
0 |
||
100 |
FACIL2 |
|
SEIZE |
|
|
55 |
|
0 |
|
0 |
|
200 |
10 |
|
ADVANCE |
|
|
55 |
|
0 |
|
0 |
|
300 |
11 |
|
RELEASE |
|
|
55 |
|
0 |
|
0 |
|
400 |
EXIT |
|
TERMINATE |
|
100 |
|
0 |
|
0 |
||
500 |
13 |
|
GENERATE |
|
20 |
|
0 |
|
0 |
||
510 |
14 |
|
SUNAVAIL |
|
20 |
|
0 |
|
0 |
||
520 |
15 |
|
ADVANCE |
|
|
20 |
|
1 |
|
0 |
|
530 |
16 |
|
SAVAIL |
|
|
19 |
|
0 |
|
0 |
|
550 |
17 |
|
TERMINATE |
|
19 |
|
0 |
|
0 |
||
FACILITY |
ENTRIES |
U T IL . |
AVE._TIME |
AVAILABLE |
OWNER PEND |
INTER RETRY DELAY |
|||||
1 |
45 |
0 .9 8 9 |
1 2 .8 9 |
1 |
0 |
0 |
0 |
0 |
0 |
||
2 |
55 |
0 .8 4 3 |
|
8 .9 8 |
1 |
0 |
0 |
0 |
0 |
0 |
|
STORAGE |
CAP. |
REMAIN. MIN. |
MAX. |
ENTRIES |
AVL. AVE.C. |
U TIL. |
RETRY DELAY |
||||
NAK |
3 |
|
3 |
0 |
3 |
45 |
0 |
2 .2 7 |
0 .7 5 5 |
0 |
0 |
XACTJ3ROUP |
|
GRoUP_SIZE |
|
RETRY |
|
|
|
|
|
||
POSITION |
|
|
0 |
|
|
0 |
|
|
|
|
|
|
Р и с . |
3.47. Стандартный отчет EXAM23.RPT |
|
|
Может быть, режим доступности блока G A T E отвечает в определен ном смысле более действенным образом, так как блок S U N A V A IL на зна чительную часть времени делает накопитель недоступным и поэтому блок G A T E через поле < В > отправляет транзакты в альтернативный блок с меткой — во 2-е устройство.
Блоки GATHER, MATCH, LOGIC
Блок GATHER осуществляет накопление сообщений (транзактов), принадлежащих одному и тому же набору (ансамблю), с по следующей попыткой одновременной передачи их к следующему блоку. Действие блока GATHER аналогично действию блока ASSEMBLE. Отличие состоит в том, что после накопления в блоке
91
числа транзактов, указанного в поле <А>, они все передаются в следующий блок.
Блок MATCH предназначен для синхронизации продвижения двух транзактов одного ансамбля (семейства), движущихся по раз ным путям модели. Для синхронизации необходимы два блока MATCH, находящиеся в соответствующих местах моделирующей программы и называемые сопряженными.
Для представления в модели коммутируемых объектов исполь зуют логические ключи, моделируемые блоками LOGIC и GATE. Блок LOGIC устанавливает положение ключа, которое может быть проверено любым транзактом в любой части модели. Блок LOGIC используется для «включения», «выключения» или инвертирова ния состояния ключа. Блок GATE, в зависимости от состояния ло гического ключа, осуществляет управление потоком транзактов.
Пример 3.21. Смоделировать процесс прохождения 100 деталей на производственном участке сборочного цеха. На участок сборки подшип ников поступают обоймы и шарики с интервалом времени 25 ± 4 едини цы. На контроль обоймы затрачивается 4 + 1 единицы времени; контроль шариков осуществляется последовательно со временем 2 ± 1 единиц вре мени на шарик. Операция сборки требует одновременного поступления обоймы и всех шариков и производится со временем 4 ± 2 единицы. В од ной обойме должно быть 8 шариков. Все процессы подчиняются равно мерному закону. Решение для данного примера после представления процесса сборки в виде Q-схем ы приведено под именем EXAM24.GPS на рис. 3.48.
SIMULATE
10 GENERATE 25,4„100
20 SPLIT 8,CHAN2
30 СНАМ SEIZE 1
40 ADVANCE 4,1
50 RELEASE 1
60 TRANSFER,COMM 70CHAN2 SEIZE 2
80 ADVANCE 2,1
90 RELEASE 2
100 GATHER 8
110 COMM ASSEMBLE 9 120CHAN3 SEIZE 3
130 ADVANCE 4,2
140 RELEASE 3
150 EXIT TERMINATE 1 START 100
END
Р и с . 3.48. Программа EXAM24.GPS
92
Формат записи блока GATHER имеет вид:
100 GATHER <А>
В поле <А> задается число транзактов, принадлежащих одному се мейству, которое надо накопить (в программе 8 транзактов). Операнд поля <А> может быть именем, положительным целым (как в программе число 8), СЧА, СЧА с параметром (СЧА$<параметр>). При входе транзакта в блок GATHER, интерпретатор G P S S /P C просматривает семейст во, к которому он принадлежит, и проверяет, находится ли в данном бло ке GATHER другой транзакт из того же семейства. Если в блок GATHER не вошло заданное число транзактов, транзакты, находящиеся в блоке, остаются в состоянии синхронизации.
После поступления в блок GATHER 8 транзактов (8 шариков) они все выходят из блока и поступают в следующий по номеру блок — блок под номером 110 ASSEMBLE. Блок ASSEMBLE по своему функционально му назначению собирает 9 транзактов и отправляет в следующий по номе ру блок один транзакт. С помощью блока ASSEMBLE моделируется про цесс сборки подшипника — 8 шариков и одна обойма.
Пример 3.22. Детали на участок поступают с интервалом времени 300 ± 50 единиц, их обрабатывают двое рабочих. После завершения опе рации обработки, выполняемой 1-м рабочим со временем 90 единиц и 2-м со временем 60 единиц, осуществляется операция сверки, время вы полнения которой принимается равной нулю. Затем 3-й рабочий произ водит сборку изделия из этих деталей со временем 40 единиц. Сборка на чинается только после поступления всех деталей. Смоделировать процесс прохождения 100 деталей.
Программа решения задачи моделирования процесса прохождения деталей на участок обработки, формализованного в виде Q -схемы, для примера 3.22 представлена под именем EXAM25.GPS на рис. 3.49.
Из условия задачи моделирования Q-схемы для рассматриваемого примера видно, что специальных мер по реализации прохождения точно 100деталей не требуется, так как время поступления деталей на обработку
заметно больше |
суммарного времени обработки: 300 + 50 против |
90 + 60 + 40 = 190. |
В программе в блоке GENERATE не используется |
поле <D> с установкой числа 100. Синхронизация прохождения транзак тов (деталей) по модели осуществляется с помощью двух блоков MATCH. Один блок MATCH установлен как бы в 1-м устройстве, а другой — во 2-м. Транзакты (детали) не отправляются в блок ASSEMBLE (на сборку) до тех пор, пока оба устройства (оба рабочих) не закончат требуемую об работку. Так, с помощью блока MATCH осуществляется синхронизация продвижения транзактов по модели.
Формат записи блоков MATCH имеет вид:
50 SSS1 MATCH <А>
100 SSS2 MATCH <А>
В поле <А> блока MATCH (под номером 50 и меткой SSS1 в програм ме EXAM21.GPS) задается имя сопряженного блока MATCH (метка SSS2 под номером 100). Синхронизация движения транзактов осуществляется
93
SIMULATE
10 GENERATE 300,50
20 SPLIT LCHAN2
30 CHAN! SEIZE 1
40 ADVANCE 90
50 SSS1 MATCH SSS2
60 RELEASE 1
70 TRANSFER,COMM 80CHAN2 SEIZE 2
90 ADVANCE 60 100SSS2 MATCH SSSI 110 RELEASE 2
120 COMM ASSEMBLE 2
130 SEIZE 3
140 ADVANCE 40
150 RELEASE 3
200 TERMINATE 1 START 100
END
Р и с . 3.49. Программа EXAM25.GPS
путем подбора пар транзактов из одного ансамбля и задержки этих транзактов до тех пор, пока оба транзакта из одной пары не поступят в задан ные точки модели (в программе EXAM21.GPS это выходы уст ройств — блоки RELEASE под номерами 60 и 110, откуда они поступают далее на сборку в блок ASSEMBLE).
Рассмотрим пример без условия синхронизации.
Пример 3.23. Детали на участок поступают с интервалом времени 300 ± 50 единиц, их обрабатывают двое рабочих. После операции обра ботки, выполняемой 1-м рабочим со временем 90 единиц и 2-м рабочим со временем 60 единиц, детали отправляются на сборку к 3-му рабочему, который осуществляет сборку изделия из этих деталей со временем 40 единиц. Смоделировать процесс прохождения 100 деталей.
Программа решения процесса обработки деталей, формализованно го в виде Q -схемы, для примера 3.23 представлена под именем EXAM26.GPS на рис. 3.50.
Пример 3.24. На обработку в Q -схему поступает 101 заявка с интерва лом времени 7 ± 1 единицы. Нечетные по номеру заявки обрабатываются в 1-м канале со временем 15 единиц, четные — на 2-м канале со временем 17 единиц. Смоделировать процесс прохождения и обработки заявок в
Q -схеме.
Решение примера 3.24 приведено в программе EXAM27.GPS (рис. 3.51). Формирование потока четных и нечетных по номеру заявок осуще ствляется блоками LOGIC и GATE (в режиме LS).
Формат записи блока LOGIC имеет вид:
20 LOGIC <Х> <А>
94
SIMULATE
10 GENERATE 300,50
20 SPLIT 1,CHAN2
30 CHAN1 SEIZE I
40 ADVANCE 90
50 RELEASE 1
60 TRANSFER ,COMM
70 CHAN2 SEIZE 2
80 ADVANCE 60
90 RELEASE 2
100 COMM ASSEMBLE 2
110 SEIZE 3
120 ADVANCE 40
130 RELEASE 3
200 TERMINATE 1 START 100
END
Р и с . 3.50. Программа EX A M 26.G PS
SIMULATE
10 GENERATE I0,l„101
20 LOGIC I KEY1
30 GATE LS KEY1,CHAN2 40CHAN1 SEIZE 1
50 ADVANCE 15
60 RELEASE 1
70 TRANSFER,EXIT
80CHAN2 SEIZE 2
90 ADVANCE 17
100 RELEASE 2
200 EXIT TERMINATE 1 START 101
END
Р и с . 3.51. П рограмма E X A M 27.G PS
Во вспомогательном поле операций <Х> задается мнемоническое обозначение I — логический ключ под именем KEY1 инвертируется. В поле <А> задается номер или имя (в программе имя KEY1) логического ключа. Ссылка на имя ключа может происходить в любом месте програм мы. В поле <Х> могут быть также заданы следующие мнемонические обо значения:
S — логический ключ устанавливается в состояние «включен»; R — логический ключ устанавливается в состояние «выключен».
Формат записи блока GATE для проверки логических ключей имеет
вид:
30 GATE <Х> <А>.<В>
95
GPSS/PC Report file REPORT.GPS. (V 2, # 37349) 06-10-2001 07:27:35 page 1
START |
TIME |
END TIME |
BLOCKS |
FACILITIES |
STORAGES |
FREE_MEM0RY |
|||
|
0 |
2512 |
15 |
3 |
|
0 |
83840 |
|
|
LINE |
LOC |
BLOCK_TYPE |
ENTRY_ COUNT |
CURRENT_COUNT |
RETRY |
||||
10 |
1 |
GENERATE |
100 |
|
0 |
|
0 |
||
20 |
2 |
SPLIT |
100 |
|
0 |
|
0 |
||
30 |
CKAN1 |
SEIZE |
100 |
|
0 |
|
0 |
||
40 |
4 |
ADVANCE |
100 |
|
0 |
|
0 |
||
50 |
5 |
RELEASE |
100 |
|
0 |
|
0 |
||
60 |
6 |
TRANSFER |
100 |
|
0 |
|
0 |
||
70 |
CHAN2 |
SEIZE |
800 |
|
0 |
|
0 |
||
80 |
8 |
ADVANCE |
800 |
|
0 |
|
0 |
||
90 |
9 |
RELEASE |
BOO |
|
0 |
|
0 |
||
100 |
10 |
GATHER |
BOO |
|
0 |
|
0 |
||
110 |
COMM |
ASSEMBLE |
900 |
|
0 |
|
0 |
||
120 |
CHAN3 |
SEIZE |
100 |
|
0 |
|
0 |
||
130 |
13 |
ADVANCE |
100 |
|
0 |
|
0 |
||
140 |
14 |
RELEASE |
100 |
|
0 |
|
0 |
||
150 |
EXIT |
TERMINATE |
100 |
|
0 |
|
0 |
||
FACILITY |
ENTRIES |
U TIL. |
AVE.JTIME |
AVAILABLE |
OWNER PEND |
INTER |
RETRY DELAY |
||
1 |
100 |
0 .1 5 6 |
3 .9 2 |
1 |
0 |
0 |
0 |
0 |
0 |
2 |
800 |
0 .6 3 6 |
2 .0 0 |
1 |
0 |
0 |
0 |
0 |
0 |
3 |
100 |
0 .1 5 1 |
3 .8 0 |
1 |
0 |
0 |
0 |
0 |
0 |
XACT_GR0UP |
GROUP_SIZE |
RETRY |
|
POSITION |
|
0 |
0 |
|
Р и с . |
3.52. Стандартный отчет EXAM24.RPT |
|
Во вспомогательном поле <Х> задается один из следующих логиче |
|||
ских операторов: |
|
|
|
LS — логический |
ключ, заданный в поле <А>, включен; |
||
LR — логический |
ключ, |
заданный в поле <А>, выключен. |
В поле <А> задается номер или имя логического ключа, состояние которого проверяется (в программе KEY1). В поле <В> задается номер блока, к которому переходит транзакт, если логический оператор вспо могательного поля <Х> имеет значение «ложь» (в программе устройство с меткой CHAN2). Если значение логического оператора «истина», тран закт переходит к следующему по номеру блоку (в устройство с меткой CHAN1 под номером 40).
Если в программе EXAM27.GPS вместо блока GATE с полем LS по ставить блок GATE с полем LR, то четный и нечетный потоки поменяют ся местами: 1-е устройство будет обслуживать четные заявки, а 2-е уст ройство — нечетные. Если же в поле <Х> блока LOGIC поставить S или R, то обработка всех поступающих заявок будет осуществляться одним из устройств.
Файл стандартного отчета для решения задачи моделирования Q -cxe- мы примера 3.21 приведен под именем EXAM24.RPT на рис. 3.52. Про цесс прохождения сборки подшипников начинается с блока GENERATE,
96
GPSS/PC Report file |
REPORT.GPS. (V 2, # 37349) |
06-10-2001 |
07.31:41 |
page 1 |
|||||||
START |
TIME |
END_TIME |
BLOCKS |
FACILITIES |
STORAGES |
FREE_MEMORY |
|||||
|
0 |
|
29041 |
16 |
3 |
|
0 |
|
84256 |
|
|
LINE |
LOC |
|
|
BLOCK_TYPE |
ENTRY_ COUNT |
CURRENT_COUNT |
RETRY |
||||
10 |
1 |
|
|
GENERATE |
100 |
|
|
0 |
0 |
||
20 |
2 |
|
|
SPLIT |
100 |
|
|
0 |
0 |
||
30 |
CHAN1 |
|
|
SEIZE |
100 |
|
|
0 |
0 |
||
40 |
4 |
|
|
ADVANCE |
100 |
|
|
0 |
0 |
||
50 |
SSS1 |
|
|
MATCH |
100 |
|
|
0 |
0 |
||
60 |
6 |
|
|
RELEASE |
100 |
|
|
0 |
0 |
||
70 |
7 |
|
|
TRANSFER |
100 |
|
|
0 |
0 |
||
во |
СHAN2 |
|
|
SEIZE |
100 |
|
|
0 |
0 |
||
90 |
9 |
|
|
ADVANCE |
100 |
|
|
0 |
0 |
||
100 |
SSS2 |
|
|
MATCH |
100 |
|
|
0 |
0 |
||
110 |
11 |
|
|
RELEASE |
100 |
|
|
0 |
0 |
||
120 |
COMM |
|
|
ASSEMBLE |
200 |
|
|
0 |
0 |
||
130 |
13 |
|
|
SEIZE |
100 |
|
|
0 |
0 |
||
140 |
14 |
|
7 |
ADVANCE |
100 |
|
|
0 |
0 |
||
150 |
15 |
|
RELEASE |
100 |
|
|
0 |
0 |
|||
|
|
|
|
||||||||
200 |
16 |
|
|
TERMINATE |
100 |
|
|
0 |
0 |
||
FACILITY |
ENTRIES |
|
UTIL |
|
AVE._TIME |
AVAILABLE |
OWNER PEND |
INTER RETRY DELAY |
|||
1 |
100 |
0 .3 0 1 |
|
9 0 .0 0 |
1 |
0 |
0 |
0 |
0 |
0 |
|
2 |
100 |
0 .3 0 1 |
|
9 0 .0 0 |
1 |
0 |
0 |
0 |
0 |
0 |
|
3 |
100 |
0 |
134 |
|
4 0 .0 0 |
1 |
0 |
0 |
0 |
0 |
0 |
XACT_GROUP |
|
GR0UP_SIZE |
RETRY |
|
|
|
|
|
|||
POSITION |
|
|
|
0 |
|
0 |
|
|
|
|
|
|
Р и с . |
3.53. Стандартный отчет EXAM25.RPT |
|
|
который формирует обойму с 8 шариками, что соответствует одному транзакту. Блок SPLIT моделирует разборку подшипника на 8 шариков (число копий транзактов) и одну обойму. Пустая обойма (один транзакт) идет в 1-е устройство на обслуживание, а 8 шариков (8 транзактов) от правляются по метке на 2-е устройство, где они проходят обработку и со бираются по 8 штук в блоке GATHER. Из отчета видно, что во 2-м устрой стве проходят 800 транзактов, а в 1-м — 100. Блок ASSEMBLE моделиру ет сборку подшипника: 8 шариков плюс одна обойма, в общем 900 тран зактов. Из блока ASSEMBLE выходит один собранный подшипник, а всего их — 100. Из 900 транзактов блок ASSEMBLE уничтожил 800 тран зактов. Отличие блока ASSEMBLE от блока GATHER в данном случае со стоит в том, что первый принимает заданное количество транзактов и вы пускает только один транзакт, а второй также принимает (собирает) за данное количество транзактов и столько же отправляет к следующему по номеру блоку (к блоку ASSEMBLE).
Для анализа результатов моделирования с условием синхронизации прохождения транзактов (деталей) рассмотрим файл стандартного отчета EXAM25.RPT (рис. 3.53), который соответствует программе EXAM24.GPS.
7 - 3083 |
97 |
GPSS/PC Report file REPORT GPS |
(V 2, |
в 37349) 06-10-2001 07:45:57 |
page |
1 |
||||||
START_ TIME |
END_TIME |
BLOCKS |
FACILITIES |
STORAGES |
FREE_MEMORY |
|
||||
|
0 |
29841 |
14 |
|
3 |
|
0 |
84560 |
|
|
LINE |
LOC |
BLOCK_TYPE |
ENTRY_COUNT |
CURRENT_COUNT RETRY |
||||||
10 |
1 |
GENERATE |
100 |
|
0 |
|
0 |
|||
20 |
2 |
SPLIT |
|
100 |
|
0 |
|
0 |
||
30 |
CHAN1 |
SEIZE |
|
100 |
|
0 |
|
0 |
||
40 |
4 |
ADVANCE |
|
100 |
|
0 |
|
0 |
||
50 |
5 |
RELEASE |
|
100 |
|
0 |
|
0 |
||
60 |
6 |
TRANSFER |
100 |
|
0 |
|
0 |
|||
70 |
CHAN2 |
SEIZE |
|
100 |
|
0 |
|
0 |
||
80 |
8 |
ADVANCE |
|
100 |
|
0 |
|
0 |
||
90 |
9 |
RELEASE |
|
100 |
|
0 |
|
0 |
||
100 |
COMM |
ASSEMBLE |
2 0 0 |
|
0 |
|
0 |
|||
110 |
11 |
SEIZE |
|
100 |
|
0 |
|
0 |
||
120 |
12 |
ADVANCE |
|
100 |
|
0 |
|
0 |
||
130 |
13 |
RELEASE |
|
100 |
|
0 |
|
0 |
||
200 |
14 |
TERMINATE |
lo o |
|
0 |
|
0 |
|||
FACILITY |
ENTRIES |
U TIL. |
AVE._TIME |
AVAILABLE |
OWNER PEND |
INTER RETRY PE LAY |
||||
1 |
100 |
0 .3 0 1 |
9 0 .0 0 |
1 |
o |
0 |
0 |
0 |
0 |
|
2 |
100 |
0 .2 0 1 |
6 0 .0 0 |
1 |
0 |
0 |
0 |
0 |
0 |
|
3 |
100 |
0 .1 3 4 |
4 0 .0 0 |
1 |
0 |
0 |
0 |
0 |
0 |
|
XACT_GROUP |
|
GROUP_SIZE |
|
RETRY |
|
|
|
|
|
|
POSITION |
|
0 |
|
|
0 |
|
|
|
|
|
Р и с . 3.54. Стандартный отчет EXA M 26.RPT
В этой программе синхронизация движения транзактов по модели реали зована с помощью двух блоков MATCH: один под номером 50 и с меткой SSS1, другой под номером 100 и с меткой SSS2. Один блок MATCH нахо дится в 1-м устройстве, другой блок MATCH — во 2-м устройстве.
Из приведенного отчета видно, что, несмотря на различные времена обслуживания двух устройств (каналов) CHAN1 и CHAN2, итоговые вре мена обслуживания определяются наибольшим временем 1-го устройст ва 90 отн. ед. (поле AVE_TIME). При этом коэффициенты использования каждого из устройств равны между собой — 0.301 (поле UTIL). Блок ASSEMBLE осуществляет сборку двух комплектующих в одну готовую деталь. Через все блоки, кроме ASSEMBLE, проходят 100 транзактов. Че рез ASSEMBLE — 200. Здесь предполагается по условию примера, что каждый из рабочих свою операцию выполняет с различным временем, но начало сборки деталей может начинаться только тогда, когда все ком плектующие будут готовы. Для этого применены блоки синхронизации MATCH. Из 2-го устройства детали не отправляются на сборку до тех пор, пока не будут готовы детали в 1-м устройстве. А 1-е устройство менее бы стродействующее, чем 2-е, его время обслуживания равно 90 условных единиц. Поэтому число 90 и определяет время обработки каждого устрой-
98
GPSS/PC |
Report file |
REPORT.GPS. (V 2, # 37349) |
06-10-2001 |
07:59:37 |
page 1 |
||||||
START__TIME |
END_TIME |
BLOCKS |
FACILITIES |
STORAGES |
FREE_MEMORY |
||||||
|
0 |
|
1028 |
|
11 |
2 |
|
0 |
84944 |
|
|
LINE |
LOC |
|
BLOCK_TYPE |
ENTRY_COUNT |
Cti&RENTjCOUNT |
RETRY |
|||||
10 |
1 |
|
|
GENERATE |
101 |
|
0 |
|
0 |
||
20 |
2 |
|
|
LOGIC |
101 |
|
0 |
|
0 |
||
30 |
3 |
|
|
GATE |
101 |
|
0 |
|
0 |
||
40 |
CHANl |
|
|
SEIZE |
|
51 |
|
0 |
|
0 |
|
50 |
5 |
|
|
ADVANCE |
|
51 |
|
0 |
|
0 |
|
60 |
6 |
|
|
RELEASE |
|
51 |
|
0 |
|
0 |
|
70 |
7 |
|
|
TRANSFER |
|
51 |
|
0 |
|
0 |
|
80 |
CHAN2 |
|
|
SEIZE |
|
50 |
|
0 |
|
0 |
|
90 |
9 |
|
|
ADVANCE |
|
50 |
|
0 |
|
0 |
|
100 |
10 |
|
|
RELEASE |
|
50 |
|
0 |
|
0 |
|
200 |
EXIT |
|
|
TERMINATE |
101 |
|
0 |
|
0 |
||
FACILITY |
ENTRIES |
|
U TIL. |
AVE._TIME |
AVAILABLE |
OWNER PEND |
INTER |
RETRY DELAY |
|||
1 |
51 |
0 .7 4 4 |
|
1 5 .0 0 |
1 |
0 |
0 |
0 |
0 |
0 |
|
2 |
50 |
0 .8 2 6 |
|
1 7 .0 0 |
1 |
0 |
0 |
0 |
0 |
0 |
|
XACT_GROUP |
GROUP_SIZE |
RETRY |
|
|
|
|
|
||||
POSITION |
|
|
|
0 |
|
0 |
|
|
|
|
|
LOGICSWITCH |
|
VALUE |
RETRY |
|
|
|
|
|
|||
KEY1 |
|
|
|
1 |
|
0 |
|
|
|
|
|
|
Р и с . |
3.55. Стандартный отчет EX A M 27.R PT |
|
|
ства. Формально детали из 2-го устройства будут отправлены на сборку (в блок ASSEMBLE) тогда, когда 1-е устройство произведет свое обслужи вание. Детали во 2-м устройстве ожидают окончания обслуживания в 1 -м устройстве.
В файле стандартного отчета EXAM26.RPT (рис. 3.54) приведены ре зультаты моделирования, когда два устройства независимо друг от друга обслуживают 100 деталей. Из рис. 3.54 видно, что времена обслуживания каждого из устройств (поле AVEJTIME) соответствуют заданным значе ниям (90 — для 1-го устройства и 60 — для 2-го устройства). Коэффици енты загрузки устройств также различны: 0.301 для 1-го и 0.201 для 2-го устройства.
Файл стандартного отчета решения задачи моделирования Q-схемы примера 3.24 приведен под именем EXAM27,RPT (рис. 3.55). Заданное число обрабатываемых заявок (в примере 101) позволяет проследить дви жение транзактов через каждое из устройств.
7 * |
99 |
Через 1-е устройство проходит 51, а через 2-е — 50транзактов,т.е. все нечетные по номеру заявки обслуживаются в 1 -м устройстве, а все четные обслуживаются во 2-м устройстве. Блок LOGIC в режиме инвертирова ния ключа (в поле <Х> задается I) устанавливает его то в состояние «включено», то в состояние «выключено». Каждый входящий транзакт в блок LOGIC инвертирует ключ KEY1. Поэтому блок GATE фиксирует че рез свое вспомогательное поле <Х> — LS то «истину», то «ложь». В случае «истины» транзакты отправляются к следующему по номеру блоку (в 1 -е устройство), в случае «ложь» — транзакты по метке CHAN2 отправляются во 2-е устройство. Еще отметим, что имя или номер логического ключа задается пользователем произвольно.
В файле стандартного отчета появилось поле LOGICSWITCH, кото рое определяет заданное имя логического ключа KEY1. Далее поле VALUE определяет значение логического переключателя в конце периода моделирования: число 1 означает «установлен во включенное состояние» или «истина», число 0 означает «сброшен» или «ложь». Поле RETRY оп ределяет количество транзактов, ожидающих наступления специальных условий, зависящих от состояния логического переключателя (таких ус ловий в программе EXAM25.GPS нет).
3.2.ПРОГРАММИРОВАНИЕ ДЛЯ СТАТИСТИЧЕСКОЙ
ИЗАПОМИНАЮЩЕЙ КАТЕГОРИЙ ЯЗЫКА МОДЕЛИРОВАНИЯ GPSS/PC
Статистическими объектами языка GPSS/PC являются очере ди и таблицы. Статистическая информация об очереди формиру ется QUEUE и DEPART. Регистрация частот попадания табулиро ванной величины или заданного СЧА осуществляется блоком TABULATE. Табулируемая величина заносится в таблицу, имя и характеристики которой определяются оператором TABLE. На ос нове сформированных таблиц возможно построение гистограмм.
Для сохранения и запоминания в модели числовой информа ции, различных СЧА в GPSS/PC отводятся специальные ячейки основной памяти. Совокупности ячеек могут быть организованы в матрицы. Для записи числовой информации в ячейки служит блок SAVEVALUE, в матрицы — блок MSAVEVALUE, который работа ет совместно с оператором описания матриц MATRIX. Присвое ние начальных значений ячейкам и матрицам осуществляется с помощью оператора INITIAL.
3.2.1.Блоки QUEUE, DEPART, SAVEVALUE
ВGPSS/PC блоки QUEUE и DEPART описывают объекты типа «очередь». Статистика об очередях собирается в моменты входа со общения (транзакта) в блок QUEUE (вход в очередь) или в блок
100