Опубликован: 15.02.2013 | Доступ: свободный | Студентов: 256 / 0 | Длительность: 16:52:00
ISBN: 978-5-9556-0146-5
Лекция 7:

Модель функционирования предприятия

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

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

На стендах контроля изделий, вследствие недостатка ресурсов, будет создаваться очередь, для имитации которой используйте объект 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;
    Диаграмма класса Main с элементами всех сегментов

    увеличить изображение
    Рис. 6.12. Диаграмма класса Main с элементами всех сегментов
  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 - признак брака в изделии.

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

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

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

Для имитации непосредственно процесса приёма изделий используйте элемент 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 - признак брака в изделии.

Алексей Гроссман
Алексей Гроссман

Здравствуйте, прошел курс "Концептуальное проектирование систем в AnyLogic и GPSS World". Можно ли получить по нему сертификат? У нас в институте требуют сертификаты для создания портфолио.

Елена Блинаева
Елена Блинаева