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 видно, что деталь после ее появления начинают обрабатывать во второй, третьей, а затем и в четвертой активности.

Рисунок 4.1 - Изменение откликов на листе Trace


Информация о работе «Имитационная модель автоматизированного участка обработки деталей»
Раздел: Экономико-математическое моделирование
Количество знаков с пробелами: 84715
Количество таблиц: 1
Количество изображений: 5

Похожие работы

Скачать
98051
44
0

... 2-3 Поиск литературы 7 1 7 2-4 Разработка модели разветвленной СМО 6 1 6 3 Поиск литературы завершен 3-6 Изучение литературы по теории массового обслуживания 10 1 10 4 Модель разработана 4-5 Разработка алгоритма программы 10 1 10 5 Алгоритм программы разработан 5-7 Выбор среды программиро-вания и создание программы 30 1 ...

Скачать
75558
1
29

... воздуха на входе и активное сопло приводит к некоторому расширению зоны максимального съема (до 35-55°), что имеет существенное значение при обработке криволинейных поверхностей. 6. КАЧЕСТВО ПОВЕРХНОСТНОГО СЛОЯ ПОСЛЕ СТРУЙНОЙ ГИДРОАБРАЗИВНОЙ ОБРАБОТКИ   Состояние поверх костного слоя после механических и физико-механических методов обработки характеризуется в основном параметрами шероховатости, ...

Скачать
36236
5
10

... и каналов, а также механизма обслуживания используется алгоритмы генерирования случайных последовательностей. В ходе выполнения курсовой работы разработана модель системы обслуживания робототехнического комплекса производства деталей ЭВА. На данной модели возможно проанализировать эффективность СМО при различных дисциплинах очереди: в порядке поступления заявок (бесприоритетное обслуживание), с ...

Скачать
99420
0
4

... называемые правила бизнеса) реализуются прикладными программами на клиентских установках (RDA-модель) или на сервере приложений (AS-модель). 2. Автоматизированные системы сбора, хранения и анализа информации Автоматизированные информационные системы (АИС) относятся к классу сложных систем, как правило, не столько в связи с большой физической размерностью, сколько в связи с многозначностью ...

0 комментариев


Наверх