Скачиваний:
20
Добавлен:
07.11.2020
Размер:
600.34 Кб
Скачать

В ходе выполнения лабораторной работы нужно построить модель производства кислотно-свинцовых аккумуляторов. Данная работа состоит из 8 фаз, которые будут описаны ниже.

Фаза 1. Создание партий электродов

Для начала создадим новую модель. После чего добавим план проекта. Мы будем использовать следующий план:

Рисунок 1 - План проекта Сохраним изображение плана себе на компьютер. Добавим план на графическую диаграмму модели

  1. В меню Палитры выберем палитру Презентация.

  2. Перетащим элемент Изображение из палитры Презентация на графическую диаграмму агента Main. Мы можем использовать элемент Изображение, чтобы добавлять на презентацию агента изображения разных форматов, включая PNG, JPEG, GIF и BMP.

  3. Выберем изображение, которое мы будем использовать в модели. Диалог для выбора файла откроется автоматически. Откроем каталог, в который мы только что сохранили файл изображения, выберем файл и нажмем Открыть.

  4. Убедимся в том, что левый верхний угол изображения соответствует исходной точке системы координат, как указано на изображении ниже:

Рисунок 2 - Изображение в графическом редакторе

Создание конвейера

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

Элементы разметки Библиотеки производственных систем являются не только набором инструментов для моделирования пространства. Конвейер, Станция обработки, Кран и др. также используются, чтобы задавать логику модели: скорость движения материальных объектов, использование ресурсов и т.д.

Нарисуйте конвейер

Откройте палитру Разметка пространства. В секции Производственные системы дважды щелкните мышью по элементу

Конвейер, чтобы переключить его в режим рисования. Иконка элемента сменится на .

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

В секции Местоположение и размер свойств конвейера задайте Z: 20. Создание диаграммы процесса

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

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

Создайте диаграмму процесса

Перетащите элемент Source с палитры Библиотеки моделирования процессов на графическую диаграмму агента Main. С помощью этого блока мы будем генерировать электроды.

В Свойствах блока source задайте параметры, как указано на изображении ниже, чтобы блок каждые 1.5 часа генерировал 200 электродов, и эти электроды покидали блок один за другим:

  1. В параметре Прибывают согласно выберите опцию Времени между прибытиями.

  2. В поле Время между прибытиями задайте значение 1.5 и выберите часы из выпадающего списка единиц времени.

  3. В параметре Первое прибытие происходит выберите опцию При запуске модели.

  4. Выcтавите флажок в параметре За 1 раз создается несколько агентов.

  5. В поле Кол-во агентов, прибывающих за 1 раз введите значение 200.

  6. В секции свойств Специфические снимите флажок в параметре Выталкивать агентов.

  7. В параметре Агенты, которые не могут выйти выберите из выпадающего списка опцию ожидают в этом блоке.

Чтобы промоделировать перемещение электродов с помощью конвейера, перетащите элемент Convey с палитры Библиотеки производственных систем на графическую диаграмму агента Main и разместите его справа от блока source так, чтобы они автоматически соединились, как указано на изображении ниже:

Рисунок 3 – Блоки

В Свойствах блока convey укажите Начальный конвейер: conveyor и Конечный конвейер: conveyor.

Поставьте флажок в параметре Покинуть конвейер при выходе.

Добавьте в диаграмму процессов блок Sink. Он уничтожает агентов и обычно является последним блоком диаграммы.

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

Щелкните кнопку Запуск на панели инструментов и выберите из выпадающего списка эксперимент, который хотите запустить. Нужный вам эксперимент называется Lead Acid Battery Production / Simulation.

В нашем случае в рабочем пространстве открыта только одна модель, поэтому вам сразу предложат запустить нужный эксперимент. В дальнейшем, по нажатию на эту кнопку будет запускаться предыдущий запущенный эксперимент. Для запуска любого другого эксперимента нужно будет щелкнуть правой клавишей мыши (Mac ОС: Ctrl+щелчок правой клавишей мыши) по эксперименту в панели Проекты и выбрать команду Запуск из контекстного меню.

Запустив модель, вы увидите окно модели. Оно отображает презентацию, созданную для вашего имитационного эксперимента.

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

При необходимости, отрегулируйте скорость выполнения модели с помощью элементов управления Замедлить и Ускорить .

Создание электродов

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

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

Перетащите элемент Тип материального объекта из палитры Библиотеки производственных систем на графическую диаграмму агента Main.

Автоматически откроется диалоговое окно Создание агента.

На первой странице диалогового окна укажите Имя нового типа: Electrode.

Щелкните кнопку Далее

На следующем этапе вам предложат выбрать анимацию для материального объекта этого типа. Поскольку мы будем создавать анимацию самостоятельно, выберите опцию Нет и щелкните кнопку Готово.

В панели Свойства типа агента Electrode разверните секцию Размеры и движение и задайте длину, ширину и высоту типа агента Electrode, как указано на изображении ниже.

Рисунок 4 - Свойства агента

Теперь давайте настроим масштаб агента. Сдвиньте холст графической диаграммы агента Electrode, щелкнув по диаграмме и прокрутив колесо мышки вверх до тех пор, пока в графическом редакторе не появится элемент Масштаб. В свойствах элемента задайте Длина линейки соответствует: 1 метр. Обратите внимание, как метка-заполнитель для анимации агента, расположенная в исходной точке координат, изменит свой размер.

Добавьте фигуру анимации агента. Перетащите элемент Прямоугольник element из палитры Презентация на графическую диаграмму Electrode и разместите его в исходной точке координат.

В секции свойств прямоугольника Внешний вид оставьте значение по умолчанию параметра Цвет заливки.

Из выпадающего списка в параметре Цвет линии выберите опцию Нет цвета.

В секции свойств Местоположение и размер задайте настройки, как указано на изображении ниже. Теперь размер прямоугольника будет соответствовать размеру метки-заполнителя.

Мы завершили создание нового агента. Осталось настроить масштаб так, чтобы он соответствовал масштабу основного агента:

Перейдите на графическую диаграмму агента Main. Перетащите холст диаграммы вниз, чтобы элемент Масштаб стал виден.

В свойствах элемента задайте значение параметра Длина линейки соответствует: 5 метров.

В свойствах элемента conveyor задайте значение параметра Ширина:

    1. метров.

Теперь мы должны сообщите элементу разметки пространства (conveyor) и диаграмме процесса, что роль материального объекта выполняет агент Electrode.

Откройте свойства conveyor и выберите из выпадающего списка в параметре Тип материального объекта: Electrode:

Рисунок 5 – Свойства

      1. Выберите блок source в диаграмме процессов.

      2. В свойствах блока выберите из выпадающего списка в параметре Новый агент: Electrode.

Нанесение пасты на электроды

На электроды, которые по сути являются свинцовыми решетками, необходимо нанести специальную пасту. Эта паста послужит активным

материалом в электрохимических реакциях, которые будут проходить во время зарядки и разрядки аккумуляторов.

Добавить пастонамазочную станцию

  1. Перетащите элемент Станция обработки из секции Разметка пространства палитры Библиотека производственных систем на графическую диаграмму агента Main и поместите ее на конвейер, который мы создали ранее.

  2. В свойствах станции обработки настройте следующие параметры:

  1. Имя: pastingMachine

  2. Время обработки: 1 секунда

c: Смещение от начала конвейера: 80

d: Длина: 0.5 м

Рисунок 6 - Станция обработки

Динамический цвет материального объекта

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

Чтобы задать это изменение в анимации, мы используем переменную.

    1. Перетащите элемент Переменная с палитры Агент на графическую диаграмму агента Electrode.

    2. Назовите его color.

    3. В свойствах переменной укажите:

  1. Тип: Color

  2. Начальное значение: white

Обратите внимание, что white здесь является именем Java-константы, которую мы используем, чтобы задать цвет.

    1. Щелкните по прямоугольнику, который мы создали для анимации агента Electrode и перейдите в секцию Внешний вид его свойств. Мы используем динамическое значение параметра Цвет заливки, где укажем переменную color для задания цвета электродов во время выполнения модели.

  1. Щелкните по иконке Редактор значения возле поля Цвет заливки. Когда вместо этой иконки появится иконка Динамическое значение, вместо поля с выпадающим списком появится поле редактирования.

  2. Введите в поле редактирования color, чтобы связать этот параметр с созданной ранее переменной.

    1. Переключитесь в графический редактор агента Main.

    2. Щелкните по станции обработки pastingMachine и раскройте секцию свойств Действия.

    3. В поле При окончании процесса введите следующий код:

Рисунок 7 – Код

Сборка партий

Перед тем, как отправиться в сушильную печь, электроды должны быть собраны в партии. Давайте смоделируем этот процесс.

Добавьте место хранения партии

  1. Дважды щелкните по элементу Прямоугольный узел в палитре Разметка пространства, чтобы переключиться в режим рисования. Иконка элемента сменится иконкой . Щелкните по графической диаграмме агента Main возле конечной точки конвейера, чтобы разместить начальную точку (угол) прямоугольного узла, и двигайте мышь до тех пор, пока узел не станет

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

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

  1. Имя: platesBuffer

  2. Видимость: no

  3. Расположение внутри: Упорядоченное

  1. Распахните секцию свойств Специфические и выберите Отображать в: Только в 2D.

Рисунок 8 – Свойства

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

  1. Перетащите блок sink вправо, чтобы освободить место в диаграмме процесса для нового блока.

  2. Перетащите блок Batch из Библиотеки моделирования процессов и поместите его в диаграмму процесса перед блоком sink. Соединение между блоками установится автоматически.

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

  1. Размер партии: 100. Блок будет накапливать по 100 агентов типа Electrode, а потом выпускать их в виде одной партии.

  2. Место агентов: platesBuffer.

  3. Место новой партии: Узел сети/ГИС.

  4. Узел: platesBuffer.

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

  2. Задайте Имя: PlatesBatch.

  3. В диалоговом окне Создание агента на этапе Шаг 2. Анимация агента оставьте выбранной опцию 3D, распахните секцию Склады и контейнерные терминалы в списке и выберите элемент Поддон. Щелкните по кнопке Готово.

  4. В свойствах агента PlatesBatch укажите:

  1. Длина: 1.2 м

  2. Ширина: 1.2 м

  1. Выберите элемент Масштаб, расположенный на графической диаграмме агента PlatesBatch.

  2. Укажите Длина линейки соответствует: 1 м.

  3. Перетащите элемент Прямоугольник с палитры Презентация на графическую диаграмму агента PlatesBatch. С его помощью мы анимируем уже готовую партию электродов на поддоне.

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

  1. Цвет заливки: peru,

  2. Ширина: 100

  3. Высота: 100

  4. Z-Высота: 30

  1. Разместите прямоугольник в центре оси координат.

  2. Вернитесь в графический редактор агента Main.

  3. Откройте свойства блока batch и выберите PlatesBatch из выпадающего списка в параметре Новая партия.

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

Добавление 3D анимации

Мы закончили создавать логическую часть первого этапа. Пора заняться 3D анимацией нашей модели!

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

Добавить 3D окно

  1. Перетащите элемент 3D Окно из секции 3D палитры Презентация на графический редактор агента Main.

  2. Появится серая область. Разместите ее там, где вы хотите видеть 3D анимацию во время запуска модели:

Рисунок 9 - Добавление 3D объекта Навигация в 3D анимации

Теперь можно запустить модель и увидеть простую 3D анимацию.

  1. Когда вы добавляете 3D окно, AnyLogic создает область просмотра, где вы можете с легкостью управлять 3D просмотром в ходе выполнения модели. Чтобы переключиться в 3D обзор во время выполнения модели, откройте панель разработчика, щелкнув по элементу управления

Панель разработчика в правом углу панели управления. В панели разработчика раскройте список выбрать область и показать и выберите опцию [window3d].

  1. Управляйте 3D сценой с помощью следующих команд:

Чтобы

Используйте мышь следующим образом

Передвинуть сцену

  1. Зажмите левую клавишу мыши в области просмотра 3D и не отпускайте.

  2. Двигайте курсор мыши в нужном направлении.

Повернуть сцену

  1. нажмите клавишу Alt (Mac ОС: Option) и не отпускайте.

  2. Щелкните по области просмотра 3D, не отпуская клавишу Alt, зажмите левую клавишу мыши.

  3. Двигайте курсор мыши в нужном направлении вращения.

Приблизить/удалить

сцену

1. Прокручивайте колесо мыши в окне 3D по направлению к себе, чтобы приблизить сцену, и от себя - чтобы удалить.

Добавить пастонамазочную машину

  1. Выберите станцию обработки pastingMachine и в ее свойствах задайте Видимость: нет. Таким образом анимация станции по умолчанию не будет отображаться во время выполнения модели и не помешает 3D анимации.

  2. Перейдите в палитру 3D объекты.

  3. Перетащите 3D объект Пастонамазочная машина из секции Производство палитры на графический редактор агента Main и разместите его поверх станции pastingMachine.

  4. Появится диалоговое окно Автомасштабирование 3D объекта.

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

  1. В диалоговом окне щелкните кнопку Да.

Нарисовать стены

Рисунок 10 – Стены

  1. Дважды щелкните мышью по элементу Стена в секции Пешеходы палитры Разметка пространства, чтобы перейти в режим рисования.

  2. Щелкните в точке, где должен начаться сегмент стены. Вторым щелчком обозначьте, где будет находиться угол. Дважды щелкните по графическому редактору, чтобы разместить конечную точку сегмента стены.

В нашем плане есть несколько стен одинакового размера. Чтобы не рисовать их все снова и снова, воспользуйтесь копированием. Нарисуйте одну стену, а потом перетащите ее на новое место, зажав клавишу Ctrl на клавиатуре. Повторите это действие столько раз, сколько вам нужно будет сделать копий.

Чтобы отрегулировать расположение стены, выберите ее и используйте сочетание клавиш Shift+стрелка.

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

  2. Зажмите клавишу Ctrl и выделите все нарисованные стены одну за другой. В панели свойств отобразится Выбрано n элемента(ов).

  3. В секции Внешний вид укажите Цвет: серый.

  4. В секции Местоположение и размер укажите Z-Высота: 20.

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

Создайте погрузчики

  1. Перетащите элемент Тип транспортера из палитры Библиотеки производственных систем на графическую диаграмму агента

Main.

  1. В диалоговом окне Создание агента укажите Имя типа агента:

Forklift.

  1. Щелкните по кнопке Готово.

  2. Откройте секцию Склады и контейнерные терминалы палитры 3D объекты и перетащите элемент Погрузчик на графическую диаграмму агента Forklift.

  3. Приведите размер 3D объекта в соответствие с масштабом агента.

  4. В секции Размеры и движение свойств агента Forklift укажите следующее:

  1. Длина: 2 м

  2. Ширина: 1.3 м

  3. Высота: 1.5 м

  1. В поле При запуске в секции свойств агента Действия агента добавьте строку кода, которая позволит задать местоположение перевозимого объекта по отношению к центральной точке

погрузчика: setCargoPosition(1, 0, 0, METER);

Рисунок 11 – Свойства

Нарисуйте базовое местоположение погрузчиков

  1. Перетащите Прямоугольный узел с палитры Разметка пространства на графическую диаграмму агента Main.

  2. Назовите его forkliftHomeLocation.

  3. В свойствах узла выберите опцию Видимость: нет.

  4. Разместите узел в соответствии с изображением ниже:

Рисунок 12 - Расположение узла

Нарисуйте сушильную камеру

  1. Перетащите Прямоугольный узел с палитры Разметка пространства на графическую диаграмму агента Main.

  2. Назовите curingOven.

  3. В свойствах узла выберите опцию Видимость: нет.

  4. Измените размер узла и его местоположение так, чтобы они соответствовали изображению ниже:

Рисунок 13 - Сушильная камера

  1. В свойствах узла щелкните кнопку Аттракторы..., чтобы задать местоположение агентов в узле.

  2. В диалоговом окне выберите опцию Сетка и задайте значения 5 x

  1. Перетащите аттракторы, чтобы изменить их местоположение. Добавьте 3D анимацию

    1. Откройте палитру 3D объекты.

    2. Перетащите элемент Сушильная камера из секции Производство на графический редактор агента Main и разместите его поверх аттрактора в узле curingOven.

    3. В открывшемся диалоговом окне Автомасштабирование 3D объекта щелкните кнопку Да.

    4. Расположите объект так, чтобы он находился в пределах стен нашего плана и полностью закрывал собой аттрактор.

    5. Скопируйте 3D объект (Ctrl+перетаскивание) и разместите копию на следующем аттракторе. Повторяйте процесс, пока все аттракторы в узле curingOven не будут закрыты 3D объектами.

Задайте управление погрузчиками в диаграмме процесса

  1. Откройте палитру Библиотеки производственных систем и перетащите блок Transporter Fleet на графическую диаграмму агента

Main.

  1. Назовите его forklifts.

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

  1. В параметре Тип навигации выберите опцию Произвольное перемещение. Теперь погрузчики в нашей модели будут перемещаться в пространстве самостоятельно и сами смогут объезжать препятствия в производственном цехе.

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

  3. В параметре Базовое местоположение (узлы) выберите узел

forkliftHomeLocation.

  1. Задайте Радиус поворота: 1 м.

  2. В параметре Новый транспортер выберите тип агента Forklift.

  3. Задайте Максимальную скорость: 0.5 м/с.

  1. Перетащите блок MoveByTransporter с палитры Библиотеки производственных систем на графическую диаграмму агента Main и поместите его в диаграмму процесса после блока batch.

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

  1. Имя: toOven

  2. Место назначения: Node

  3. Узел: curingOven

  4. Автопарк: forklifts

  5. Время погрузки: 1 минуты

  6. Время разгрузки: 1 минуты

Задать процесс сушки электродов

После того, как электроды были доставлены в сушильную камеру, начнется процесс дегидратации. В реальности такие процессы занимают от 12 до 24 часов. Для целей нашего учебного пособия мы значительно сократили это время.

Соседние файлы в предмете Имитационное моделирование экономических процессов