Фаза 4. Сборка аккумуляторов

На этом этапе производства группы электродов помещаются в пластиковый корпус аккумулятора, корпус закрывается крышкой, а затем внутрь заливается кислота. Точное количество групп в одном корпусе зависит от планируемой мощности аккумулятора. В ходе этой фазы учебного пособия мы научимся моделировать процесс сборки аккумуляторов с помощью промышленного крана.

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

Добавьте новый тип материального объекта

  1. Перетащите элемент Тип материального объекта с палитры Библиотеки производственных систем на графическую диаграмму агента Main.
  2. В диалоговом окне Создание агента укажите Имя типа агента: Battery и щелкните кнопку Далее.
  3. Распахните секцию Склады и контейнерные терминалы в списке 3D объектов и выберите Промышленный контейнер 1. Щелкните кнопку Готово.
  4. В графическом редакторе агента Battery выберите элемент Масштаб и задайте значение параметра Длина линейки соответствует: 1 м.
  5. Перейдите в секцию Размеры и движение свойств агента  Battery укажите следующее:

    a. Длина: 0.3 м
    b. Ширина: 0.2 м
    c. Высота: 0.15 м

  6. Теперь нужно изменить размер объекта 3D, чтобы он соответствовал заданным размерам нашего типа агента. Выберите фигуру 3D в графическом редакторе и в свойствах этой фигуры задайте Доп. масштабирование: 50%.
  7. В секции Цвета свойств 3D фигуры укажите Мой цвет: black.

Далее мы нарисуем необходимую разметку пространства: конвейер, где будет происходить сборка аккумуляторов и кран, который перемещает группы электродов из области ожидания на этот конвейер.

Создайте разметку пространства
  1. Дважды щелкните элемент Конвейер в секции Разметка пространства на палитре Библиотека производственных систем.
  2. Нарисуйте конвейер в соответствии с изображением ниже.
  3. Назовите его batteryConveyor.


  4. В свойствах конвейера укажите следущее:

    a. Тип материального объекта: Battery
    b. Максимальная скорость: 0.5 м/с
    c. Начальная скорость: 0.5 м/с
    d. Z: 20
    e. Ширина: 0.5 м

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


  6. Назовите новый элемент blockInputPosition.

    С помощью этого элемента мы укажем точное место на конвейере, где группы электродов будут помещаться в корпус аккумулятора.

  7. Перетащите элемент Прямоугольный узел с палитры Разметка пространства на графическую диаграмму агента Main и разместите его у начальной точки конвейера batteryConveyor.
  8. Назовите узел caseBuffer.
  9. В свойствах узла укажите:

    a. Видимость: нет
    b. Расположение внутри: Упорядоченное

  10. Перетащите элемент Стреловой кран из секции Разметка пространства палитры Библиотека производственных систем на графический редактор агента Main и разместите его как указано на изображении ниже.
  11. Назовите кран batteryBlockCrane.
  12. В свойствах крана укажите следующее:

    a. Тип материального объекта:  BatteryBlock
    b. В секции Местоположение и размер задайте значение параметра Длина плеча: 3 м и Высота крана: 4 м

  13. Убедитесь в том, что рабочая зона крана полностью закрывает узел assembledBlocksBuffer и точку конвейера blockInputPosition. Перетаскивайте метку-манипулятор, расположенный на окончании плеча крана, чтобы увеличить/уменьшить размеры рабочей области.
  14. Выберите опцию Недоступная зона и отрегулируйте ее угол с помощью меток-манипуляторов так, чтобы эта зона выглядела, как на изображении ниже:

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

Теперь давайте опишем логику этого производственного процесса.

Добавьте процесс сборки аккумулятора в диаграмму процесса

  1. Перетащите  элемент Source с палитры Библиотеки моделирования процессов на графический редактор агента  Main и разместите его над блоком assembler. Убедитесь в том, что между этими двумя блоками не установилось соединение.
  2. Назовите блок source: batterySource.

    С его помощью мы будем создавать агентов типа  Battery.

  3. В свойствах блока batterySource укажите следующее:

    a. Прибывают согласно: Интенсивности
    b. Интенсивность прибытия: 10 в час
    c. Местоположение прибытия: Узел сети / ГИС
    d. Узел: caseBuffer
    e. Новый агент:  Battery

  4. Уберите галочку в опции Выталкивать агентов.


  5. Перетащите блок Queue с палитры Библиотеки моделирования процессов на графическую диаграмму агента Main и разместите его после блока batterySource. Убедитесь в том, что связь между этими блоками установилась.

    С помощью этого блока мы смоделируем нахождение корпусов в зоне ожидания перед конвейером.

  6. В свойствах блока queue укажите:

    a. Вместимость: 25
    b. Место агентов: caseBuffer.

  7. Чтобы промоделировать перемещение корпусов аккумуляторов из области ожидания на конвейер для сборки, перетащите блок  Conveyor Enter с палитры Библиотеки производственных систем на графический редактор агента Main и разместите его после блока queue.
  8. В свойствах блока conveyorEnter укажите:

    a. Точка входа задается как: Точка конвейера
    b. Точка конвейера: blockInputPosition

  9. Чтобы промоделировать перемещение групп электродов из области ожидания в корпус аккумулятора, перетащите блок Move By Crane с палитры Библиотеки производственных систем на графический редактор агента Main и разместите его после блока assembler.
  10. Назовите новый блок toCase.
  11. В свойствах блока toCase укажите следующее:

    a. Кран: batteryBlockCrane
    b. Место назначения: Агент
    c. Время захвата: 5 секунд
    d. Время освобождения: 5 секунд

  12. В поле ввода параметра Агент добавьте следующую строку кода: blockInputPosition.getAgent().

    Эта функция возвращает агента, который в данный момент находится в точке конвейера blockInputPosition.

Мы описали процесс создания и перемещения корпусов аккумуляторов в заданное место. Теперь нам нужно объединить эту диаграмму процесса с той, которую мы создавали на протяжении предыдущих фаз.
  1. Удалите соединитель между блоком toCase и блоком sink.
  2. Перетащите блок Combine с палитры Библиотеки моделирования процессов на графическую диаграмму агента Main и разместите его после блока conveyorEnter. Убедитесь в том, что соединение между этими блоками установилось через верхний входной порт блока combine.
  3. Дважды щелкните выходной порт блока toCase и перетащите созданный соединитель к нижнему входному порту блока combine. Отпустите кнопку мыши, когда точка соединения станет голубого цвета, как показано на изображении ниже:


  4. В свойствах блока combine укажите Объединенный агент: agent1.
  5. Разместите блок sink после блока combine.
  6. Запустите модель!

По прошествии некоторого времени выполнение модели прекратится из-за возникшей ошибки, когда кран попытается переместить группу электродов в отсутствующий корпус аккумулятора. Мы можем решить эту проблему с помощью Библиотеки моделирования процессов.

Синхронизируйте процесс сборки групп и процесс подготовки корпуса аккумулятор

  1. Перетащите блок Hold с палитры Библиотеки моделирования процессов и разместите его в диаграмме процессов между блоком assembler и блоком toCase.

    С помощью этого блока мы сможем контролировать поток групп электродов: мы будем останавливать поток, пока не появится новый корпус аккумулятора, куда можно будет поместить группы.

  2. В свойствах блока hold укажите Режим: Блокировать после заданного количества агентов и выберите опцию Изначально заблокирован.
Теперь мы должны правильно выбрать момент вызова функции unblock(), чтобы синхронизировать два процесса.
  1. В свойствах блока conveyorEnter распахните секцию Действия и введите следующую строку кода в поле При входе: hold.unblock()

    Теперь функция unblock() блока hold будет вызываться каждый раз, когда корпус аккумулятора поступает на конвейер, где кран должен поместить в него группу электродов. В оставшееся время движение групп электродов будет заблокировано.

  2. Запустите модель снова и понаблюдайте за процессом производства!

Контрольная модель: Lead Acid Battery Production Tutorial - Phase 4


          Фаза 3. Обертка электродов в конверты и сборка групп

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