AnyLogic
Развернуть
Размер шрифта

Шаг 5. Формировка аккумуляторов и проверка качества

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

Мы начнем моделирование этого этапа с создания необходимой разметки пространства.

Подготовьте разметку пространства

  1. Перетащите элемент Станция обработки из секции Разметка пространства палитры Библиотеки производственных систем на графическую диаграмму агента Main и разместите его на конвейере batteryConveyor.
  2. Назовите станцию addCapAndTerminalsStation.
  3. В свойствах станции укажите следующее:
    a. Видимость: нет
    b. Время обработки: 1 минута
    c. Длина: 1 метр
  4. Добавьте на конвейер batteryConveyor еще одну станцию и назовите ее qaStation.
  5. В свойствах станции укажите:
    a. Видимость: нет
    b. Время обработки: uniform(20, 30) секунд
    c. Длина: 1 метр
  6. Измените местоположение станций на конвейере в соответствии с изображением ниже:

  7. Перетащите элемент Поворотный стол из секции Разметка пространства палитры Библиотеки производственных систем и разместите его на конвейере batteryConveyor.

    Поворотный стол разделит конвейер на два независимых конвейера. В этой точке материальные объекты, двигающиеся по конвейеру, могут перейти на другой конвейер.
  8. Дважды щелкните элемент Конвейер в палитре, чтобы переключиться в режим рисования, и нарисуйте еще одно ответвление конвейера от элемента turntable в соответствии с планом пространства.
  9. Назовите новый конвейер defectiveBatteryConveyor и укажите его Ширину: 0.5 метра.
  10. Разместите еще одну станцию на конвейере batteryConveyor1 после поворотного стола и назовите ее electrolyteFillingStation.
  11. В свойствах станции укажите следующее:
    a. Видимость: нет
    b. Время обработки: 2 минуты
    c. Вместимость: 3
    d. Длина: 2.5 метра

Добавьте 3D анимацию

  1. Перетащите 3D объект Машина термосварки крышки с палитры 3D объекты на графическую диаграмму агента Main и разместите его поверх станции addCapAndTerminalsStation.
  2. В диалоговом окне Автомасштабирование 3D объекта щелкните по кнопке Да.
  3. Таким же образом используйте 3D объект Машина проверки герметичности, чтобы создать 3D анимацию для станции qaStation и объект Машина заливки электролита для станции electrolyteFillingStation.
  4. Сверяйте местоположение 3D объектов с изображением ниже:

Мы можем сделать анимацию корпусов аккумуляторов более реалистичной. Изначально мы использовали простой черный контейнер, но на этом этапе мы добавляем крышку и выполняем сварку перемычек между блоками. Все эти действия происходят на станции addCapAndTerminalsStation.

  1. Перейдите в панель Проекты и дважды щелкните по агенту Battery в модельном дереве.
  2. Перетащите 3D объект Аккумулятор из раздела Производство панели 3D объекты на графическую диаграмму агента Battery и разместите ее поверх ранее созданной фигуры анимации.
  3. В диалоговом окне Автомасштабирование 3D объекта щелкните по кнопке Да.
  4. В свойствах 3D объекта Аккумулятор укажите Видимость: нет.
  5. Перейдите в свойства станции addCapAndTerminalsStation, распахните секцию Действия и введите следующий код в поле При окончании процесса:
    agent.industrial_container_1.setVisible(false);
        agent.lead_acid_battery.setVisible(true);

    Теперь каждый раз, когда аккумулятор будет выходить из этой станции, одна 3D фигура будет становиться невидимой, а вторая - наоборот.

Осталось задать логику производственного процесса на данном этапе: перемещение аккумуляторов по конвейеру, где расположены станции, и проверка качества.

Задайте логику процесса

  1. Добавьте блок Convey в диаграмму процесса после блока combine.
  2. Назовите новый блок conveyBattery.

  3. В свойствах нового блока укажите:
    Перемещать с / из: Текущей позиции
    Конечный конвейер: batteryConveyor1.
    Этот блок будет управлять основным потоком материальных объектов на конвейере.
  4. Перетащите еще один блок Convey на графическую диаграмму агента Main и соедините его с выходным портом внизу блока conveyBattery.

  5. Назовите блок conveyDefective и укажите в его свойствах следующее:
    a. Перемещать с / из: Текущей позиции
    b. Конечный конвейер: defectiveBatteryConveyor
    Этот блок будет управлять перемещением аккумуляторов, которые не прошли проверку качества, на второстепенный конвейер.
  6. Добавьте блок Sink в диаграмму процесса после блока conveyDefective.

  7. Перейдите в свойства станции qaStation, распахните секцию Действия и введите следующий код в поле При окончании процесса:
    if (randomTrue(0.01))
        conveyBattery.cancel(agent);

    Таким образом мы промоделируем аккумуляторы, которые не прошли проверку качества. Теперь некоторые агенты, проходящие через станцию qaStation, покинут блок через порт cancel при выполнении события "отмены", которое вызывается функцией cancel(), и направятся в блок conveyDefective.

  8. Запустите модель!

Демо-модель: Lead Acid Battery Production - Phase 5 Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.
Как мы можем улучшить эту статью?