Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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ОСК — попытка открытия ворот) делается при каждом переходе к новому событию в соответствии с местом будущих событий. После того как транзакт ZТ прошел ворота, выполняется процедура «поиск устройства», в котором процесс заканчивается в самое ближайшее время, и далее происходит переход робота к установке в соответствии с рис. 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. Логическое «дерево» определения NК и вычисления DТ для случая занятости робота и превышения допуска на время обработки:
1 - закончена обработка на установке; 2 — проверяется условие: «Робот свободен?»; 3 — проверяется условие: «Находится ли робот у установки?»; 4 - нормальный переход к следующему шагу техпроцесса; 5 -опрос «ловушки»; 6 — «ловушка» (ворота); /-проверяется условие: «Находится ли робот у установки?»; 8 - проверяется условие: «Нарушен ли допуск на время обработки?»; 9 — к процедуре «возврат модели к состоянию 7" и продолжение моделирования; 10 - проверяется условие: «Робот выполняет цикл 0?»; 11 - проверяется условие: «Робот выполняет цикл 1?»
Если выполнены два условия, то процесс моделирования продолжается нормально, деталь-транзакт занимает робот, который переносит ее из данной установки в следующую. При невыполнении хотя бы одного условия осуществляется коррекция, алгоритм которой аналогичен описанному выше при ситуации занятости установок. В данном случае выбор корректируемой детали-транзакта осуществляется только из двух деталей-транзактов, одна из которых — деталь-транзакт ТХ1, выходящая из «ловушки», а вторая — деталь-транзакт ТХ2, из-за обслуживания которой робот не пришел к данной установке. Величина корректируемой поправки DТ рассчитывается по разным формулам в зависимости от того, в каком цикле находился робот (с деталью или без детали), а также какое условие из двух не выполнено. Логическое дерево определения NК и DТ для рассматриваемого случая представлено на рис. 5. Расчет корректирующей поправки DТ базируется на следующих величинах: время попадания детали-транзакта в «ловушку» (хранится в параметре транзакта ТХ(LТХ, 24)), текущее время моделирования Т, момент времени занятия деталью-транзактом робота в цикле (хранится в параметре транзакта ТХ(LТХ, 23)), время выполнения цикла роботом с деталью и без детали ТА и ТВ (в настоящей модели ТА и ТВ являются постоянными и принимаются равными максимально возможным; рассчитываются перед началом моделирования). Последнее допущение является одной из неточностей, не позволяющей определять оптимальное расписание, а только квазиоптимальное. Опыт работы с моделью показал, что процедуру поиска квазиоптимального расписания целесообразно проводить в два этапа. На первом этапе отыскивается последовательность запуска (матрица МТ) деталей-транзактов в линию при идеальном роботе, обладающем мгновенным быстродействием. Эта последовательность запуска определяется только занятостью установок. На втором этапе уже полученная последовательность запуска деталей-транзактов уточняется (раздвигается) в тех местах последовательности, где реальному роботу не хватает времени на обслуживание деталей-транзактов. Поиск квазиоптимального расписания в два этапа существенно ускоряет процедуру, так как отпадают циклы итераций, связанные с поиском коррекций на случай занятости робота на внутренних циклах итерационной процедуры поиска последовательности занятия технологических установок.
Date: 2016-05-18; view: 634; Нарушение авторских прав |