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



ЗНАЕТЕ ЛИ ВЫ?

Алгоритм решения задачи и его описание

Поиск

Имитационная модель роботизированной линии представляет собой (рис. 2, а) совместно работающие основную цепь моделирования, цепь предварительного подхода робота к технологической установке и подси­стему графического отображения меняющихся ситуаций в линии. Каждая из указанных цепей обладает необходимой универсальностью для моделирования различных структур линий.

Логика модели построена таким образом, что при работе в режиме по­лучения расписания и при нарушении хотя бы одного из четырех указан­ных выше условий проводится идентификация возникшей конфликтной ситуации (коллизии) и по ее результатам вычисляется коррекция на вре­мя входа детали-транзакта в систему-линию и осуществляется возврат мо­дели к состоянию, предшествующему входу в систему-линию корректи­руемой детали-транзакта.

Основная цепь (рис. 2, б) моделирует прохождение деталей-транзактов через станцию загрузки, технологические установки и станцию выгрузки (стрелками показано направление следования деталей-транзактов). Рабо­та модели начинается с создания транзактов, моделирующих существова­ние деталей, количество которых 2 должно быть заведомо большим, чем находящихся в линии в процессе ее работы. Так как это число априори не известно, то его следует принимать равным числу установок в линии (большое число 2 увеличивает машинное время моделирования, а малое число 2 создает опасность получения неоптимального расписания).

 

 

а

 

 

Рис. 2. Построение имитационной модели

 

а. Укрупненная блок-схема модели: 1 -основная цепь моделирования; 2 — подсистема графического отображения; 3 — цепь предварительного подхода робота к установке;

б. Блок-схема основной цепи модели: 1 — начало моделирования; 2 - создание транзактов, моделирующих детали; 3 — проверка условия: «Запоминание состояния линии?»; 4 — запоминание состояния линии в данный момент времени Т'; 5 — определение следующего шага техпроцесса, 6 - проверка: «Выполнены условия F1, F2, F3, F4?»; 7 — транспортная система; 8 — проверка условия: «Окончен техпроцесс?»; 9 — обработка; 10 — наладка; 11 — проверка условия: «Наладка устройства?»; 12 — коррекция NК, DТ; 13 — возврат модели к состоянию Т'; 14 - выход детали из линии; 15 — проверка условия: «Окон­чание обработки партии деталей?»; 16 — уничтожение деталей-транзактов; 17 - об­работка статистических данных, печать и выход из программы;

в. Блок-схема цепи предварительного подхода робота: 1 создание транзакта; 2 — ворота; 3 - поиск устройства П, в котором процесс закачивается «первым»; 4 — занятие робота; 5 -переход робота к устройству П; в - освобождение робота; 7 - опрос ворот при каж­дом переходе к новому событию.

При вхождении детали-транзакта в систему-линию проверяется усло­вие (ТХ(LТХ, 1).ЕQ.ND1) запоминания состояния всех элементов линии в данный момент времени Т*. Если это условие выполняется, то осуществ­ляется запоминание. В начале моделирования (ND1=1) принимается T* = =0, т. е. при проведении коррекции модель возвращается к началу моде­лирования. Состояние системы-линии в основном определяется как сово­купность состояний отдельных ее элементов (технологических установок» станций загрузки-выгрузки, роботов) и параметрами деталей-транзактов. Состояния отдельных элементов линии отображаются в модели с помо­щью матриц приборов FАС (20, 3), а деталей-транзактов — с помощью мат­рицы транзактов ТХ (200, 30). Состояние логических связей в системе-ли­нии определяется переменными логического типа (булевыми). Запомина­ние состояния всех элементов линии в момент времени Т" осуществляется простой процедурой присвоения значений дублирующим переменным.

После этого определяется для данной детали-транзакта текущий шаг выполнения техпроцесса, т. е. определяется операция обработки. Эта процедура осуществляется простым наращиванием счетчика шагов в одном из параметров детали-транзакта, в соответствии с которым по матри­це техпроцессов МН (см. разд. «Представление исходных данных») опре­деляется операция обработки. Далее для этой детали-транзакта проверяет­ся условие занятости технологических устройств, которые могут выпол­нить эту операцию, и занятости робота, обслуживающего эти технологи­ческие установки.

При занятости технологических установок или робота проводится про­цедура коррекции, описанная ниже, и осуществляется возврат модели к состоянию, соответствующему времени Т', путем процедуры переприсвоения переменных, определяющих состояние всех элементов линии. Если свободно технологическое устройство и робот, деталь-транзакт попадет в блок «транспортная система», который моделирует работу роботов. По­строение блока основано на использовании понятия транспортной матри­цы, полностью отображающей транспортные связи в линии. Каждый элемент матрицы несет информацию о расстояниях между установками, а быстродействие роботов задается отдельно, во входном файле.

Блок «обработка» моделирует процесс обработки (нахождения) деталей-транзактов в технологических установках. Он построен на основе принципа косвенной адресации и понятия прибора. Часто в техноло­гических установках требуется проводить наладку (смену растворов или проведение других подготовительных операций) через заданное число об­работанных деталей. Процесс наладки моделируется блоком проверки ус­ловия наладки устройства (сравнивается содержимое счетчика прохожде­ния деталей через данную установку с заданным допустимым числом на­ладок для данной операции техпроцесса) и процедурой «расщепление» (SPLIT) появления дубль-транзакта, который занимает технологическую установку на время наладки и после ее окончания уничтожается (ТЕR-МIN). После окончания обработки деталь-транзакт переходит к уже опи­санном месту модели-блоку определения следующего шага техпроцесса.

При выполнении условия окончания техпроцесса деталь-транзакт вы­ходит из линии (уничтожается данный транзакт (ТЕRМIN), изменяется условие ND1=ND1+1 и создается новая деталь-транзакт, которая направ­ляется к входу линии). Выход из программы моделирования осуществляет­ся по окончании обработки заданного числа деталей. Перед выходом из программы проводится обработка собранных в процессе моделирования статистических данных и вывод результатов на печать.

Цепь предварительного подхода робота моделирует подход робота к технологической установке до окончания обработки детали в ней. Перед началом моделирования наряду с транзактами Z, которые генерируются и используются в основной цепи, генерируется транзакт ZТ, отвечающий за реализацию процесса предварительного подхода (рис. 2, в), который по­ступает к нормально закрытым «воротам» (GАТЕ-1). Разрешением к открытию ворот является занятие какой-либо деталью-транзактом техно­логической установки или станции загрузки/выгрузки. Опрос ворот (UN-LОСК — попытка открытия ворот) делается при каждом переходе к ново­му событию в соответствии с местом будущих событий. После того как транзакт прошел ворота, выполняется процедура «поиск устройства», в котором процесс заканчивается в самое ближайшее время, и далее проис­ходит переход робота к установке в соответствии с рис. 2, в.

Подсистема графического отображения функционирования роботизи­рованной линии существенно облегчает работу исследователя в двух слу­чаях: когда отлаживается вновь созданная имитационная модель, то гра­фическое отображение меняющихся ситуаций в линии помогает исследо­вателю найти ошибки в построении модели, и когда найдено расписание работы робота, то наглядное отображение его реализации помогает экспер­ту оценить качество созданного расписания. Подсистема графического отображения базируется на библиотеке подпрограмм, каждая из ко­торых позволяет изображать на экране дисплея тот или иной объект (ус­тановки, робот с транспортным путем, станции загрузки, выгрузки). На рис. 3 показан пример отображения на экране дисплея линии, содержащей станцию загрузки 1, технологические устройства 2—7, 9—14, перегружа­тель 8, станцию разгрузки 15 и двух одновременно работающих роботов, обслуживающих все указанные устройства.

 

 
 

 

 

Рис. 3 Роботизированная линия гальванических ванн

 

Блок коррекции. Остановимся более подробно на этом блоке, так как от того, какие алгоритмы заложены в него, во многом определяются ре­зультаты поиска расписания работы робота (степень приближения рас­писания к оптимальному и быстродействие модели —число итераций при поиске установившегося расписания). Задача блока коррекции состоит в определении в зависимости от возникшей коллизии, какую деталь-тран­закт NK надо задержать перед входом в линию и на какую величину DT, которая для данной детали-транзакта суммируется с другими DТ, опре­деленными в других коллизиях, в матрице задержек МТ (NK) =МТ (NK) + DТ. Определение NK и DT осуществляется по различным алгоритмам в зависимости от возникшей коллизии в данный момент моделирования Т.

Возможны три различные ситуации: 1) заняты все технологические установки, которые могут выполнить данный шаг техпроцесса; 2) занят робот, обслуживающий данную группу технологических установок; 3) вре­мя обработки в технологической установке превышает заданный допуск.

Рассмотрим процедуры коррекции.

Заняты все технологические установки. В модели эта ситуация реали­зована для трех случаев в зависимости от того, на скольких установках может быть выполнена данная операция: а) на одной, б) на двух, в) на трех.

Независимо от случая а), б) и в) корректируемая деталь-транзакт вы­бирается среди деталей-транзактов, занявших установки, и детали-транзак­та, пытающегося занять одну из установок, исходя из двух следующих ус­ловий: корректируемая деталь-транзакт не должна войти в линию раньше, чем деталь-транзакт, пытающаяся занять одну из занятых установок; ве­личина коррекции должна быть минимальной, если возможны альтерна­тивные решения при выполнении указанного выше условия, т. е. для дан­ной модели это условие равносильно выбору из альтернативных деталей-транзактов последнего, поступившего в группу параллельных технологи­ческих установок. При решении задачи выбора корректируемой детали-транзакта из ТХ1, ТХ2, ТХЗ, ТХ4 в модели используются инструкции условного перехода, образующие логическое дерево (рис. 4), а для вычис­ления корректирующей поправки DТ — следующие переменные: 1) момен­ты времени входа деталей транзактов в технологические установки, кото­рые запоминаются в одном из параметров транзакта ТХ(LТХ, 7); 2) мо­менты времени окончания процессов обработки и наладки в технологиче­ских установках, хранящихся в листе будущих событий АL (минимальное их значение АLMIN).

Занят робот или нарушен допуск на время обработки. После окончания обработки в технологической установке деталь-транзакт пытается поки­нуть ее. При этом проверяется условие: есть ли робот у данной установки? Если условие выполняется, то процесс моделирования продолжается нормально, деталь-транзакт поступает в блок определения следующего шага техпроцесса и занимает робот, который переносит ее из данной установки в следующую. В противном случае деталь-транзакт попадает в «ловуш­ку» — специально организованные ворота, где она находится до тех пор, пока ворота не будут опрошены по сигналу UNLОСК, посылаемому каж­дый раз после окончания цикла перемещения. Деталь-транзакт, вышедшая из «ловушки», проверяется на два условия: 1) находится ли робот у дан­ной установки; 2) не превышен ли допуск на время обработки детали-транзакта в данной установке (деталь-транзакт, находящаяся в «ловушке», в то же время находится в установке, продолжается ее обработка).

 

Рис. 4. Логическое «дерево» определения NK и вычисления DT для

случая занятости ванн: 1— нарушено условие (F1); 2 - к процедуре «возврат модели к состоянию Т*» и продолжение моделирования; 3 — диагностика «ошибка».

 

Рис, 5. Логическое «дерево» определения и вычисления для случая занятости робота и превышения допуска на время обработки:

 

1 - закончена обработка на установке; 2 — проверяется условие: «Робот свободен?»; 3 — проверяется условие: «Находится ли робот у установ­ки?»; 4 - нормальный переход к следующему шагу техпроцесса; 5 -опрос «ловушки»; 6 — «ловушка» (ворота); /-проверяется условие: «Находится ли робот у установки?»; 8 - проверяется условие: «Нару­шен ли допуск на время обработки?»; 9 — к процедуре «возврат модели к состоянию 7" и продолжение моделирования; 10 - проверяется усло­вие: «Робот выполняет цикл 0?»; 11 - проверяется условие: «Робот вы­полняет цикл 1?»

 

Если выполнены два условия, то процесс моделирования продолжается нормально, деталь-транзакт занимает робот, который переносит ее из дан­ной установки в следующую. При невыполнении хотя бы одного условия осуществляется коррекция, алгоритм которой аналогичен описанному выше при ситуации занятости установок. В данном случае выбор корректи­руемой детали-транзакта осуществляется только из двух деталей-транзактов, одна из которых — деталь-транзакт ТХ1, выходящая из «ловушки», а вторая — деталь-транзакт ТХ2, из-за обслуживания которой робот не пришел к данной установке.

Величина корректируемой поправки рассчитывается по разным формулам в зависимости от того, в каком цикле находился робот (с де­талью или без детали), а также какое условие из двух не выполнено. Ло­гическое дерево определения и для рассматриваемого случая пред­ставлено на рис. 5. Расчет корректирующей поправки базируется на следующих величинах: время попадания детали-транзакта в «ловушку» (хранится в параметре транзакта ТХ(LТХ, 24)), текущее время модели­рования Т, момент времени занятия деталью-транзактом робота в цикле (хранится в параметре транзакта ТХ(LТХ, 23)), время выполнения цикла роботом с деталью и без детали ТА и ТВ (в настоящей модели ТА и ТВ являются постоянными и принимаются равными максимально возмож­ным; рассчитываются перед началом моделирования). Последнее допуще­ние является одной из неточностей, не позволяющей определять оптималь­ное расписание, а только квазиоптимальное.

Опыт работы с моделью показал, что процедуру поиска квазиоптималь­ного расписания целесообразно проводить в два этапа. На первом этапе отыскивается последовательность запуска (матрица МТ) деталей-транзактов в линию при идеальном роботе, обладающем мгновенным быстродей­ствием. Эта последовательность запуска определяется только занятостью установок. На втором этапе уже полученная последовательность запуска деталей-транзактов уточняется (раздвигается) в тех местах последова­тельности, где реальному роботу не хватает времени на обслуживание де­талей-транзактов. Поиск квазиоптимального расписания в два этапа су­щественно ускоряет процедуру, так как отпадают циклы итераций, свя­занные с поиском коррекций на случай занятости робота на внутренних циклах итерационной процедуры поиска последовательности занятия тех­нологических установок.

 

Порядок выполнения работы

 

3.1 Подготовка исходных данных и их ввод

Представление исходных данных. Данные, необходимые для модели­рования работы конкретной роботизированной линии, вводятся в модель в виде входных файлов и используются в модели через следующие матри­цы: матрицу перемещений роботов-манипуляторов МХ (i, j), каждая ячей­ка которой указывает расстояние в выбранных единицах от i-й позиции до j-й; матрицу техпроцессов МН(i, j), каждая строка которой содержит пос­ледовательность выполнения операций j при реализации техпроцесса i; матрицу МT(i, j), содержащую информацию о задержках поступления де­талей-транзактов в линию; i — номер техпроцесса, j — номер детали-тран­закта (перед началом работы модели в режиме получения расписания матрица является нулевой); матрицу МWD(i, j), содержащую информа­цию о времени выполнения операции i и о параметрах процедуры наладки технологических установок (j=4); матрицу МF(i, j), содержащую инфор­мацию для графического отображения положения всех неподвижных тех­нологических объектов роботизированной линии на экране дисплея; мат­рицу МR(i, j), которая включает данные для графического отображения начальных положений роботов.

Через отдельный входной файл вводится информация, определяющая: режим работы модели (получение расписания, подробная текстовая ин­формация, работа с графическим отображением и др.), а также информа­ция, которую необходимо оперативно менять в процессе исследования конкретной структуры линии, например скорость транспортирования, ко­личество изготавливаемых деталей и др.

Представление выходных данных. В процессе моделирования могут быть собраны многочисленные статистические данные, характеризующие работу роботизированной линии и использующиеся в дальнейшем для вы­бора рациональной структуры и оптимальных параметров. Собранные статистические данные после окончания моделирования обрабатываются и выводятся на печать: Т — время окончания моделирования, с; Р — количество прошедших линию деталей, шт; РОТ — производительность, шт/ч; коэффициенты загрузки технологических установок и роботов и матрица задержек деталей-транзактов МТ. В отдельный файл выводится информа­ция о работе роботов, которая необходима в дальнейшем для выделения цикла их работы. В соответствии с циклом работы роботов составляется управляющая программа, которая вводится в систему управления линией. В таблице в качестве примера показана одна из управляющих программ для линии, изображенной на рис. 3.

 

 

Номер кадра   Номер робота   Начало дви­жения робо­та, с   Код движе­ния робота   Номер устройства к которому движется робот Перемеще­ние робо­та, мм   Окончание движения робота, с   Номер детали в цикле  
               
               
               
          -565      
               
               
          -1505      
               
               
               
... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ...
               
               
               
               

 

В настоящее время процедура выделения цикла работы роботов осу­ществляется на основе эвристического алгоритма, параметры которого задаются, исходя из вида матрицы задержек деталей-транзактов. Проце­дура поиска квазиоптимального расписания для работы двух роботов, об­служивающих линию, состоящую из 6—12 ванн, занимает 5—10 мин ма­шинного времени ПЭВМ класса Мо1ого1а 68000.

 

4. Указания по оформлению отчета.

Отчет по лабораторной работе должен содержать:

- перечень исходных данных, введенных значений и варьируемых значений параметров;

- иллюстрации, поясняющие вариант постановки задачи (структура комплекса, принципиальная схема процесса, траектории перемещений и т. п.);

- схему решения задачи (блок-схему алгоритма) и основные расчетные выражения;

- выходные результаты проектирования (расчета);

- сравнительный анализ вариантов решенной задачи, выводы по работе с необходимыми иллюстрациями.

5. Контрольные вопросы

1.Какие функции моделируются в процессе работы?

2.Какие состояния моделируются в системе и как они задаются?

3.Как разрешаются ситуации занятости ПР или технологических установок?

4.Какие параметры характеризуют эффективную работу системы обслуживания?

 

 

Литература.

1. Shapiro С. W., Миttle Н. L. W. Hoist Scheduling for a PCB electroplating facility//IEEE Transact.. 1988. V. 20. № 2. Р. 157-167.

2. Шрайбер Т. Дж. Моделирование на GPSS. М.: Машиностроение, 1980. 592 с.

3. Schmidt B. GPSS-Fortran, 1980. 523 р.

4. Корендясев А. И., Серков Н. А. Гибкое автоматизированное производство, свойст­ва, уровни автоматизации, моделирование//Проблемы машиностроения и автоматизации/Междунар. центр, науч.-техн. информ. 1985. Вып. 5. С. 23-28.

5. Серков Н. А., Сосонкин А. В. Исследование производительности токарного ГП-участка методами имитационного моделирования // Контроль и диагностирование ав­томатического оборудования. М.: Наука, 1990. С. 11-17.

 

Лабораторная работа № 4

 



Поделиться:


Последнее изменение этой страницы: 2016-12-27; просмотров: 246; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.32.238 (0.013 с.)