Имитационная модель автоматизированного участка обработки деталей

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

4 Аппроксимация реальных процессов математическими величинами.

При задании функций распределения длите

льность обработки детали на i-ом этапе обработки достаточна аппроксимация ступенчатыми функциями.

5 Выдвижение гипотез и предположений.

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

6 Установление основной структуры моделирования.

С помощью таких эмпирических зависимостей можно предсказывать характеристики загрузки этапов обработки () и времена обработки деталей на этапе обработки () в зависимости от изменяющихся характеристик входного потока деталей () при заданных [1].

3.2 Формальное описание модели

Алгоритм активностей

Активность поступления деталей

1 Поиск места для детали:

'Ищется место для детали. Либо новая строка, либо на место ушедшей.

i = 2

While Cells(i, 1).Value > 0

i = i + 1

Wend

Cells(i, 1).Value = ModelTime

lsum = lsum + (ModelTime - tlprev) * l

l = l + 1

tlprev = ModelTime

2 Генерация поступления и определение типа детали

'Генерируем поступление деталей в зависимости от параметров табличного распределения и определяем тип детали в зависимости от значения параметра равномерного распределения.

tActions(0) = tActions(0) + RndN1(k, min, max, v)

If tActions(0) > tRun Then

tActions(0) = TBIG

End If

i = 2

While Worksheets("Elements").Cells(i, 2).Value > ""

i = i + 1

Wend

Sheets("Elements").Select

det = RndP(Rp)

If det = 1 Then

Cells(i, 2) = 1

Else

Cells(i, 2) = 2

End If

Активность перевозки детали

1 Поиск первой детали в очереди

'найти первую деталь в очереди, т.е. с минимальным значением в столбце 1 листа Elements

last = Range("A30000").End(xlUp).Row

tinmin = TBIG

For i = 2 To last

If (Cells(i, 3).Value = "") And (Cells(i, 1).Value > 0) And (Cells(i,1).Value < tinmin) Then

inmin = Cells(i, 1).Value

imin = i

End If

Next i

lsum = lsum + (ModelTime - tlprev) * l

l = l - 1

tlprev = ModelTime

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

'присвоение состоянию робота значение 1, т.е. робот занят

'начало перевозки детали роботом

state = 1

tkprev = ModelTime

tActions(1) = ModelTime

Cells(imin, 3) = tActions(1)

If Cells(imin, 2) = 1 Then

tActions(2) = tActions(1) + Tdown

Else

tActions(3) = tActions(1) + Tup

End If

'окончание перевозки детали роботом, в зависимости от типа детали на перевозку затрачивается различное количество времени

'если тип детали 1

If (tActions(2) <= ModelTime) And (Cells(imin, 2) = 1) And (state = 1) Then

ksum = ksum + (ModelTime - tkprev)

tkprev = ModelTime

l1 = l1 + 1 'увелечение очереди на 1 к первому станку

Cells(imin, 4) = tActions(2) 'окончание перевозки детали роботом

tActions(1) = tActions(2) + Tdown 'возвращение робота от первого станка

tActions(2) = TBIG

End If

'если тип детали 1

If (tActions(3) <= ModelTime) And (Cells(imin, 2) = 2) And (state = 1) Then

ksum = ksum + (ModelTime - tkprev)

tkprev = ModelTime

l2 = l2 + 1 'увелечение очереди на 1 ко второму станку

Cells(imin, 4) = tActions(3) 'окончание перевозки детали роботом

tActions(1) = tActions(3) + Tup 'возвращение робота от второго станка

tActions(3) = TBIG

End If

'изменение состояния робота на 0, т.е. незанет

If (state = 1) And (tActions(1) <= ModelTime) Then

state = 0

tActions(1) = TBIG

End If

Активность начала обработки детали на станке

'обработка детали первого типа

If (state1 = 0 And l1 > 0) Then

'найти первую деталь в очереди, т.е. с минимальным значением в столбце 4 листа Elements

last = Range("D30000").End(xlUp).Row

tinmin = TBIG

For i = 2 To last

If (Cells(i, 5).Value = "") And (Cells(i, 2) = 1) And

(Cells(i, 1).Value > 0) And (Cells(i, 1).Value < tinmin) Then

tinmin = Cells(i, 1).Value

imin1 = i

End If

Next i

i1 = 1

state1 = 1 'станок занят

l1 = l1 – 1 'уменьшение очереди к станку на 1

If ModelTime > Cells(imin1, 4) Then

tActions(4) = ModelTime

Else

tActions(4) = Cells(imin1, 4)

End If

Cells(imin1, 5) = tActions(4)

tActions(6) = tActions(4) + one 'время обработки детали типа на станке

End If

обработка детали второго типа

If (state2 = 0 And l2 > 0) Then

'найти первую деталь в очереди, т.е. с минимальным значением в столбце 4 листа Elements

last = Range("D30000").End(xlUp).Row

tinmin = TBIG

For i = 2 To last

If (Cells(i, 5).Value = "") And (Cells(i, 2) = 2) And

(Cells(i, 1).Value > 0) And (Cells(i, 1).Value < tinmin) Then

tinmin = Cells(i, 1).Value

imin2 = i

End If

Next i

i2 = 0

state2 = 1

l2 = l2 - 1

If ModelTime > Cells(imin2, 4) Then

tActions(5) = ModelTime

Else

tActions(5) = Cells(imin2, 4)

End If

Cells(imin2, 5) = tActions(5)

tActions(7) = tActions(5) + two

End If

Активность окончания обработки детали на станке

'окончание обработка детали первого типа

If (tActions(6) <= ModelTime) Then

NextModelTime = False

'откорректировать значения для среднего времени пребывания детали в системе

Nb = Nb + 1

tbuysum = tbuysum + (ModelTime - Cells(imin1, 1).Value)

If i1 = 1 Then

state1 = 0

End If

Cells(imin1, 6) = tActions(6)

tActions(6) = TBIG

End If

'окончание обработка детали второго типа

If (tActions(7) <= ModelTime) Then

NextModelTime = False

'откорректировать значения для среднего времени пребывания детали в системе

Nb = Nb + 1

tbuysum = tbuysum + (ModelTime - Cells(imin2, 1).Value)

If i2 = 0 Then

state2 = 0

End If

Cells(imin2, 6) = tActions(7)

tActions(7) = TBIG

Call Trace("Finish", imin2)

End If

4 ВЕРИФИКАЦИЯ ИМИТАЦИОННОЙ МОДЕЛИ

4.1 Контроль за выполнением порядка активностей

Порядок выполнения активностей рассмотрим на примере одной детали при первом прогоне. Arrival, Begin, Processing, Finish – это активности. В первой активности происходит генерация деталей. Первая активность появляется согласно закону нормального табличного распределения с параметрами k, min, max, v(i), где i=. Поэтому первая активность появляется случайным образом. На рисунке 4.1 видно, что деталь после ее появления начинают обрабатывать во второй, третьей, а затем и в четвертой активности.

Страница:  1  2  3  4  5  6  7  8  9  10  11  12  13 


Другие рефераты на тему «Экономико-математическое моделирование»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы