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
... 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 ...
... воздуха на входе и активное сопло приводит к некоторому расширению зоны максимального съема (до 35-55°), что имеет существенное значение при обработке криволинейных поверхностей. 6. КАЧЕСТВО ПОВЕРХНОСТНОГО СЛОЯ ПОСЛЕ СТРУЙНОЙ ГИДРОАБРАЗИВНОЙ ОБРАБОТКИ Состояние поверх костного слоя после механических и физико-механических методов обработки характеризуется в основном параметрами шероховатости, ...
... и каналов, а также механизма обслуживания используется алгоритмы генерирования случайных последовательностей. В ходе выполнения курсовой работы разработана модель системы обслуживания робототехнического комплекса производства деталей ЭВА. На данной модели возможно проанализировать эффективность СМО при различных дисциплинах очереди: в порядке поступления заявок (бесприоритетное обслуживание), с ...
... называемые правила бизнеса) реализуются прикладными программами на клиентских установках (RDA-модель) или на сервере приложений (AS-модель). 2. Автоматизированные системы сбора, хранения и анализа информации Автоматизированные информационные системы (АИС) относятся к классу сложных систем, как правило, не столько в связи с большой физической размерностью, сколько в связи с многозначностью ...
0 комментариев