На этом этапе корпус аккумулятора закрывается крышкой и происходит приварка перемычек. После этого аккумулятор проходит проверку качества. Прошедшие проверку аккумуляторы заполняются кислотой, а непрошедшие снимаются с производственной линии.
Мы начнем моделирование этого этапа с создания необходимой разметки пространства.
Подготовьте разметку пространства
- Перетащите элемент Станция обработки из секции Разметка пространства палитры Библиотеки производственных систем на графическую диаграмму агента Main и разместите его на конвейере batteryConveyor.
- Назовите станцию addCapAndTerminalsStation.
-
В свойствах станции укажите следующее:
a. Видимость: нет
b. Время обработки: 1 минута
c. Длина: 1 метр - Добавьте на конвейер batteryConveyor еще одну станцию и назовите ее qaStation.
-
В свойствах станции укажите:
a. Видимость: нет
b. Время обработки: uniform(20, 30) секунд
c. Длина: 1 метр - Измените местоположение станций на конвейере в соответствии с изображением ниже:
- Перетащите элемент Поворотный стол из секции Разметка пространства палитры Библиотеки производственных систем и разместите его на конвейере batteryConveyor. Поворотный стол разделит конвейер на два независимых конвейера. В этой точке материальные объекты, двигающиеся по конвейеру, могут перейти на другой конвейер.
- Дважды щелкните элемент Конвейер в палитре, чтобы переключиться в режим рисования, и нарисуйте еще одно ответвление конвейера от элемента turntable в соответствии с планом пространства.
- Назовите новый конвейер defectiveBatteryConveyor и укажите его Ширину: 0.5 метра.
- Разместите еще одну станцию на конвейере batteryConveyor1 после поворотного стола и назовите ее electrolyteFillingStation.
-
В свойствах станции укажите следующее:
a. Видимость: нет
b. Время обработки: 2 минуты
c. Вместимость: 3
d. Длина: 2.5 метра
Добавьте 3D анимацию
- Перетащите 3D объект Машина термосварки крышки с палитры 3D объекты на графическую диаграмму агента Main и разместите его поверх станции addCapAndTerminalsStation.
- В диалоговом окне Автомасштабирование 3D объекта щелкните по кнопке Да.
- Таким же образом используйте 3D объект Машина проверки герметичности, чтобы создать 3D анимацию для станции qaStation и объект Машина заливки электролита для станции electrolyteFillingStation.
- Сверяйте местоположение 3D объектов с изображением ниже:
Мы можем сделать анимацию корпусов аккумуляторов более реалистичной. Изначально мы использовали простой черный контейнер, но на этом этапе мы добавляем крышку и выполняем сварку перемычек между блоками. Все эти действия происходят на станции addCapAndTerminalsStation.
- Перейдите в панель Проекты и дважды щелкните по агенту Battery в модельном дереве.
- Перетащите 3D объект Аккумулятор из раздела Производство панели 3D объекты на графическую диаграмму агента Battery и разместите ее поверх ранее созданной фигуры анимации.
- В диалоговом окне Автомасштабирование 3D объекта щелкните по кнопке Да.
- В свойствах 3D объекта Аккумулятор укажите Видимость: нет.
-
Перейдите в свойства станции addCapAndTerminalsStation, распахните секцию Действия и введите следующий код в поле При окончании процесса:
agent.industrial_container_1.setVisible(false); agent.lead_acid_battery.setVisible(true);
Теперь каждый раз, когда аккумулятор будет выходить из этой станции, одна 3D фигура будет становиться невидимой, а вторая - наоборот.
Осталось задать логику производственного процесса на данном этапе: перемещение аккумуляторов по конвейеру, где расположены станции, и проверка качества.
Задайте логику процесса
- Добавьте блок Convey в диаграмму процесса после блока combine.
- Назовите новый блок conveyBattery.
-
В свойствах нового блока укажите:
Перемещать с / из: Текущей позиции
Этот блок будет управлять основным потоком материальных объектов на конвейере.
Конечный конвейер: batteryConveyor1. - Перетащите еще один блок Convey на графическую диаграмму агента Main и соедините его с выходным портом внизу блока conveyBattery.
-
Назовите блок conveyDefective и укажите в его свойствах следующее:
a. Перемещать с / из: Текущей позиции
Этот блок будет управлять перемещением аккумуляторов, которые не прошли проверку качества, на второстепенный конвейер.
b. Конечный конвейер: defectiveBatteryConveyor - Добавьте блок Sink в диаграмму процесса после блока conveyDefective.
-
Перейдите в свойства станции qaStation, распахните секцию Действия и введите следующий код в поле При окончании процесса:
if (randomTrue(0.01)) conveyBattery.cancel(agent);
Таким образом мы промоделируем аккумуляторы, которые не прошли проверку качества. Теперь некоторые агенты, проходящие через станцию qaStation, покинут блок через порт cancel при выполнении события "отмены", которое вызывается функцией cancel(), и направятся в блок conveyDefective.
- Запустите модель!
-
Как мы можем улучшить эту статью?
-