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

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

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

    Чтобы создать скругленный поворот, поставьте точку там, где поворот должен начаться, затем поставьте точку в месте, где поворот должен снова перейти в прямую линию и, не отпуская левую клавишу мыши, двигайте мышь, пока не добьетесь нужной формы от сегмента поворота. Когда это произойдет, отпустите кнопку мыши и продолжайте рисовать прямую линию.


    Чтобы завершить рисование, дважды щелкните мышью в конечной точке конвейера.

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

    a. Тип материального объекта:  Electrode
    b. Z: 20
    c. Ширина: 0.5 м

    В итоге ваш конвейер должен выглядеть следующим образом:

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


  6. Назовите станцию wrappingStation.
  7. В свойствах станции выберите опцию Видимость: нет.
  8. Настройте свойства wrappingStation следующим образом:

    a. Длина: 0.5 м.
    b. Время обработки: 1 секунда
    c. Оставьте неизменным значение параметра Вместимость: 1.
    d. В параметре Загрузка выберите опцию Идет одновременно с выгрузкой.

  9. Теперь нам нужно задать области, где будет проходить процесс сборки электродов в группу. Разные этапы сборки будут происходить в разных областях. Мы воспользуемся элементом Прямоугольный узел, чтобы определить границы этих областей:


    a. wrappedElectrodeBuffer - временная область ожидания, где обернутые в конверты электроды находятся перед тем, как их начнут объединять в группы. Ширина: 25 и Высота: 20.
    b. assembleArea - область, где происходит непосредственная сборка в группы. Ширина: 15 и Высота: 20.
    c. assembledBlocksBuffer - временная область хранения собранных блоков электродов. Ширина: 20 и Высота: 20.

    Размеры этих узлов нужно задавать с максимальной точностью, чтобы они не выступали из-под 3D объекта, который мы добавим на следующем этапе моделирования.

  10. В свойствах каждого из трех узлов укажите следующее:

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

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

  1. Перетащите 3D объект Конвертировщик с палитры 3D объекты на графическую диаграмму агента Main.
  2. В диалоговом окне Автомасштабирование 3D объекта щелкните кнопку Да.
  3. Расположите 3D объект поверх станции wrappingStation так, как указано на изображении ниже:

  4. Таким же образом используйте 3D объект Машина пайки блоков аккумулятора из палитры 3D объекты, чтобы создать анимацию для области сборки блоков.
  5. В свойствах 3D объекта задайте Доп. масштабирование: 160% для всех составных частей объекта. Чтобы выбрать составную часть, щелкайте мышью по объекту. При первом щелчке выбирается объект целиком, при втором - первая составная часть, при третьем - вторая составная часть.
  6. С помощью метки-манипулятора разверните 3D объект на 90 градусов вправо. Обратите внимание на изображение ниже: так машина для пайки блоков должна выглядеть на графическом редакторе в вашей модели:


Теперь нам необходимо описать логику процесса обертывания электродов в конверты.

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

Сначала мы разберем партии электродов на отдельные электроды.

  1. Перетащите блок  Unbatch с палитры  Библиотеки моделирования процессов на графическую диаграмму агента Main и разместите его в диаграмме процессов перед блоком sink.
  2. Назовите новый блок unbatchElectrodes.
  3. В параметре Тип элемента свойств блока выберите  Electrode.

Обертывание будет происходить на конвейере wrappingConveyor, поэтому необходимо добавить еще один блок, с помощью которого мы сможем задать движение электродов по конвейеру.
  1. Добавьте блок Convey в диаграмму процесса после блока unbatchElectrodes.
  2. Назовите новый блок wrappingConvey.
  3. В свойствах блока укажите следующее:

    a. Начальный конвейер: wrappingConveyor.
    b. Конечный конвейер: wrappingConveyor.
    с. Выберите опцию Покинуть конвейер при выходе.


Цвет электродов в конвертах изменится. Чтобы это продемонстрировать, мы используем элемент wrappingStation.
  1. Откройте свойства станции wrappingStation и распахните секцию Действия.
  2. В поле При окончании процесса введите следующий код: agent.color = white;


  3. Запустите модель и посмотрите, как электроды оборачиваются в конверты.

Сборка блоков

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

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

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


Чтобы описать процесс сборки в диаграмме процесса, мы используем блок Assembler.

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

  1. Перетащите блок Assembler с палитры Библиотеки моделирования процессов на графический редактор агента Main и добавьте его в диаграмму процессов перед блоком sink.
  2. Убедитесь в том, что предыдущий блок соединился с самым верхним входным портом блока assembler.
  3. В свойствах блока assembler задайте следующие параметры:

    a. Количество 1: 15. Здесь мы задаем количество входящих агентов одного типа, необходимых для формирования одного нового агента.
    b. Количество 2: 0.
    c. Новый агент:  BatteryBlock.
    d. Время задержки: 5 минут. Здесь задается время, необходимое для сборки одного блока электродов.
    e. Вместимость буфера на выходе: 1. Здесь мы создаем буфер, в котором собранный новый агент (блок электродов) будет ожидать, когда его примет следущий блок в диаграмме процесса, поскольку этому блоку нужно будет знать координаты нового собранного агента.
    f. Место нового агента: Узел сети/ГИС.
    g. Узел: assembledBlocksBuffer.
    h. Место агентов (delay): assembleArea. Здесь мы задаем место, где будет происходить непосредственно процесс сборки блока.

Если запустить модель сейчас, AnyLogic предупредит вас о том, что агенты проходят через блок assembler без задержки, поскольку вы не задали необходимые ресурсы.

Добавьте ресурсы

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

  6. Назовите узел operatorLocation. Во время выполнения модели наш рабочий будет находиться здесь.
  7. В свойствах узла выберите опцию Видимость: нет.
  8. Перетащите блок ResourcePool с палитры Библиотеки моделирования процессов на графическую диаграмму агента Main.
  9. Назовите новый блок operator.
  10. Перейдите в свойства блока и в параметре Новый ресурс выберите тип агента  Operator.
  11. В параметре Базовое местоположение (узлы) выберите узел operatorLocation.
  12. Перейдите в свойства блока assembler и выберите оператора в параметре Набор ресурсов, щелкнув по кнопке :

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

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


          Фаза 2. Моделирование движения погрузчиков с произвольной навигацией

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