Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Лекции по имитационному моделированию и анимации - файл Учебное пособие_Компьютерная имитация и анимация.doc


Лекции по имитационному моделированию и анимации
скачать (282.3 kb.)

Доступные файлы (1):

Учебное пособие_Компьютерная имитация и анимация.doc1403kb.17.03.2003 14:00скачать

содержание
Загрузка...

Учебное пособие_Компьютерная имитация и анимация.doc

1   2   3   4   5   6   7   8   9   10   11
Реклама MarketGid:
Загрузка...
^

START 100 Запуск модели


END

При трансляции модели может появиться предупреждение:

The following entities have been multiply defined
означающее, что нескольким блокам присвоено одно имя. Однако интерпретатор не считает это за ошибку. Это предупреждение о том, что разработчик может ненамеренно присвоить одно и тоже имя разным блокам.
^ 4.13. Моделирование непоследовательных операций
Во всех приведенных выше моделях технологических процессов транзакты переходят последовательно от блока к блоку, то есть отображают последовательные операции происходящие в системе. Если при моделировании возникает необходимость нарушить такую последовательность, то в модели надо нарушить последовательность движения транзактов. Для этого используют блок TRANSFER.

^ Блок TRANSFER (передать) - перенаправляет транзакты в блок отличный от последующего.

Блок может использоваться в 8 режимах. Рассмотрим 3 основных режима.

^ Режим безусловной передачи



Рис. 23. Блок TRANSFER в режиме безусловной передачи
В операнде А ставится запятая (,). В операнде В записывается имя блока, в который должен перейти транзакт.

Пример блока TRANSFER в режиме безусловной передачи:

^ TRANSFER ,BOX

когда транзакты входят в блок, они сразу же пытаются войти в блок ВОХ. Если последний отказывает в этом, транзакты остаются в блоке ТRANSFER.

Ряд сложных систем, и в том числе производственных, сводятся к замкнутым системам массового обслуживания. В этих СМО общее число заявок в течение всего интервала моделирования системы остается постоянным - заявки не покидают СМО, а циркулируют в ней, последовательно изменяя свои состояния в моменты перехода от одной фазы обслуживания к другой. Например, транспортная система некоторого производства, содержащая N транспортных средств или сборочное производство в котором участвуют N человек.

При построении GPSS-моделей подобных систем число транзактов в модели должно оставаться постоянным в течение всего интервала моделирования. Это может быть достигнуто благодаря использованию блока GENERATE с операндом D, который выдает в модель заданное число транзактов, и блока TRANSFER в режиме безусловной передачи, помещенного в конце модели и возвращающего транзакты в начало модели.

^ Пример моделирования

Рассмотрим пример GPSS/Н-модели сборочного производства [4]. Производство изделий включает процесс сборки и обжиг в печи. Содержание печи обходится дорого, поэтому 4 сборщика используют одну печь, в которой одновременно можно обжигать только одну деталь. Сборщик не может начать новую сборку, пока в печи находится предыдущая деталь. Каждый сборщик выполняет следующие действия: сборку следующей детали; ожидание возможности использования печи; использование печи; возврат к сборке.

Время необходимое на сборку колеблется в интервале от 25 до 35 минут (распределение равномерное), а процесс обжига распределен нормально со средним значением 8 минут и среднеквадратическим отклонением 2 минуты. Необходимо промоделировать данное производство в течение 8-часового рабочего дня.

Пусть транзакты отображают сборщиков, приход которых смоделируем блоком GENERATE с операндом D равным 4. За единицу модельного времени примем 1 минуту. Тогда время сборки отобразим блоком ADVANCE со средним 30 и размахом 5. Работу печи смоделируем прибором с именем РЕСН. После того как транзакт завершает использование прибора, моделирующего печь, он должен быть возвращен назад. Отобразим это условие при помощи блока TRANSFER в режиме безусловной передачи, который перенаправляет транзакты в блок следующей сборки. Для организации моделирования в течение 480 минут используем сегмент, содержащий блок GENERATE с соответствующим операндом А.

Блочная интерпретации модели сборочного производства представлена на рис. 24.



Рис. 24. Блочная интерпретация GPSS/H-модели

процесса сборки
Созданная на основе блок-схемы GPSS/H-программа представлена ниже:

SIMULATE Начало моделирования

GENERATE ,,,4 Приход сборщиков

BACK ADVANCE 30,5 Сборка

SEIZE РЕСН Занятие печи

ADVANCE RVNORM(2,8,2) Обжиг

RELEASE РЕСН Освобождение печи

TRANSFER ,BACK Переход к сборке

GENERATE 480 Выход транзакта-таймера

TERMINATE 1 Удаление транзакта-таймера

START 1 Запуск модели

END Конец моделирования

^ Режим статистической передачи

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



Рис. 25. Блок TRANSFER в режиме статистической передачи

В операнде А записывают частота передачи транзактов в блок С (это число должно быть больше 0 и меньше 1 и всегда начинаться с десятичной точки). В операнде В записывают имя блока, в который переходят транзакты с частотой равной 1 - (частота в операнде А). Розыгрыш направления передачи транзакта производится с помощью датчиков равномерно распределенных случайных величин в интервале (0,1), входящих в GPSS/H.

Примеры блока TRANSFER в режиме статистической передачи:

^ TRANSFER .25,BOX,PLAY

транзакты, входящие в блок, в 25% случаев будут передаваться в блок с именем PLAY. В остальных 75% случаев они будут переданы в блок с именем BOX.

TRANSFER .33,,FAX

транзакты, входящие в блок, будут переданы в 33% случаев в блок с именем FAX. В остальных случаях они попадут в следующий по порядку блок.

^ Пример моделирования

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

Пусть ГПС содержит два независимо функционирующих робототехнических комплекса (РТК). В ГПС поступает равномерный поток заданий на обработку. Для выполнения одних заданий требуется РТК1, для выполнения других - РТК2. Выбор РТК происходит случайным образом: с вероятностью, равной 0.35, задание направляется на РТК1, и с вероятностью 0.65 (1 - 0.35) - на РТК2. Для упрощения времена между поступлениями заданий в ГПС, времена работы РТК по выполнению заданий примем равномерно распределенными со средними значениями 100, 80, 200 и размахом 40, 50, 20 соответственно. Требуется построить модель и определить загрузку обоих РТК и среднее количество скопившихся перед ними заданий.

Графическая интерпретация модели представлена на рис. 26.



Рис. 26. Блок-схема GPSS/H-модели ГПС
GPSS/H-программа приведена ниже:
SIMULATE

GENERATE 100,40 Поступление заданий в ГПС

TRANSFER .65,ОН1,ОН2 65% идет в РТК2, а 35% в РТК1

OH1 QUEUE 1 Ожидание освобождения РТК1

SEIZE RTK1 Занятие РТК11

DEPART 1 Конец ожидания

ADVANCE 80,50 Обработка в РТК1

RELEASE RTK1 Освобождение РТК1

TRANSFER ,FIN Задание выполнено

ОН2 QUEUE 2 Ожидание освобождения РТК2

SEIZE RTK2 Занятие РТК2

DEPART 2 Конец ожидания

ADVANCE 200,20 Обработка в РТК2

RELEASE RTK2 Освобождение РТК2

FIN TERMINATE Задание выполнено

GENERATE &TIM Моделирование 24 часов

TERMINATE 1

START 1

END
В модели использованы два прибора и две очереди. Прибор с именем RTK1 использован для моделирования работы РТК1, прибор с именем RTK2 - для моделирования работы РТК2. Очередь 1 служит для сбора информации о времени нахождения на ГПС заданий, направляемых на РТК1, очередь 2 - времени нахождения в ГПС заданий, направляемых на РТК2. Поток транзактов создается блоком GENERATE, после чего следует вероятностное прореживание потока транзактов с помощью блока TRANSFER. Этот блок с вероятностью 0.35 направляет транзакты в блок с именем ОН1 и с вероятностью 0.65 в блок с именем ОН2. Блок TRANSFER безусловного типа в модели использован для передачи транзактов, вышедших из прибора RTK1 в блок TERMINATE с именем FIN.
Режим BOTH

Когда требуется передать транзакты не случайным образом в один из двух заданных блоков, используют блок TRANSFER в режиме ВОТН.


Рис. 27. Блок TRANSFER в режиме ВОТН
В операнде А записывается слово BOTH. В операнде В записывается имя блока в который будет осуществляться начальная попытка передачи транзакта, если она неудачна (например занятый блок SEIZE), то транзакт будет передан в блок с именем записанным в операнде С. Если и этот блок откажет во входе, то транзакт останется в блоке TRANSFER пока блоки указанные в операндах В или С не освободятся. Первым проверяется блок с именем в операнде В.

Примеры блока TRANSFER в режиме BOTH:

^ TRANSFER BOTH,BOX,PLAY

транзакт будет пытаться войти в блок с именем ВОХ, если эта попытка неудачна, то он будет пытаться войти в блок с именем PLAY. Если и эта попытка неудачна, транзакт останется в блоке TRANSFER пока не освободится блок BOX или блок PLAY.

^ TRANSFER BOTH,,COM

транзакт будет пытаться войти в следующий по порядку блок, если эта попытка неудачна, то он будет пытаться войти в блок с именем СОМ.
4.14. Стандартные числовые атрибуты
В процессе моделирования интерпретатор автоматически регистрирует и корректирует некоторую информацию, касающуюся различных элементов, используемых в модели. Такой информацией являются текущие результаты моделирования: счетчики блоков, загрузки приборов и многоканальных устройств, средние времена пребывания в очередях и т.д. Эти результаты могут быть использованы в процессе моделирования. Более того, процесс моделирования может управляться динамически в зависимости от их значений. Например, интенсивность, с которой прибор обслуживает заявки, может зависеть от числа заявок, ожидающих обслуживания. При возрастании длины очереди прибор может работать быстрее.

Для оперирования с текущими результатами в GPSS/H используются стандартные числовые атрибуты (СЧА). Основные СЧА приведены в таблицах 6 - 11.
Таблица 6

СЧА времени

СЧА

Описание

АС1

С1

Время прошедшее, начиная с начала моделирования (абсолютное время)

Время, отсчитанное после того, как GPSS/H встретить оператор RESET (относительное время). Если оператора RESET нет в модели, то АС1=С1.


Таблица 7

СЧА блоков

СЧА

Описание

W(n)

N(n)


Число транзактов в текущий момент времени в блоке с именем или номером n

Число транзактов, вошедших в блок, с именем или номером n за все время моделирования


Например, в N(COMP) записывается общее число, вошедших транзактов в блок с именем COMP.

Таблица 8

СЧА транзактов

СЧА

Значение

PB(n),PН(n),

PF(n),PL(n)

PR

XID1

Номер или имя соответственно байтового, полусловного, полнословного и действительного параметров транзакта

Уровень приоритета транзакта

Номер обрабатываемого в данный момент времени транзакта


Таблица 9

СЧА приборов

СЧА

Значение

F(n)

FT(n)

FR(n)

Занятость прибора; F(n)=0, если прибор свободен и F(n)=1, если прибор занят

Время обслуживания транзакта прибором с именем n

Коэффициент использования прибора под именем n

Например,

FR(SERVER)

в СЧА записывается коэффициент использования прибора под именем SERVER.
Таблица 10

СЧА многоканальных устройств (МУ)

СЧА

Значение

R(n)

S(n)

SA(n)

SC(n)

SE(n)

SF(n)

SM(n)

SR(n)

Свободная емкость МУ под именем n

Текущее содержимое МУ под именем n

Среднее содержимое МУ под именем n

Число входов в МУ

1, если МУ не заполнено в настоящий момент – 0, если заполнено

1, если МУ заполнено в настоящий момент - 0, если не заполнено

Максимальное содержимое МУ под именем n

Коэффициент использования МУ под именем n


Например,

R(BUFFER)

в СЧА записывается число модулей МУ BUFFER, которые в настоящее время не используются.

SF(5)

в СЧА SF(5) принимает значение 1, если МУ под номером 5 в настоящее время заполнено; в противном случае МУ(5) принимает значение 0 (используется в TEST и в операторе FUNCTION).

Таблица 11

СЧА очереди

СЧА

Значение

Q(n)

QA(n)

QC(n)

QM(n)

QT(n)

QX(n)

QZ(n)

Текущее содержимое очереди под именем n

Средний размер очереди n

Число входов в очередь n

Максимальное содержимое очереди n

Среднее время пребывания транзакта (из расчета QC)

Среднее время пребывания транзакта (из расчета QZ)

Число нулевых входов (без задержки в очереди)


Например,

Q (LINE)

в СЧА записывается текущее число транзактов в очереди под именем LINE.
Все перечисленные СЧА могут использоваться в качестве операндов блоков и аргументов функций.
^ 4.14.1. Атрибуты транзактов
Атрибуты транзактов - характеристики, связанные с транзактами. Они есть у каждого транзакта и изменяются при движении транзактов по модели. Атрибуты транзактов делятся на две категории: встроенные (номер транзакта - XID1; номер блока, в котором находится транзакт; номер блока, куда войдет транзакт; время нахождения транзакта в модели - M1; уровень приоритета транзакта - PR) и определяемые пользователем или параметры (байтовый, полусловный, полнословный, действительный).

В GPSS/H возможно изменять только два встроенных атрибута: метку времени (присваивается транзакту, как только он создается блоком GENERATE) и уровень приоритета транзакта (первоначально задается в блоке GENERATE). В процессе перемещения транзактов по модели их параметры могут устанавливаться и модифицироваться в соответствии с заданной пользователем логикой. Эти значения можно использовать в качестве операндов блоков или аргументов функций.

Имя параметра состоит из двух частей: группового имени и номера конкретного члена этой группы. Групповым именем являются символы PH, PF, PB, PL в зависимости от типа параметра (полусловного, полнословного, байтового и действительного соответственно).

Тип и количество параметров каждого типа для транзакта определяется посредством блока GENERATE в операндах F,G,H. (значением по умолчанию является PH с количеством параметров равным 12).

Пример задания параметров транзактов:

^ GENERATE 7,,,,,4PF,8PL

транзакты будут создаваться каждые 7 единиц времени. Каждый транзакт будет иметь 4 полнословных параметра и 8 действительных.

GENERATE 5

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

Полусловный параметр (PH) может быть целым значением в интервале от -32,768 до 32,767. Полнословный параметр (PF) может быть целочисленным значением в интервале от -2,147,483,648 до 2,147,483,647. Байтовый параметр (PB) может быть целочисленным значением в интервале от -128 до 127. Действительный параметр (PL) может иметь значения с плавающей запятой значением в интервале от -2,147,483,648 до 2,147,483,647.

При входе транзакта в модель начальным значением всех его параметров является 0. Значения параметров определяет пользователь. Чаще всего это делают путем присвоения им некоторых числовых значений в соответствии со схемой кодирования. После этого значения параметров можно использовать явным образом.

Для примера рассмотрим гибкую производственную систему, в которой разделяются детали в зависимости от их веса и вида прошедшей обработки. Пусть транзакт это деталь. Характеристики каждой детали могут быть заданы в параметрах в соответствии со схемой кодирования приведенной в таблице 13.

Таблица 13

Вариант интерпретации значений параметров транзактов

Значение

PВ3

Интерпретация

(№ вид обработки)

Значение

PF7

Интерпретация (вес, кг)

1

2

3

Токарная

Фрезерная

Сверлильная

1

2

3

10

20

30


Например, если транзакт имеет в качестве параметров PВ3 и PF7 значения 3 и 1 соответственно, это означает – просверленная деталь весом 10 кг.

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

Примеры использования параметров транзактов:

^ ADVANCE PF9

транзакт, попавший в блок будет задержан на значение времени, которое записано в 9-ом полнословном параметре этого транзакта.

TRANSFER ,PH5

транзакт будет послан к блоку, номер которого определен в 5-ом полусловном параметре транзакта.
1   2   3   4   5   6   7   8   9   10   11



Скачать файл (282.3 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации