На стендах будет создаваться очередь, для имитации которой использован элемент queue.
Для имитации непосредственно процесса контроля изделий использован элемент delay.
По результатам контроля некоторые изделия будут признаны браком. Для отбраковки использованы элементы selectOutPut.
Свойства каждого из элементов представлены в таблице 7.
Таблица 7 – Элементы стендов контроля и их свойства.
Элемент
| Свойства
| Значения свойств
|
| Класс заявки:
Вместимость:
| Product
Максимальная
|
| Класс заявки:
Время задержки:
Вместимость:
Действие при выходе:
| Product
exponential(1/timeKontrIzd)
kolStendKontrIzd
testSobrIzd++;
|
| Выход true выбирается:
Условие:
Действие при выходе (false):
| При выполнении условия
entity.sign1 == 0
{double a=0;
int numBlockp = 0;
a = random();
if (a<1) numBlockp = 3;
if (a <= (verBlNum1+verBlNum2)) numBlockp=2;
if (a <= (verBlNum1)) numBlockp=1;
if (numBlockp == 1) {entity.numBLBrak1 = 1;
entity.timeSbor = exponential(1/timeZamBlock1);}
if (numBlockp==2) {entity.numBLBrak2 = 1;
entity.timeSbor = exponential(1/timeZamBlock2);}
if (numBlockp==3) {entity.numBLBrak3 = 1;
entity.timeSbor = exponential(1/timeZamBlock3);}
entity.sign1 = 2;}
|
| Выход true выбирается:
Вероятность [0..1]
Действие при выходе (false):
| С заданной вероятностью
1- procBracIzd
double a=0;
int numBlock = 0;
entity.sign1 = 2;
a = random();
if (a<1) 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);}
brakSobrIzd++;
|
Код в свойство Действие при выходе (false) обоих элементов selectOutPut введен для розыгрыша номера забракованного в изделии блока. В результате розыгрыша в одно из полей entity.numBlBrak1…entity.numBlBrak3 заносится признак брака. В поле entity.timeSbor - время замены соответствующего блока на пункте сборки. Полю entity.sign1 присваивается значение 2 - признак брака в изделии.