AnyLogic
Развернуть
Размер шрифта

Ветвление конвейера

Ветвление конвейера — элемент разметки пространства, который используется для соединения двух конвейеров под любым углом. Агенты (материальные объекты) сохраняют ориентацию на конвейере, проходя через ветвление.

В отличие от таких элементов, как Поворотный стол или Платформа вращения, ветвление конвейера не разделяет магистральный конвейер на два независимых конвейера. Ветвление может соединять только два конвейера.

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

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

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

Демо-модель: Conveyor Singulator Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.

Чтобы нарисовать ветвление конвейера

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

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

Свойства

Основные свойства

Имя — Имя ветвления конвейера. Имя используется для идентификации элемента и доступа к нему из кода и свойств блоков диаграммы процесса.

Исключить — Если опция выбрана, то ветвление будет исключено из модели.

Отображается на верхнем агенте — Если опция выбрана, фигура ветвления будет видна на презентации типа агента, в который будет вложен данный агент.

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

Видимость — Здесь вы можете указать, будет ли этот подъемник виден на анимации в время выполнения модели. Используя элемент управления, выберите да или нет.

Внешний вид

Цвет заливки — Задает цвет заливки фигуры. Если вы не хотите, чтобы фигура была закрашена, выберите Нет цвета.

Цвет линии — Задает цвет линии. Если вы не хотите, чтобы линия контура была видна, выберите Нет цвета.

Местоположение и размер

Смещение от начала конвейера — Расстояние от начальной точки основного конвейера до центральной точки ветвления конвейера.

Связь между конвейерами, расположенными на разных диаграммах

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

Чтобы соединить конвейеры, расположенные на разных диаграммах

  1. Перетащите элемент Ветвление конвейера из секции Разметка пространства палитры Библиотека производственных систем на графическую диаграмму и разместите его вплотную к той точке магистрального конвейера, где вы хотите создать ветвление.
  2. Откройте графическую диаграмму агента, на которой находится ваш боковой конвейер.
  3. Добавьте сетевой порт на ту конечную точку бокового конвейера, где должно происходить соединение с магистральным конвейером.
  4. В панели Свойства порта переключите поле параметра Соединить с портом в режим ввода динамического значения и впишите соответствующее <имя агента>.<имя ветвления конвейера>.
  5. Перетащите агента на ту графическую диаграмму, где находится магистральный конвейер. Отрегулируйте размещение презентации бокового конвейера так, чтобы ветвление конвейера и сетевой порт находились друг поверх друга.

Функции

Конвейер
Функция Описание
ConveyorPath getConveyor() Возвращает магистральный конвейер, на котором расположено ветвление.
void setConveyor(ConveyorPath conveyor) Задает магистральный конвейер, на котором расположено ветвление.

conveyor — новый конвейер
Местоположение
Функция Описание
double getOffset(LengthUnits units) Возвращает расстояние от начальной точки магистрального конвейера до центральной точки ветвления (в заданных единицах измерения).

units — константа, задающая единицу измерения длины
void setOffset(double offset, LengthUnits units) Задает расстояние от начальной точки магистрального конвейера до центральной точки ветвления (в заданных единицах измерения).

offset — новое значение расстояния
units — константа, задающая единицу измерения длины
boolean isOnRightSide() Возвращает значение true, если ветвление конвейера расположено на правой стороне магистрального конвейера. В противном случае возвращает значение false.
void setOnRightSide(boolean isOnRightSide) Размещает ветвление на заданной стороне магистрального конвейера.

isOnRightSide — если передается значение true, ветвление будет размещено на правой стороне. Чтобы разместить ветвление на левой стороне магистрального конвейера, нужно передать значение false.
Point getXYZ() Возвращает координаты элемента ветвления (он считается точкой).
Связь с портом
Функция Описание
NetworkPort getPairedPort() Возвращает сетевой порт, связанный с этим ветвлением конвейера.
void setPairedPort(NetworkPort pairedPort) Задает сетевой порт, связанный с этим ветвлением конвейера.

pairedPort — сетевой порт, принадлежащий другой сети
Видимость
Функция Описание
boolean isVisible() Проверяет, отображается ли ветвление конвейера на анимации во время выполнения модели. Если функция возвращает true — значит, ветвление конвейера отображается, если false — нет.
void setVisible(boolean v) Задает видимость ветвления конвейера.

v — видимость. Если значение v равно true, то ветвление будет отображаться, если равно false — то нет.
Цвет / текстура
Функция Описание
Color getLineColor() Возвращает цвет контура фигуры или null, если у контура нет цвета или если контур отображает текстуру (в последнем случае используйте функцию getLineTexture()).
Texture getLineTexture() Возвращает текстуру контура фигуры или null, если у контура нет текстуры, а используется цвет (в последнем случае используйте функцию getLineColor()).
void setLineColor(Color lineColor) Задает цвет контура ветвления.

lineColor — новый цвет
void setLineColor(Paint lineColor) Задает цвет (или текстуру) контура ветвления.

lineColor — новый цвет (или текстура)
Color getFillColor() Возвращает цвет заливки ветвления или null, если у ветвления нет заливки или если ветвление отображает текстуру (в последнем случае используйте функцию getFillTexture()).
Texture getFillTexture() Возвращает текстуру заливки ветвления или null, если у ветвления нет текстуры заливки или если ветвление использует цвет заливки (в последнем случае используйте функцию getFillColor()).
void setFillColor(Color fillColor) Задает цвет заливки ветвления.

fillColor — новый цвет заливки; если значение равно null, то фигура не заливается
void setFillColor(Paint fillColor) Задает для ветвления новый цвет заливки (или текстуру, объект типа Texture).

fillColor — новый цвет заливки; если значение равно null, то фигура не заливается
Удаление
Функция Описание
void remove() Удаляет ветвление конвейера из презентации. Если ветвление не является частью презентации, функция не выполняет ничего. Обратите внимание, что удаление из презентации не обязательно подразумевает удаление из логики модели, поскольку логические сети и маршруты могли быть заданы еще до удаления элемента и не исчезают.
Как мы можем улучшить эту статью?