лекция Додонов част 2, страница 8
Описание файла
Документ из архива "лекция Додонов част 2", который расположен в категории "". Всё это находится в предмете "теория проектирования автоматизированных станков" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .
Онлайн просмотр документа "лекция Додонов част 2"
Текст 8 страницы из документа "лекция Додонов част 2"
Имитационное моделирование – проведение нескольких сотен расчетов по выбору одели АСС.
Расчеты проводятся при изменяющихся состояниях системы. Изменение параметров и состояния определяется с помощью законов распределения и датчиков случайных чисел (ДСЧ).
ДСЧ - электронное устройство, вырабатывающее с равной вероятностью любое число от 0 до 1 по равномерному закону. ДСЧ позволяет нам «произвольно» разыгрывать возможные состояния системы. ДСЧ находится у всех станков и накопителей. ДСЧ – датчик текущего времени обработки.
Моделирование процессов обработки осуществляется с использованием компьютеров, т.к. объемы обрабатываемой информации довольно велики, а результаты моделирования получить в короткий срок.
Как правило, компьютерные системы проектирования производства представляют собой средства динамического моделирования различных дискретных процессов. Именно моделирование дискретных процессов позволяет интерактивно проследить за течением процессов в исследуемой системе и оценить адекватность ее параметров, способность выполнять поставленную задачу.
При имитационном моделировании можно написать вместо экспоненциального закона конкретные статистические данные и это расширяет его возможности.
Процесс исследования АСС методом имитационного моделирования можно разбить на этапы.
1.Формализация объекта и процесса моделирования;
2. Преобразование полученного описания в концепцию выбранного языка моделирования;
3.Составление программы на языке моделирования.
4. Выполнение программы на ЭВМ;
Обработка статистической информации;
Принятие решений относительно продолжения процесса моделирования. Мы рассмотрим один из наиболее популярных и универсальных языков имитационного моделирования GPSS: General Purpose Simulation System (Моделирующая система общего назначения). Этот язык разработан фирмой IBM и входит в число наиболее распространенных языков программирования.
Система моделирования GPSS включает язык, транслятор и интерпретатор. Язык позволяет описывать функционирование объектов в виде совокупности взаимосвязанных процессов. Транслятор осуществляет поэтапный перевод символического текста на машинный язык. Интерпретатор подключается на этапе выполнения программы и обеспечивает управление вычислительным процессом, автоматический сбор и обработку результатов моделирования, интерпретацию отдельных процедур.
Средства специализированного языка GPSS.
Специфика:
Встроенный генератор случайных чисел (ДСЧ).
Средства «разыгрывания» случайных чисел по равномерному, экспоненциальному и нормальным законам распределения случайных чисел.
Средства «разыгрывания» эмпирических распределений
Встроенный таймер модельного времени
Автоматическое выполнение некоторых логических операций: проверка состояния в очереди, определения наличия заявки.
Автоматическое управление таймером - продвижение таймера до времени возникновения ближайшего события.
Средства автоматического сбора статистических данных в тех местах модели, которые интересуют разработчика.
Автоматическая распечатка собранной статистики.
Объекты и операторы GPSS.
Основными элементами языка GPSS являются транзакты и блоки, которые отображают соответственно динамические и статические объекты моделируемой системы. Работа GPSS модели заключается в перемещении транзактов от блока к блоку. Для большей ясности, можно провести аналогию: транзакты - это обрабатываемые автоматизированной системой детали, а блоки - это технологические операции, вспомогательные переходы и т.д. (взять заготовку, закрепить заготовку, обработать и т.д.), через которые последовательно проходит обрабатываемая деталь.
С точки зрения программы - транзакт это структура данных, которая содержит такие поля: имя или номер транзакта; время появления транзакта; текущее модельное время; номер блока, в котором транзакт находится; номер блока, куда он продвигается; момент времени начала продвижения; приоритет транзакта; параметры транзакта: P1,Р 2, и т.д.
При начале моделирования в GPSS-модели не существует ни одного транзакта. В процессе моделирования транзакты входят в модель в определенные моменты времени, задаваемые программой моделирования. Таким же образом транзакты покидают модель в зависимости от специфики моделирования. В общем случае в модели существует несколько транзактов. Если транзакт начал свое движение, он передвигается от блока к блоку по пути, указанному блок-схемой (логикой работы модели). В тот момент, когда транзакт входит в блок, вызывается соответствующая этому блоку подпрограмма. Далее транзакт (в общем случае) пытается перейти в следующий блок. Его перемещение прекращается, если выполнится одно из следующих возможных условий:
1. Транзакт входит в блок, функцией которого является задержка транзакта на определенное время.
2. Транзакт входит в блок, функцией которого является удаление транзакта из модели.
3 . В соответствии с логикой модели транзакт пытается войти в следующий блок, но блок не принимает этот транзакт. В этом случае транзакт остается в том блоке, в котором в данное время находится, но позже будет повторять попытки войти в следующий блок. Когда условия в модели изменятся, одна из таких попыток может быть успешной. После этого транзакт продолжит свое перемещение по модели.
Блоки языка GPSS представляют собой подпрограммы и содержат набор параметров (операндов) для обращения к ним. Как и во всех языках моделирования в GPSS существует внутренний механизм передачи управления, который реализуется в модельном времени, что дает возможность отобразить динамические процессы в реальных системах. Передача управления от блока к блоку в GPSS-программах реализуется с помощью движения транзактов в модельном времени. Обращение к подпрограммам блоков происходит через движение транзактов.
Формат GPSS блоков. В записи блока выделяют три части: метку, название, поле переменных. Пример блока:
LI GENERATE 30,5 ;Прибывает деталь
В поле переменных выделяют подполя (в данном примере у оператора два подполя в них стоят числа 30 и 5), разделяемые при записи запятыми и служащие для указания операндов. Подполя могут быть пустым. Возможна запись комментария через точку с запятой. Числа, стоящие в подполях, называют операндами. Операнды служат для указания различных величин, фигурирующих в модели. Так в нашем примере 30 - средняя длина интервала, 5 - +/- 5 минут т.е. время изменяется от 30-5 до 30+5 минут то есть промежуток времени между поступлениями деталей может быть: 25,26,27,28...35 минут.
Ввод транзактов. Блок GENERATE(генерировать).
Б лок GENERATE [A], [B]. A и B- операнды. A- средний интервал времени. В- половина поля допуска равномерно распределенного интервала. Например:
GENERATE 12, 4- операнды 12 и 4. Интервал времени поступления транзакта является случайным числом со средним значением 12 и полем допуска 4, то есть он может приобретать только одно из девяти разных значений: 8,9,10,11,12,13,14,15,16.
Удаление транзактов из модели. Блок TERMINATE (завершить).
Транзакты удаляются из модели, попадая в этот блок. Формат блока TERMINATE [A].
я
A
![](/z.php?f=/uploads/unziped/real/260369/doc/242945/242945-55874_html_ba94fdde73c30a2a.gif)
TERMINATE 3 – удаление транзакта из системы, при этом содержимое итогового счетчика уменьшится на 3 единицы, моделирование заканчивается если содержимое счетчика станет равным нулю или меньше нуля.
Занятие свободных приборов. Блоки SEIZE (занять) и RELEASE (освободить).
П
SEIZE
![](/z.php?f=/uploads/unziped/real/260369/doc/242945/242945-55874_html_d0052aa5423f7d26.gif)
![](/z.php?f=/uploads/unziped/real/260369/doc/242945/242945-55874_html_ec6a41b3a9ec5911.gif)
![](/z.php?f=/uploads/unziped/real/260369/doc/242945/242945-55874_html_9786fd7ca314e515.gif)
RELEASE
![](/z.php?f=/uploads/unziped/real/260369/doc/242945/242945-55874_html_e11a1cb8ebeed009.gif)
![](/z.php?f=/uploads/unziped/real/260369/doc/242945/242945-55874_html_ecf6239c9a7da88.gif)
Пример:
SEIZE Robot- занятие устройства робот приходящим на его вход транзактом; если устройство занято, то транзакт задерживается в очереди к этому устройству.
RELEASE Robot- освобождение устройства Robot, обслуженным транзактом.
Р
ADVANCE
A,B
![](/z.php?f=/uploads/unziped/real/260369/doc/242945/242945-55874_html_e11a1cb8ebeed009.gif)
Д етерминированное (постоянное);
Равномерное распределение;
Другие распределения
Как и при использовании блока GENERATE остановимся на рассмотрении равномерного распределения случайных величин. Модели на GPSS позволяют использовать более сложные функции распределения. Формат ADVANCE [A],[B]; А- среднее время задержки, В- половина поля допуска. Пример:
ADVANCE 8,1 – задержка транзакта на интервал времени распределения примерно в диапазоне [8-1;8+1] то есть любое значение из ряда 7,8,9.
С
QUEUE
B
![](/z.php?f=/uploads/unziped/real/260369/doc/242945/242945-55874_html_eefa2a7a95ef0c90.gif)
![](/z.php?f=/uploads/unziped/real/260369/doc/242945/242945-55874_html_9ee1495ec48e5688.gif)
![](/z.php?f=/uploads/unziped/real/260369/doc/242945/242945-55874_html_b1157ccfea14b0b6.gif)
![](/z.php?f=/uploads/unziped/real/260369/doc/242945/242945-55874_html_3e590fc9c9e39b7.gif)
![](/z.php?f=/uploads/unziped/real/260369/doc/242945/242945-55874_html_b89fec78db45df22.gif)
С
DEPART
B
татистика освещает следующие вопросы: Ч исло транзактов, приходящих в очередь;
С колько транзактов присоединилось к очереди, сколько попало сразу попали на обслуживающий прибор, например – станок;
Максимальная длина очереди;
Среднее время ожидания транзактов в очереди;
Среднее число ожидающих транзактов.
Формат блоков QUEUE [A],[B] и DEPART [A],[B], где А – имя очереди, В – число единиц, на которое увеличивается или уменьшается длина очереди.
Пример:
QUEUE One – встать в очередь «One».
DEPARTE One – покинуть очередь «One».
В языке GPSS используются около 40 блоков.
Пример создания программы моделирования.
Пример 1. Гибкий производственный модуль (сверлильно-фрезерно-расточной) с потоком поступающих на него деталей.
Интервалы поступления корпусных деталей на модуль распределены равномерно в интервале 18±6 минут. Время обработки также распределено равномерно в интервале 16±4 минуты. Дисциплина обслуживания “первым пришел- первым обслужен”. Модель процесса обработки на ГПМ должна обеспечить сбор статистических данных об очереди. Необходимо промоделировать работу ГПМ в течение 8часов модельного времени.
Моделирование.
Модель строится в виде непрерывной цепи блоков с добавлением компонентов, предназначенных для управления моделированием. Порядок блоков в модели соответствует порядку фаз, в которых оказывается заготовка при обработке на ГПМ. Заготовки приходят, если необходимо, ждут своей очереди, затем загружаются в ГПМ, происходит обработка, затем деталь покидает ГПМ.
Результаты моделирования
ГПМ использовался в течении 86% времени.
ГПМ обработал 26 деталей