Записать и запустить на выполнение программу для решения примера 4.



Моделирование накопления транзактов, синхронизации движения по модели транзактов, управление потоком транзактов в зависимости от состояния логического ключа.

Блок GATHER осуществляет накопление сообщений (транзактов), принадлежащих одному и тому же набору (ансамблю), с последующей попыткой одновременной передачи их к следующему блоку. Действие блока GATHER аналогично действию блока ASSEMBLE. Отличие состоит в том, что после накопления в блоке числа транзактов, указанного в поле <A>, они все передаются в следующий блок. Блок GATHER не уничтожает вошедших в него транзактов.

Блок MATCH предназначен для синхронизации продвижения двух транзактов одного ансамбля (семейства), движущихся по разным путям модели. Для синхронизации необходимы два блока MATCH, находящиеся в соответствующих местах моделирующей программы и называемые сопряженными.

Для представления в модели коммутируемых объектов используют логические ключи, моделируемые блоками LOGIC и GATE. Блок LOGIC устанавливает положение ключа, которое может быть проверено любым сообщением (транзактом) в любой части модели. Блок LOGIC используется для "включения", "выключения" или инвертирования состояния ключа. Блок GATE, в зависимости от состояния логического ключа, осуществляет управление потоком транзактов.

Пример 4. Смоделировать следующий процесс прохождения 100 деталей на производственном участке. На участок сборки подшипников поступают обоймы, и шарики с интервалом времени 25±4 единицы. На контроль обоймы затрачивается 4±1 единицы времени; контроль шариков производится последовательно со временем 2±1 единица времени на шарик. Операция сборки требует одновременного поступления обоймы и всех шариков и производится со временем 4±2 единицы. В одной обойме должно быть 8 шариков. Все процессы подчиняются равномерному закону.

Единица времени задается пользователем. Система GPSS World осуществляет моделирование в относительных единицах, поэтому в файле стандартного отчета указываемые единицы времени можно рассматривать как те, которые задаются пользователем (минуты, секунды и т.д.).

Решение примера приводится как программа 5.

 

GENERATE 25,4,,100SPLIT 8,CHAN2CHAN1 SEIZE 1ADVANCE 4,1RELEASE 1TRANSFER, COMMCHAN2 SEIZE 2ADVANCE 2,1RELEASE 2GATHER 8COMM ASSEMBLE 9 CHAN3 SEIZE 3 ADVANCE 4,2 RELEASE 3 EXIT TERMINATE 1 START 100
Программа 5.

 

Формат записи блока GATHER:

gather <A>

В поле <A> задается число транзактов, принадлежащих к одному семейству, которое надо накопить (в программе 8 транзактов). Операнд поля <A> может быть именем, положительным целым (как в программе число 8), СЧА, СЧА с параметром (СЧА$<параметр>). При входе транзакта в блок GATHER, интерпретатор GPSS World просматривает семейство, к которому он принадлежит, и проверяет, находится ли в данном блоке GATHER другой транзакт из того же семейства. Если в блок GATHER не вошло заданное число транзактов, транзакты, находящиеся в блоке, остаются в состоянии синхронизации.

В программе после поступления в блок GATHER 8 транзактов (8 шариков) они все выходят из блока и поступают в следующий по номеру блок — блок ASSEMBLE. Блок ASSEMBLE по своему функциональному назначению собирает 9 транзактов и отправляет в следующий по номеру блок один транзакт. С помощью блока ASSEMBLE моделируется процесс сборки подшипника — 8 шариков и одна обойма.

Записать и запустить на выполнение программу для решения примера 5.

Изучение блока MATCH.

Пример 5. Детали на участок поступают с интервалом времени 300±50 единиц. Обработку производят двое рабочих. После завершения операции обработки, выполняемой первым рабочим со временем 90 единиц и вторым со временем 60 единиц, производится операция сверки, время выполнения которой принимается равной нулю. Затем третий рабочий производит сборку изделия из этих деталей со временем 40 единиц. Сборка начинается только после поступления всех деталей. Смоделировать процесс прохождения 100 деталей.

Программа решения примера 5 представлена как программа 6.

 

GENERATE 300,50SPLIT 1,CHAN2CHAN1 SEIZE 1ADVANCE 90SSS1 MATCH SSS2 RELEASE 1 TRANSFER ,COMM CHAN2 SEIZE 2 ADVANCE 60 SSS2 MATCH SSS1 RELEASE 2 COMM ASSEMBLE 2 SEIZE 3 ADVANCE 40 RELEASE 3 TERMINATE 1 START 100
Программа 6.

 

Из условия примера видно, что специальных мер по реализации прохождения точно 100 деталей не требуется, так как время поступления деталей на обработку заметно больше суммарного времени обработки: 300±50 против 90+60+40=190. В программе в блоке GENERATE не используется поле <D> с установкой числа 100. Синхронизация прохождения транзактов (деталей) по модели осуществляется с помощью двух блоков MATCH. Один блок MATCH установлен как бы в первом устройстве, а другой — во втором. Транзакты (детали) не отправляются в блок ASSEMBLE (на сборку) до тех пор, пока оба устройства (оба рабочих) не закончат требуемую обработку. Так с помощью блока MATCH осуществляется синхронизация продвижения транзактов по модели.

Формат записи блоков MATCH:

sss1 match <A>

sss2 match <A>

В поле <A> блока MATCH (с меткой sss1 в программе PRIM21.GPS) задается имя сопряженного блока MATCH (метка sss2). Синхронизация движения транзактов осуществляется путем подбора пар транзактов из одного ансамбля и задержки этих транзактов до тех пор, пока оба транзакта из одной пары не поступят в заданные точки модели (в программе PRIM21.GPS это выходы устройств — блоки RELEASE, откуда они поступают далее на сборку в блок ASSEMBLE).

Без условия синхронизация (без блоков MATCH) пример 5 можно видоизменить к следующему виду.


Дата добавления: 2018-09-23; просмотров: 183; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!