Скачиваний:
20
Добавлен:
07.11.2020
Размер:
600.34 Кб
Скачать
  1. В свойствах крана укажите следующее:

  1. Тип материального объекта: Battery

  2. Высота крана: 4 meter

  1. Убедитесь в том, что рабочая область крана полностью закрывает узел agvLoadingZone.

Теперь нам необходимо задать логику этого этапа.

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

  1. Добавьте блок Move By Crane в диаграмму процесса и расположите его после после блока conveyBattery.

  2. Назовите новый блок toLoadingArea.

Этот блок будет управлять перемещением аккумуляторов с помощью крана.

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

  1. Кран: batteryCrane

  2. Узел: agvLoadingArea

  3. Время захвата: 5 секунд

  4. Время освобождения: 5 секунд

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

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

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

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

  1. Вместимость: 1

  2. Базовое местоположение (узлы): agvHomeLocation

  3. Новый транспортер: Forklift

  1. Добавьте блок Move By Transporter в диаграмму процесса и расположите его после блока toLoadingArea.

  2. Назовите новый блок toChargingArea.

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

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

  1. Узел: store

  2. Автопарк: AGV

  3. Время погрузки: 5 секунд

  4. Время разгрузки: 5 секунд

  1. Запустите модель и посмотрите, как выглядит процесс производства аккумуляторов от начала и до конца!

Фаза 7. Разделение процесса производства электродов на аноды и катоды

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

  1. Нарисуйте конвейер в соответствии с изображением ниже и назовите его cathodeConveyor.

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

  1. Тип материального объекта: Electrode

  2. Z: 20

  3. Ширина: 0.5 м

  1. Разместите поверх нового конвейера Станцию обработки.

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

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

  1. Видимость: нет

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

  3. Длина: 0.5 м

  1. В свойствах станции распахните секцию Действия и введите следующий код в поле При окончании процесса: agent.color = silver;

С помощью этого кода мы зададим цвет катодов на выходе из пастонамазочной станции.

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

  2. Назовите новый узел cathodePlatesBuffer.

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

  1. Видимость: нет

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

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

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

  3. В свойствах узла cathodeCuringOven укажите Видимость: нет.

  4. Щелкните кнопку Аттракторы... и в диалоговом окне укажите режим создания аттракторов в узле: сетка 5 x 1.

  5. Нарисуйте еще один Прямоугольный узел возле установки пайки блоков аккумулятора.

  6. Назовите его preassembleCathodesBuffer.

  7. Задайте параметр Видимость: нет и Расположение внутри:

Упорядоченное.

В этой области катоды, которые прошли дегидратацию, будут ожидать сборки в группы.

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

  1. Перейдите в палитру 3D объекты и перетащите 3D объект Сушильная камера с палитры на графическую диаграмму агента Main.

  2. Разместите его поверх аттрактора в узле cathodeCuringOven.

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

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

конвейера cathodeConveyor.

  1. Создайте еще четыре копии 3D объекта, перетаскивая его с зажатой клавишей Ctrl. Разместите 3D объекты в соответствии с изображением ниже. Не забывайте о том, что размещение аттракторов также можно менять, перетаскивая их внутри узла.

Создайте нестандартный блок

  1. Выберите первые семь блоков диаграммы процесса (начиная с блока source по блок unbatchElectrodes включительно) и щелкните правой кнопкой мыши по выделенной области.

  2. Из контекстного меню выберите опцию Создать блок диаграммы процесса.

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

PrepareElectrode.

  1. На месте выделенных блоков в диаграмме процесса появится новый блок prepareElectrode со стандартной иконкой.

  2. В модельном дереве в панели Проекты появится агент PrepareElectrode.

Выберите блок prepareElectrode в графическом редакторе. В свойствах блока вы увидите параметры тех блоков, которые мы объединили для создания prepareElectrodes. Метки параметров генерируются автоматически и не очень удобны для чтения. Далее мы отредактируем эти метки и настроим сами параметры.

Измените метки параметров нестандартного блока

  1. Дважды щелкните по агенту PrepareElectrode в панели Проекты, чтобы открыть его в графическом редакторе. Вы увидите все параметры блока на графической диаграмме агента.

  2. Чтобы изменить метку параметра, выберите параметр и перейдите в секцию Редактор значения его свойств. Введите в поле Метка новое название параметра.

Настройте параметры нестандартного блока

  1. Поскольку в этой модели и аноды, и катоды заданы агентом Electrode, перейдите в свойства блока source, выбрав его на графической

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

  1. Удалите параметр source_newEntity с графической диаграммы агента PrepareElectrode.

  2. Партии анодов и катодов также задаются с помощью одного агента PlatesBatch. В свойствах блока batch переключите поле Новая партия в режим редактора значения и выберите из выпадающего списка агента PlatesBatch.

  3. Удалите параметр batch_newBatch с графической диаграммы агента PrepareElectrode.

  4. Партии анодов и катодов будут перевозить погрузчики одного автопарка, поэтому перейдите в свойства блока toElectrodeBuffer и укажите Автопарк: toOven_fleet(agent)

  5. Удалите параметр toElectrodeBuffer_fleet.

Теперь давайте заменим стандартный значок блока на следующее

изображение:

  1. Щелкните по изображению правой кнопкой мыши и сохраните его в папку модели.

  2. Удалите голубой прямоугольник стандартного значка с графического редактора агента PrepareElectrode.

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

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

  5. В свойствах изображения выберите опцию Значок.

  6. Отрегулируйте местоположение изображения так, чтобы порт соединителя находился точно на краю изображения:

  7. Перейдите в свойства изображения и распахните секцию Специфические. В поле Действие по щелчку введите следующий код: return true;

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

  1. Теперь следует добавить счетчик агентов на выходе из блока. Перетащите элемент Текст с палитры Presentation и разместите его рядом с нижним правым углом нового значка.

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

  1. Выберите опцию Значок.

  2. В поле Текст введите любое значение, например, 0. Переключите поле в режим редактора динамического значения и введите следующее выражение: source.out.count()В

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

  1. В параметре Цвет выберите значение blue.

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

  1. Перейдите на графическую диаграмму агента Main и переименуйте блок prepareElectrode в prepareAnode.

  2. Перетащите элемент PrepareElectrode из дерева модели на графическую диаграмму агента Main и соедините его со вторым входным портом блока assembler, как указано на изображении ниже.

  3. Назовите новый блок prepareCathode.

  1. свойствах нового блока укажите следующее:

  1. Batch size: 100

  2. Location of plates for batching: cathodePlatesBuffer

  3. Batch location: cathodePlatesBuffer

  4. Electrodes source conveyor: cathodeConveyor

  5. Electrodes target conveyor: cathodeConveyor

  6. Curing time: 2 minutes

  7. Curing location: cathodeCuringOven

  8. Electrodes per arrival: 200

  9. Electrodes interarrival time: 1.5 hours

  10. Electrodes buffer: preassembleCathodesBuffer

  11. Time to load at the oven: 0.5 minutes

  12. Time to unload at the buffer: 0.5 minutes

  13. Curing oven: cathodeCuringOven

  14. Forklifts fleet: forklifts

  15. Time to load batch from the conveyor: 0.5 minutes

  16. Time to unload batch at the oven: 0.5 minutes

  1. Теперь перейдите в свойства блока assembler и укажите Количество 2: 15.

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

  1. В панели Проекты щелкните правой кнопкой мыши по имени модели и выберите из контекстного меню опцию Создать > Список вариантов.

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

ElectrodeType.

  1. В таблице Задайте элементы укажите имена свойств агента:

ANODE и CATHODE.

  1. Список вариантов появится в дереве модели в группе Списки вариантов.

Добавьте параметр в свойства агента PlatesBatch

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

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

  3. В свойствах параметра выберите его Тип: ElectrodeType. Задайте динамическую смену цвета

  1. Выберите фигуру rectangle на графической диаграмме агента PlatesBatch.

  2. Переключите поле Цвет заливки в режим редактора динамического значения и введите следующий код: electrodeType == ANODE

? peru : silver

С его помощью мы проверяем значение параметра electrodeType и задаем цвет фигуры анимации rectangle в зависимости от полученного результата. Если значение равно ANODE, задается цвет peru. В противном случае задается цвет silver.

Укажите тип электрода в агенте prepareElectrode

  1. Добавьте параметр на графическую диаграмму агента prepareElectrode.

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

  3. В свойствах параметра выберите его Тип: ElectrodeType и задайте Метку: Electrode type.

  4. В свойствах блока batch переключите поле Новая партия в режим редактора динамического значения и укажите следующее: new PlatesBatch( electrodeType )

  5. Перейдите на графическую диаграмму агента Main. В свойствах блока prepareAnode укажите Electrode type: ANODE.

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

CATHODE.

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

Фаза 8. Производство электродов из свинцовой ленты Нарисуйте разметку пространства

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

  2. В графической диаграмме агента Main нарисуйте конвейер для сыпучих материалов так, чтобы его конечная точка прилегала к начальной точке конвейера conveyor.

  3. Назовите его leadMetalConveyor.

  4. В свойствах нового конвейера для сыпучих материалов укажите

Z: 20.

  1. Таким же образом нарисуйте конвейер для сыпучих материалов

перед конвейером cathodeConveyor.

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

  2. В свойствах укажите Z: 20.

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

  1. Из секции Станки с ЧПУ палитры 3D объекты перетащите объект Резальная машина 3 Сост 1 на графическую диаграмму агента Main и разместите его в точке соединения конвейеров leadMetalConveyor и conveyor.

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

  3. В свойствах 3D объекта укажите Доп. масштабирование: 50% и

Z: 18.

  1. Скопируйте объект на второй конвейер и разместите точно так

же, в точке соединения двух конвейров.

Добавьте параметр в блок PrepareElectrode

  1. Добавьте параметр на графическую диаграмму агента PrepareElectrode.

  2. Назовите параметр metalBulkConveyor.

  3. В свойствах параметра укажите Тип: Другой... и введите в соседнем поле следующее: BulkConveyorBelt.

  4. Укажите Метку: Metal bulk conveyor и в параметре Тип управления выберите опцию Выбор элемента.

  5. В свойствах блока prepareAnode укажите Metal bulk conveyor:

leadMetalConveyor.

  1. В свойствах блока prepareCathode укажите Metal bulk conveyor:

leadDioxideMetalConveyor.

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

  1. Перетащите блок Fluid Source с палитры Библиотеки моделирования потоков на графическую диаграмму агента

PrepareElectrode.

  1. Назовите новый блок metalSource.

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

  1. Скорость: 5 куб. метров / сек

  2. Режим: Огранич. объем, inject() для пополнения

  3. Начальный объем: 0.075 куб. метров

  1. Перетащите блок Bulk Conveyor с палитры Библиотеки моделирования потоков на графическую диаграмму агента PrepareElectrode и разместите его после блока metalSource. Убедитесь, что соединение между блоками установилось.

  2. Назовите новый блок conveyMetal. В его свойствах укажите следующее:

  1. Длина: 10 м

  2. Скорость: 0.01 м/с

  3. Макс. входная скорость потока: 0.0001 куб. метров / сек

  4. Конвейер: metalBulkConveyor

  1. Перетащите блок Fluid To Agent с палитры Библиотеки моделирования потоков на графическую диаграмму агента PrepareElectrode и разместите его после блока conveyMetal.

  2. В свойствах нового блока укажите Объем жидкости в агенте:

0.0002 куб. метров и Новый агент: Electrode.

  1. Удалите блок source из созданной ранее диаграммы процесса, описывающей генерацию и обработку электродов, и замените его только что созданной последовательностью блоков.

  2. Выберите текстовый элемент, с помощью которого мы задали счетчик агентов в блоке PrepareElectrode и в поле Teкст замените строку кода на следующую: fluidToAgent.out.count()

Поскольку мы удалили блок source, у которого запрашивали количество сгенерированных агентов (электродов), нам нужно указать другой блок для этого запроса. В нашем случае этим блоком является fluidToAgent, где происходит конвертация жидкости в дискретные агенты.

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

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

  2. Назовите новое событие addRoll.

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

  1. Режим: Циклический

  2. Время первого срабатывания (абс.): 2 часа

  3. Период: 2 часа

  1. В поле Действие добавьте следующую строку кода: metalSource.inject(0.075)

  2. Запустите готовую модель!

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