Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Литература / Compyuternoe_modelirovanie_v_AnyLogic_7_Boev_VD.pdf
Скачиваний:
225
Добавлен:
12.02.2018
Размер:
8.72 Mб
Скачать

6.2.4.4. Имитация работы стендов контроля изделий

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

На стендах контроля изделий, вследствие недостатка ресурсов, будет создаваться очередь, для имитации которой используйте объект queue.

Для имитации непосредственно процесса контроля изделий, то есть затрат времени на его проведение, используйте объект delay.

По результатам контроля некоторые изделия будут признаны браком. Для отбраковки изделий нужно применить объект selectOutput.

1.Перетащите объекты queue, delay и selectOutput на прямоугольник с именем Стенды контроля изделий диаграммы Main.

2.Разместите и соедините их согласно рис. 6.12.

3.Выделите объект queue и установите на странице Основ-

ные панели Свойства:

Имя: очерСтенКонтр

Тип заявки: Product

Максимальная вместимость Установите флажок

4. Выделите объект delay и установите его свойства:

Тип заявки: Product

Тип Определённое время

Время задержки exponential( 1/timeKontrIzd ) Вместимость kolStendKontr

Действия При выходе:

testSobrIzd++; entity.cost += stKontrIzd; entity.numBlBrak1 = 0; entity.numBlBrak2 = 0; entity.numBlBrak3 = 0; entity.numBlBrak4 = 0;

Замечание. Объект delay2 с нулевым временем задержки. Если его не включить, объект БракИзделия на диаграмме агента Сборка работать согласно замыслу разработчика не будет.

274

Рис. 6.12. Диаграмма агента Main с элементами всех сегментов

275

5. Выделите объект selectOutput и установите его свойства:

Имя: БрСтендКон

Тип заявки: Product

Выход true выбирается С заданной вероятностью

Вероятность[0..1] 1-procBrakIzd

Действия При выходе (true) costTestIzd += stKontrIzd;

Действия При выходе (false)

double a = 0;

int numBlock = 0; entity.sign1 = 2; a = uniform();

if (a < 1) numBlock = 4;

if (a <= (verBlNum1 + verBlNum2 + verBlNum3)) numBlock=3; if (a <= (verBlNum1 + verBlNum2)) numBlock = 2;

if (a <= verBlNum1) numBlock = 1;

if (numBlock == 1) {entity.numBlBrak1 = 1;

entity.timeSbor = exponential(1/timeZamBlock1);} if (numBlock == 2) {entity.numBlBrak2 = 1;

entity.timeSbor = exponential(1/timeZamBlock2);} if (numBlock == 3) {entity.numBlBrak3 = 1;

entity.timeSbor = exponential(1/timeZamBlock3);} if (numBlock == 4) {entity.numBlBrak4 = 1;

entity.timeSbor = exponential(1/timeZamBlock4);} brakSobrIzd ++;

Код в свойство Действия При выходе (false) объекта selectOutput введен для розыгрыша номера забракованного в изделии блока. В результате розыгрыша в одно из полей entity.numBlBrak1… entity.numBlBrak4 заносится 1 —

признак брака. В поле entity.timeSbor — время замены соответствующего блока на пункте сборки. Полю entity.sign1 присваивается значение 2 — признак брака в изделии.

6.2.4.5. Имитация работы пунктов приёма изделий

Пункты приёма изделий предназначены для приёма прошедших стенды контроля изделий, непосредственно приёма изделий, отправки прошедших приём изделий на склад готовых изделий, а забракованных изделий — на стенды контроля.

На пунктах приёма будет создаваться очередь, для имитации которой используйте объект queue.

276

Для имитации непосредственно процесса приёма изделий используйте элемент delay.

По результатам контроля некоторые изделия будут признаны браком. Для отбраковки воспользуйтесь объектом selectOutput.

1.Перетащите объекты queue, delay и selectOutput на прямоугольник с Пункты приема изделий диаграммы класса Main.

2.Разместите и соедините их согласно рис. 6.12.

3.Выделите объект queue и установите на странице Основ-

ные панели Свойства:

Имя: очерПрием

Тип заявки: Product

Максимальная вместимость Установите флажок

4. Выделите объект delay и установите его свойства:

Тип заявки: Product

Тип Определённое время

Время задержки exponential( 1/timePriemIzd )

Вместимость kolPunPriem

Действия При выходе kolPriemIzd++;

costPriemkiIzd += stPriemIzd; entity.cost += stPriemIzd;

5. Выделите объект selectOutput и установите его свойства:

Тип заявки: Product

Выход true выбирается С заданной вероятностью

Вероятность[0..1] 1-procBrakPriem

Действия При выходе (false) entity.sign1 = 2;

brakPriemIzd++;

Код свойства Действия При выходе объекта delay введен для счета количества kolPriemIzd принятых всего изделий.

Код свойства Действия При выходе (false) объекта selectOutput считает количество brakPriemIzd забракованных изделий и полю entity.sign1 присваивает 2 — признак брака в изделии.

6.2.4.6. Имитация склада готовых изделий

Для имитации склада готовых изделий используйте объект sink со следующими свойствами:

Имя: ГотИзделия

Тип заявки: Product

277