Научная электронная библиотека
Монографии, изданные в издательстве Российской Академии Естествознания

ПРИЛОЖЕНИЕ

1. Проектирование системы работы участка цеха Цель работы

Создать программное обеспечение, позволяющее моделировать работу участка цеха.

Задание

На обрабатывающий участок цеха поступают детали для автомобилей в среднем через 30 мин. Первичная обработка деталей производится на одном из двух станков. Первый станок обрабатывает деталь в среднем 40 мин и имеет до 4 % брака, второй - 60 мин и 8 % брака соответственно. Все бракованные детали возвращаются на повторную обработку на второй станок. Детали, бракованные дважды, считаются отходами. Вторичную обработку детали проходят также на двух станках в среднем за 100 мин на каждом станке. Причем первый станок обрабатывает имеющиеся в накопителе детали после первичной обработки, а второй станок подключается при образовании в накопителе больше трех деталей. Смоделировать работу участка при наличии 500 деталей.

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

Этапы выполнения работы 1. Разработка структурной схемы моделируемой системы.

Для анализа процесса функционирования участка цеха необходимо составить Q-схему системы массового обслуживания. Q-схема относится к непрерывно-стохастическим моделям, где непрерывность определяется реальным временем функционирования модели, а стохастичность - случайными характеристиками входных потоков. На рис. 1.1 представлена структурная схема (Q-схема) алгоритма работы обрабатывающего участка цеха. 2. Разработка концептуальной модели.

Входные параметры системы - детали, поступающие в систему в среднем через 50 мин.

Выходные параметры системы - готовые детали.

Рис. 1.1. Структурная схема СМО

Дополнительные параметры системы:

 продолжительность первичной обработки деталей на первом станке - 40 мин, при этом имеет место 4 % брака;

 продолжительность первичной обработки деталей на втором станке - 60 мин, при этом имеет место 8 % брака;

 все бракованные детали возвращаются на повторную обработку на второй станок. Дважды бракованные детали считаются отходами;

 продолжительность вторичной обработки на обоих станках - 100 мин, при этом первый станок обрабатывает имеющиеся в накопителе после первичной обработки детали, а второй станок подключается при образовании в накопителе задела более 3 деталей;

 количество обрабатывающих задания систем (ЭВМ) - 1;

 участок моделирования - 500 деталей.

3. Блок-схема алгоритма моделирования системы (рис. 1.2).

Рис. 1.2

4. Моделирование на языке GPSS World.

a) листинг программы на языке GPSS:

SIMULATE;

NAK STORAGE 3;

GENERATE (Exponential(1,0,50)),,,500

GATE NU stanok1,STAN_2

STAN_1 SEIZE stanok1

ADVANCE (Exponential(1,0,40))

RELEASE Stanok1

TRANSFER .04,GOOD,BAD

STAN_2 SEIZE stanok2

ADVANCE (Exponential(1,0,60))

RELEASE Stanok2

TRANSFER .08,GOOD,BAD

BAD SEIZE stanok2

ADVANCE (Exponential(1,0,60))

RELEASE Stanok2

TRANSFER .08,GOOD,OTXOD

OTXOD TRANSFER ,OUT

GOOD QUEUE DETAILS

ENTER NAK,1

GATE SF NAK,STAN_3

GATE NU Stanok4,STAN_3

STAN_4 SEIZE Stanok4

LEAVE NAK,1

DEPART DETAILS

ADVANCE (Exponential(1,0,100))

RELEASE Stanok4

TRANSFER ,OUT

STAN_3 SEIZE Stanok3

LEAVE NAK,1

ADVANCE (Exponential(1,0,100))

RELEASE Stanok3

DEPART DETAILS

OUT TERMINATE 1

START 500

б) генерируемый программой отчет:

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 34305.774 31 4 1

NAME VALUE

BAD 11.000

DETAILS 10002.000

GOOD 16.000

NAK 10000.000

OTXOD 15.000

OUT 31.000

STANOK1 10001.000

STANOK2 10004.000

STANOK3 10003.000

STANOK4 10005.000

STAN_1 3.000

STAN_2 7.000

STAN_3 26.000

STAN_4 20.000

 

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 500 0 0

2 GATE 500 0 0

STAN_1 3 SEIZE 291 0 0

4 ADVANCE 291 0 0

5 RELEASE 291 0 0

6 TRANSFER 291 0 0

STAN_2 7 SEIZE 209 0 0

8 ADVANCE 209 0 0

9 RELEASE 209 0 0

10 TRANSFER 209 0 0

BAD 11 SEIZE 29 0 0

12 ADVANCE 29 0 0

13 RELEASE 29 0 0

14 TRANSFER 29 0 0

OTXOD 15 TRANSFER 6 0 0

GOOD 16 QUEUE 494 0 0

17 ENTER 494 0 0

18 GATE 494 0 0

19 GATE 465 0 0

STAN_4 20 SEIZE 159 0 0

21 LEAVE 159 0 0

22 DEPART 159 0 0

23 ADVANCE 159 0 0

24 RELEASE 159 0 0

25 TRANSFER 159 0 0

STAN_3 26 SEIZE 335 0 0

27 LEAVE 335 0 0

28 ADVANCE 335 0 0

29 RELEASE 335 0 0

30 DEPART 335 0 0

OUT 31 TERMINATE 500 0 0

 

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

STANOK1 291 0.336 39.598 1 0 0 0 0 0

STANOK3 335 0.995 101.910 1 0 0 0 0 0

STANOK2 238 0.383 55.210 1 0 0 0 0 0

STANOK4 159 0.492 106.141 1 0 0 0 0 0

 

QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

DETAILS 111 0 494 9 55.587 3860.244 3931.878 0

 

STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY

NAK 3 3 0 3 494 1 2.842 0.947 0 0

 

В колонке ENTRY_COUNT (счетчик входов) показано число транзактов, прошедших за время моделирования через каждый блок модели. В колонке CURRENT_COUNT (счетчик текущих транзактов) показано число транзактов, задержанных в каждом блоке в момент останова модели. Колонка ENTRIES (входы) содержит число транзактов, поступивших в очередь. Столбец с заголовком AVE.TIME содержит среднее время прохождения транзакта через очередь. Соседний столбец AVE.(-0) -среднее время, рассчитанное для тех транзактов, которые прошли очередь за ненулевое время, т.е. которые находились в очереди.

Из отчета работы программы следует, что на участке обработки 500 деталей были обработаны все детали. Из них 291 деталь прошла через первый станок, 209 деталей прошло через второй станок, 29 деталей признаны бракованными и были отправлены на вторичную обработку, 6 деталей после повторной обработки были признаны браком и стали отходами. То есть через второй станок прошло 238 деталей. 494 детали признаны годными и были отправлены на вторичную обработку. Во время вторичной обработки через первый станок прошло 335 деталей, через второй - 159. При первичной обработке среднее время прохождения одной детали через первый станок составило 39,598 мин, через второй - 55,210 мин. При вторичной обработке среднее время прохождения детали через первый станок составило 101,910 мин, через второй - 106,141 мин.

Ниже приведены результаты работы программы с измененными входными условиями (два варианта): 1. На обрабатывающий участок цеха поступают детали в среднем через 30 мин. При первичной обработке время обработки детали на первом станке 20 мин, при этом имеет место 10 % брака, время обработки на втором станке 30 мин и 20 % брака. При вторичной обработке время обработки детали на обоих станках 80 мин. Результат: 295 деталей прошло через первый станок, 205 деталей прошло через второй станок, 77 деталей признаны бракованными и были отправлены на вторичную обработку, 18 деталей после повторной обработки были признаны браком и стали отходами. Через второй станок прошло 282 детали. 482 детали признаны годными и были отправлены на вторичную обработку. При вторичной обработке через первый станок прошло 329 деталей, через второй - 153. При первичной обработке среднее время прохождения одной детали через первый станок составило 21,632 мин, через второй - 27,873 мин. При вторичной обработке среднее время прохождения детали через первый станок составило 82,610 мин, через второй - 85,097 мин. 2. На обрабатывающий участок цеха поступают детали в среднем через 40 мин. При первичной обработке время обработки детали на первом станке 30 мин, при этом имеет место 5 % брака, время обработки на втором станке 40 мин и 10 % брака. При вторичной обработке время обработки детали на обоих станках 60 мин. При вторичной обработке второй станок подключается только тогда, когда в накопителе больше одной детали. Результат: 285 деталей прошло через первый станок, 215 деталей прошло через второй станок, 32 детали признаны бракованными и были отправлены на вторичную обработку, 5 деталей после повторной обработки были признаны браком и стали отходами. 495 деталей признаны годными и были отправлены на вторичную обработку. При вторичной обработке через первый станок прошло 322 детали, через второй - 173. При первичной обработке среднее время прохождения одной детали через первый станок составило 33,022 мин, через второй - 35,772 мин. При вторичной обработке среднее время прохождения детали через первый станок составило 62,038 мин, через второй - 63,585 мин.

Разработка и создание прикладного пакета, моделирующего динамическую работу СМО

Программа моделирования динамической работы участка цеха позволяет визуально отслеживать во времени процесс обработки автомобильных деталей в цехе, получать итоговые результаты, анализировать их и принимать решение. Программа написана на языке Delphi. Описание логической структуры

В программе был использован метод объектного программирования. Список процедур и функций, которые использовались при написании программы:

 procedure TForm1.FormCreate - осуществляет инициализацию всех переменных;

 procedure TForm1.Timer2Timer - генерирует распределенные по экспоненциальному закону моменты времени поступления новых деталей;

 procedure TForm1.Timer1Timer - основная процедура програм- мы - моделирует обработку деталей на станках и обеспечивает в определенные моменты времени вызов процедур перевода деталей из накопителя на станок и наоборот;

 procedure TForm1.N3Click - останавливает моделирование;

 procedure TForm1.N11Click - обнуляет значения всех переменных (количество всех деталей, бракованных и т.д.);

 procedure TForm1.N10Click - выводит на экран форму «Параметры», в которой можно задавать значения переменных (величину брака, время обработки деталей на каждом станке и т.д.);

 procedure TForm1.Q1Click - выводит на экран форму с Q-схемой;

 procedure TForm1.N5Click - выводит на экран форму с динамической схемой работы системы;

 procedure TForm1.N7Click - выводит на экран задание проекта;

 procedure TForm1.N8Click - выводит на экран форму со справкой о программе;

 procedure TForm4.FormClose - используется для инициализации всех изменений в форме «Параметры»;

 procedure TForm1.N9Click - осуществляет выход из программы.

Процедуры и функции пользователя:

 function where_go - определяет движение детали после первичной обработки: в накопитель Н1 или возврат в накопитель Н0 (если это брак);

 procedure prov_nak - проверяет наличие деталей в накопителях;

 procedure add_new - создание и инициализации новой детали;

 procedure run - переводит детали со станков в накопители и наоборот.

Рассмотрим основной цикл программы. В нем осуществляются следующие действия:

 если очередной момент времени равен времени поступления детали в накопитель Н0, то в накопитель Н0 добавляется одна деталь. Затем вычисляется и запоминается время поступления следующей детали;

 если есть очередь и станок №1 или станок №2 свободен, то уменьшается счетчик очереди и вычисляется время обработки детали. В это время станок находится в состоянии занято;

 если время моделирования равно времени обработки детали, то станок освобождается и деталь отправляется во второй накопитель или возвращается на повторную обработку, если это брак. Затем для этого станка повторяется второй пункт;

 если деталь поступила в накопитель Н1, то счетчик деталей в очереди увеличивается на единицу;

 если станок №1 вторичной обработки свободен, то деталь поступает на него, а счетчик деталей в очереди уменьшается на единицу. Если в очереди больше трех деталей, то подключается еще один станок. Если же оба станка заняты, то ожидается освобождение одного из них.

После запуска программы на экран монитора выводится основное рабочее окно. Интерфейс программы включает меню пользователя, которое позволяет вывести сведения о программе и разработчике, посмотреть задание, произвести запуск, остановку и продолжение работы программы, просмотреть Q-схему и динамическую схему СМО, осуществить выход из программы. Экранные формы разработанного приложения приведены ниже (рис. 1.3-1.6).

Рис. 1.3

Рис. 1.4

Рис. 1.5

Рис. 1.6

Итоговый отчет

 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

| Входные данные |

 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

Общее количество деталей: 500

Частота поступления деталей: 40 мин

 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

| Первичная обработка |

 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

Время обработки на первом станке: 40 мин

Время обработки на втором станке: 60 мин

Процент брака на первом станке: 4 %

Процент брака на втором станке: 8 %

 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

| Вторичная обработка |

 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

Время обработки: 100 мин

Второй станок подключается при наличии 3 деталей в накопителе

 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

| Результаты |

 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 

Затрачено времени (часов/минут): 33/13 Первичная обработка:

Первый станок обработал: 39 деталей

Второй станок обработал: 31 деталь

Всего обработано: 70 деталей

Первый станок забраковал: 2 детали

Второй станок забраковал: 3 детали

Повторно обработано: 5 деталей

Отправлено в отходы: 0 деталей Вторичная обработка:

Первый станок обработал: 18 деталей.

Второй станок обработал: 17 деталей. Готовой продукции: 35 деталей. 2. Проектирование системы работы транспортного предприятия

Цель работы

Создать программное обеспечение, позволяющее моделировать работу транспортного предприятия.

Задание

Транспортное предприятие объединения обслуживает три филиала А, В, С. Грузовики перевозят изделия из А в В и из В в С, возвращаясь затем в А без груза. Погрузка в А занимает 20 мин, переезд из А в В длится 30 мин, разгрузка и погрузка в В - 40 мин. Если к моменту погрузки в А и В отсутствуют изделия, грузовики уходят дальше по маршруту. Изделия в филиале А выпускаются партиями по 1 000 штук через 20 ± 5 мин. На линии работает 8 грузовиков, каждый перевозит 1 000 изделий. В начальный момент все грузовики находятся в филиале А.

Смоделировать работу транспортного предприятия в течение 1 000 часов. Определить частоту пустых перегонов грузовиков между филиалами А и В, В и С и сравнить с характеристиками, полученными при равномерном начальном распределении грузовиков между филиалами и операциями. На рис. 2.1 представлена схема алгоритма работы транспортного предприятия объединения.

Выполнение работы

Ниже приведены результаты работы программы (листинг программы на языке GPSS не приводится) для трех вариантов исходных данных: 1. Все грузовики находятся в филиале А. Результат: сделано 154 поездки: 88 (57 %) поездок с грузом, 66 (43 %) поездок без груза. 2. В филиале А находится 3 грузовика; в филиале B - 2; в филиале B - 3. Результат: сделана 151 поездка: 93 (62 %) поездки с грузом, 58 (38 %) поездок без груза. 3. В филиале А находится 4 грузовика; в филиале B - 4. Результат: сделано 154 поездки: 91 (59 %) поездка с грузом, 63 (41 %) поездки без груза. Экранные формы разработанного приложения приведены ниже (рис. 2.2-2.4).

Рис. 2.1. Структурная схема

 Рис. 2.2

Рис. 2.3

Рис. 2.4


Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674