Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка_Алексеев ВКР.docx
Скачиваний:
120
Добавлен:
11.02.2019
Размер:
26.97 Mб
Скачать

5.2 Разработка имитационной модели производственной ячейки.

Согласно заданию, проектирование имитационной модели производственной ячейки требует разработки библиотечного элемента, который можно многократного использовать в качестве пользовательского объекта при создании имитационных моделей гибких производственных систем. Другими словами, требуется создать гибкий производственный модуль (ГПМ)

Модель ГПМ должна отрабатывать следующие функции:

1. Распознавать детали, поступающие на вход ИМ ГПМ для обработки.

2. Определять длительность обработки детали на данной операции технологического маршрута.

3. Определять длительность переналадки станка на обработку данной детали.

4. Определять количество деталей в заводской таре (контейнере) и отрабатывать соответствующее число циклов обработки.

5. Определять следующую операцию в технологическом маршруте обработки конкретной деталей.

6. Определять окончание технологического маршрута обработки деталей.

7. Передавать пустой контейнер из входного накопителя в накопитель на выходе ИМ ГПМ

Разработку имитационной модели производственной ячейки выполним в студенческой версии программы Tecnomatix Plant Simulation 14.

Для многократного использования имитационной ячейки в гибких производственных модулях, создаем библиотечный элемент. В библиотечном элементе создаем для настраиваемых объектов папку «НастраиваемыеОбъекты», где создаем фрейм нашей производственной ячейки и куда помещаем объекты имитационного моделирования.

Рисунок 5.1 – Созданный пользовательский фрейм БазСтанок в папке НастраиваемыеОбъекты: 1 – содержимое папки; 2 – объекты имитационной ячейки;

Фрейм создаем на базе стандартных объектов: Interface, Buffer, SingleProc, Method, Connector.

Создаем событие, в котором осуществляется замена комплекта инструмента. На смену инструмента тратится 1 час постоянного времени. В диалоговом окне объекта «Станок» на закладке «Времена» введем значение в опцию «Время переналадки» (рис.5.2.).

Рисунок 5.2 – Диалоговое окно объекта «Станок»

Управление выходом запрограммируем в объектах «Станок» и буфер «Заготовок» посредством атрибута типа метод (рис.5.3):

- «УпрВых» для буфера «Заготовок» – срабатывание «Перед», буфер выполняет загрузку станка;

- «УпрВых» для «Станка» – срабатывает «Перед» при разгрузке деталей из станка в контейнер, расположенный в буфере «Детали», и передача заполненного контейнера на следующий станок по маршруту обработки детали.

Рисунок 5.3 – Настройка параметров объекта «Заготовки»

Подобная логика программы ГМП должна иметь пользовательский атрибут. Создадим для всех деталей пользовательский атрибут «ОР», посредством которого осуществим отслеживание номера следующей операции в таблице «ТехМаршрут». Тип атрибута «ОР» целое число (integer) и оно будет иметь начальное значение – 1. Значение атрибута соответствует номеру строки в таблице маршрута обработки детали. Таблица маршрута обработки содержится в плане работ каждой детали. После каждой операции значение атрибута «ОР» увеличивается на единицу.

Рисунок 5.4 – Настройка параметров объекта «Заготовки»

Все детали имеют атрибут «ОР», поэтому его значение необходимо выполнить в библиотеке классов. Дублируем объект «Entity» в библиотеку классов, и переименуем его в «part», переместив в папку разрабатываемой имитационной модели. Создадим пользовательский атрибут «ОР» (рис.5.4).

Метод «УпрВых» буфера заготовок определяет параметр «Время операции» детали, поступившей на обработку. Для этого идет распознавание типа детали, и извлекается значение из подчиненной таблицы «ТехМаршрут», которая вложена в таблицу «ПланРабот». В таблице «ТехМаршрут», в колонке 3, находятся данные о продолжительности операции с соответствующим в строке номером операции. Метод устанавливает значение параметра продолжительности операции на объекте «Станок» и загружает первую деталь. Программный код метода «УпрВых» буфера «Заготовки» имеет содержание:

is

part:string;

proc_time:time;

op:integer;

do

part:=@.cont.name;

op:=@.cont.op;

--Установка вместимости контейнера обработанных деталей

Детали.cont.xDim:=@.xDim;

--считывание времени операции из таблицы ПланРабот

proc_time:=root.Управление.ПланРабот[1,part][3,op];

--Установка времени операции для Станка

Станок.procTime:=proc_time;

--загрузка первой детали в Станок

@.cont.move(Станок);

end;

Когда контейнер обработанных деталей заполняется, он покидает ГПМ и перемещается согласно маршруту обработки. При этом, пустой контейнер, освободившийся от заготовок, перемещается на место контейнера «Детали». Следующий контейнер поступающий в буфер «Заготовки» инициирует начало обработки следующей партии деталей. Если тип деталей в новой партии отличается от типа деталей предыдущей партии, то станок ГПМ перед началом обработки переналаживается в течении одного часа. Если тип деталей не изменился, то переналадка не происходит.

После окончания механической обработки на объекте «Станок», атрибут детали «ОР» увеличивается на единицу, и деталь перемещается в контейнер, который находится в буфере «Детали». Следующая заготовка загружается из контейнера буфера «Заготовки» в станок. Если контейнер «Заготовки» опустел, то для контейнера в буфере «Детали» определяется следующая операция по маршруту обработки, и следующий буфер соответствующей группы станков. Поиск осуществляется в таблице «Ресурсы» по названию станка и номеру «ОР». Если операция является последней в таблице «ТехМаршрут», то контейнер с деталями перемещается в буфер «Выход».

Метод «УпрВых» для объекта «Станок» используется для управления событиями при выходе из объекта «Станок». Программный код имеет вид:

is

target:object;

next_machine:string;

do

--увеличивается значение атрибута детали OP на один

@.op:=@.op+1;

--если деталь в контейнере последняя то

--прочитать следующую операцию в плане работ