Scientific journal
Modern problems of science and education
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 1,006

THE DATA STORAGE STRUCTURE OF THE PROGRAM OF PREPARATION OF PRODUCTION SCHEDULES

Sergeev A.I. 1 Savelev A.B. 1
1 Orenburg State University
In conditions of frequent changes in the industrial situation is the urgent task scheduling download process equipment. To solve this problem developed program MES systems. However, despite the power of these systems the number of publications on this subject in the scientific literature is not reduced. One of the main requirements to the MES system is the ability to quickly rebuild the production schedule due to changed conditions. All modern MES systems have this capability, but in their description, not usually reveal the details of methods of optimization or software implementation. The key factor here is the solution to the problem of the organization of the data processed by the program as classes, arrays, records. The paper considers the structure of the organization centralized data storage program for the generation of production schedules. An algorithm for the placement of operations, precluding simultaneous or inconsistent product processing at different technological equipment.
production schedule
class diagram
data structure

Динамичное изменение производственной ситуации может быть вызвано различными причинами:

  • экономическими – колебания спроса на продукцию, выход на рынок или уход с рынка продукции конкурентов;
  • политическими – введение ограничений политического характера на импорт (экспорт) продукции;
  • техническими – поломки оборудования, планово-предупредительный ремонт, техническое обслуживание.

Часть из перечисленных причин, например политические, носит стратегический характер, а часть (технические) – оперативный. На оперативном уровне актуальной является задача составления производственных расписаний в условиях непрерывного изменения производственной ситуации. Для решения данной задачи разработаны программы класса MES-систем (Manufacturing Execution Systems) - это интегрированные информационно-вычислительные системы, объединяющие инструменты и методы управления производством в режиме реального времени. Наиболее известными отечественными разработками в этой сфере являются системы оперативно-календарного планирования и диспетчерского контроля «ФОБОС» и Zenith SPPS [4], из зарубежных следует отметить систему PREACTOR. Однако, несмотря на широкие возможности данных систем, количество публикаций на данную тематику в научной литературе не снижается. Одним из главных требований к MES-системе является возможность быстрого перестроения производственного расписания из-за изменившихся условий. Все современные MES-системы имеют такую возможность, но в их описании, как правило, не раскрываются тонкости методик оптимизации или программной реализации. Ключевым фактором при этом является решение задачи организации данных, обрабатываемых программой в виде классов, массивов, записей [1]. Так, в работе [5] представлена объектная модель производственного процесса для составления субоптимального производственного расписания. Предложенная автором модель имеет сложную структуру классов, основанную на построении графовой модели производственного процесса. По другим системам подобная детальная информация о структуре организации данных внутри программы практически отсутствует.

Авторами предложена структура данных, основанная на использовании списков. В конечном счете производственное расписание можно представить в виде списка, включающего последовательность выполнения тех или иных операций на заданной единице технологического оборудования (ТО). Составление производственного расписания основано на добавлении и вставке операций в список работ оборудования с учетом их начала, окончания, текущего времени и занятости оборудования. UML-диаграмма основных классов представлена на рисунке 1.

Рис. 1. UML-диаграмма основных классов составления производственного расписания

Основным элементом является класс TPart, отображающий деталь. В атрибуте TP (технологический процесс) хранятся ссылки на класс TOperacia. Операция содержит поля для хранения моментов начала, окончания, длительности обработки и кода ТО, на котором должна выполняться обработка.

Рассмотрим пример составления производственного расписания для двух деталей: «Вилка» и «Корпус». Техпроцесс для вилки состоит из двух операций ТВ={t11=10 мин, t22=15 мин}, где tij – трудоемкость i-й операции, выполняемой на j-м ТО, например станке. Тогда для корпуса техпроцесс в соответствии с рисунком 2 представим как ТК={t12=8 мин, t21=10 мин, t32=12 мин}. При формировании задания на смену создается список SZ (сменное задание) типа TList, в который записываются ссылки на экземпляры класса TPart каждого изделия. Таким образом, SZ хранит столько объектов деталей и операций, сколько необходимо распланировать в обработку, что дает возможность в любой момент времени отследить где, на каком оборудовании и какая операция выполняется.

У объекта TStanok в атрибут Time заносятся ссылки на операции, находящиеся в сменном задании. Первой всегда устанавливается операция с нулевыми параметрами длительности, начала и окончания обработки. Это необходимо для задания момента начала планирования. В соответствии с рисунком 2 операции для изготовления вилки добавляются последовательно сначала на первый, затем на второй станок, при этом не возникает никаких сдвигов, так как оба станка свободны. При добавлении операций фиксируются моменты начала и окончания их обработки, на рисунке эти моменты выделены утолщённой линией в таблице сменного задания.

Так как у корпуса первая операция выполняется на втором станке, то проверяется есть ли возможность разместить ее в образовавшемся простое. Если длительность операции это позволяет, то вызывается метод вставки ссылки на данную операцию между нулевой и первой операцией станка 2. Тем самым ссылка на вторую операцию детали «Вилка» сдвигается в последовательности работ станка 2 с неизменным моментом начала обработки.

Рис. 2. Принцип размещения операций на оборудовании

Рис. 3. Алгоритм размещения операций по оборудованию

Дальнейшие операции планируются последовательно. Распределение операций выполняется по алгоритму, показанному на рисунке 3, при этом учитываются следующие условия:

  • если у оборудования есть простой:

а) можно ли в него разместить текущую операцию?

б) предыдущая операция изделия закончилась раньше, чем освободился станок?

  • если у оборудования простоев нет:

а) в момент начала операции установить момент окончания предыдущей операции или момент освобождения станка?

Данные условия позволяют жестко фиксировать очерёдность операций и не допускают ситуации, когда две операции одного и того же изделия обрабатываются одновременно.

Для визуализации графика занятости оборудования в виде диаграммы Ганта нужно просто перебрать список операций сменного задания и по полученным моментам начала и окончания обработки отобразить простои и работу оборудования.

Таким образом, предложенная диаграмма классов программы позволяет организовать централизованное хранение списка уникальных данных, определяющих производственное расписание. Внесение различного рода плановых и внеплановых простоев выполняется как работы отдельного типа. Доставку и переустановку заготовок можно организовать добавлением фиксированного времени или времени, которое изменяется по определенному закону распределения. Для оптимизации производственного расписания могут использоваться известные алгоритмы, например генетический алгоритм, формирующий оптимальную последовательность запуска изделий в обработку [2; 3].

Рецензенты:

Сердюк А.И., д.т.н., профессор, директор Аэрокосмического института, Оренбургский государственный университет, г. Оренбург;

Поляков А.Н., д.т.н., профессор, заведующий кафедрой технологии машиностроения, металлообрабатывающих станков и комплексов, Оренбургский государственный университет, г. Оренбург.