Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






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





Имитационная модель роботизированной линии представляет собой (рис. 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)), время выполнения цикла роботом с деталью и без детали ТА и ТВ (в настоящей модели ТА и ТВ являются постоянными и принимаются равными максимально возмож­ным; рассчитываются перед началом моделирования). Последнее допуще­ние является одной из неточностей, не позволяющей определять оптималь­ное расписание, а только квазиоптимальное.

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

 

Date: 2016-05-18; view: 607; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию