Конвейер является элементом разметки пространства, который графически отображает конвейер. Транспортировка материальных объектов на конвейере задается следующими блоками Библиотеки производственных систем: Convey, ConveyorEnter и ConveyorExit.
Каждый отдельный конвейер является частью конвейерной сети. Такие сети можно соединять друг с другом, образуя таким образом более крупные конвейерные сети. Движение в конвейерной сети между исходным узлом и узлом назначения всегда происходит по кратчайшему конвейеру.
Конвейер начинает движение с заданной начальной скоростью и ускоряется до заданной максимальной скорости. Движение продолжается на максимальной скорости, пока конвейер не остановится.
Конвейер может служить препятствием для транспортеров, перемещающихся в режиме
произвольной навигации.
В отличие от всех остальных элементов разметки пространства, которые просто графически задают размеры элемента и его местоположение, конвейер предоставляет набор действий, используя которые можно дополнить поведение агента.
Конвейер обладает информацией о всех объектах, которые (частично или полностью) находятся на нем. Вы можете получить список этих объектов с помощью соответствующих функций этого элемента.
Демо модель: Cross Belt Conveyor
Чтобы нарисовать конвейер
У конвейера может быть любое количество прямых и/или дуговых сегментов. После того, как вы завершили рисовать конвейер двойным щелчком, вы можете продолжить создавать его, а также редактировать конвейер, делая его сегменты прямыми или дуговыми.
Имя – Имя конвейера. Имя используется для идентификации конвейера и доступа к нему из кода и свойств блоков диаграммы процесса.
Исключить – Если опция выбрана, то конвейер будет исключен из модели.
Отображается на верхнем агенте
– Если опция выбрана, то фигура будет видна на презентации типа агента, в который будет вложен данный агент.
Блокировать
– Если опция выбрана, то фигура будет считаться
заблокированной
и не будет реагировать на щелчки мыши. Таким образом, вы не сможете
выбрать заблокированную фигуру в графическом редакторе до тех пор, пока
вы не снимете с нее блокировку.
Видимость – Здесь вы можете указать, будет ли фигура видна на анимации во время выполнения модели или нет. Используя элемент управления, выберите да или нет.
Тип материального объекта – Тип материального объекта, транспортируемый этим конвейером. Не изменяйте тип заданного материального объекта в установленных на конвейер станциях, поворотных столах или элементах Трансфер, так как конвейер ожидает объекты того же типа после установленных на него элементов разметки пространства.
Является препятствием – Если опция выбрана, этот конвейер будет служить препятствием для транспортеров, перемещающихся в режиме произвольной навигации.
Тип – тип конвейера: Роликовый, Ленточный или С лотками.
Максимальная скорость
– Максимальная скорость конвейера. Максимальная скорость должна быть
>=0. Если максимальная скорость и начальная скорость равны 0,
конвейер не начнет движение. Конвейер может начать движение, если
задать положительную начальную скорость, вызвав функцию
setMaxSpeed(double speed, SpeedUnits units).
Начальная скорость – Начальная скорость конвейера. Начальная скорость должна быть >= 0. Если начальная скорость меньше максимальной скорости, автомобиль начнет ускоряться до максимальной скорости.
Ускорение – Ускорение конвейера.
Замедление – Замедление конвейера.
Размер ячейки – [Параметр виден, если в параметре Тип выбрана опция С лотками] Размер лотка на конвейере с лотками.
Зазор – Минимальный допустимый зазор между материальными объектами на конвейере (или лотками, если в параметре Тип указан конвейер С лотками).
Максимальный приоритет
– Если опция выбрана, этот конвейер обладает самым высоким приоритетом
по сравнению с присоединенными к нему конвейерами.
Приоритет
– [Параметр виден, если не выбран параметр
Максимальный приоритет]
Задает приоритет этого конвейера на этом соединении. Приоритет не
распространяется на всю конвейерную сеть. При необходимости приоритет
следует задать отдельно для каждого соединения.
Если соединение выполнено с помощью
трансфера
или
поворотного стола,
конвейер с наиболее высоким значением данного параметра обладает
большим приоритетом по сравнению с остальными конвейерами с заданными Приоритетами.
Во всех действиях, к данному материальному объекту можно обратиться через локальную переменную
agent.
При входе переднего торца
– Здесь вы можете задать код, который будет выполняться, когда передний
торец материального объекта поступает на конвейер.
При входе заднего торца – Здесь вы можете задать код, который будет выполняться, когда задний торец материального объекта поступает на конвейер.
При выходе переднего торца
– Здесь вы можете задать код, который будет выполняться, когда передний
торец материального объекта покидает на конвейер.
При выходе заднего торца
– Здесь вы можете задать код, который будет выполняться, когда задний торец материального объекта покидает на конвейер.
При запуске – Здесь вы можете задать код, который будет выполняться при запуске конвейера, который может произойти в момент вызова функции конвейера start() или при починке конвейера.
При остановке – Здесь вы можете задать код, который будет выполняться при остановке конвейера, который может произойти в момент вызова функции конвейера stop() или при поломке конвейера.
При поломке – Здесь вы можете задать код, который будет выполняться при поломке конвейера.
При починке – Здесь вы можете задать код, который будет выполняться при починке конвейера.
Цвет линии – Цвет конвейера.
Рисовать стойки – Если опция выбрана, стойки конвейера будут нарисованы в 3D режиме. Стойки рисуются к конвейеру от 0 - абсолютной Z-координаты уровня, где находится конвейер или со сдвигом от уровня.
... со сдвигом от уровня – [Параметр виден, если выбрана опция Рисовать стойки] Задает Z, от которого будут нарисованы стойки, где 0 - абсолютная Z-координата уровня, на котором находится данный конвейер.
X – х-координата начальной точки конвейера.
Y – y-координата начальной точки конвейера.
Z – [Доступно, только если установлен флажок Отображать в: В 2D и в 3D или Только в 3D] z-координата начальной точки конвейера. При соединении с конвейером, для которого уже задана Z-высота, данное значение автоматически сменится на значение Z-координаты этого конвейера.
Ширина – Ширина конвейера. Новое значение приведет к изменению графического отображения элементов разметки пространства, расположенных на этом конвейере.
В секции свойств Точки расположена таблица относительных координат точек конвейера.
Первая точка всегда имеет координаты (0,0,0), и они не редактируются
В остальных строках таблицы задаются координаты последующих точек. Координаты каждой точки представляют собой смещения этой точки от начальной по оси X, Y и Z соответственно
Отображать в – Здесь вы можете выбрать, будет ли конвейер отображаться В 2D и в 3D, Только в 2D или Только в 3D.
Отображать имя – Если опция выбрана, то имя фигуры будет отображаться в графическом редакторе.
Функция |
Описание |
boolean isStopped() |
Возвращает true, если конвейер остановлен, в противном случае возвращает false. |
double stop() |
Останавливает конвейер. |
double run() |
Запускает конвейер. |
double getCurrentSpeed(SpeedUnits units) |
Возвращает текущую скорость конвейера (в заданных единицах измерения).
Параметр:
|
double getMaxSpeed(SpeedUnits units) |
Возвращает максимальную скорость конвейера (в заданных единицах измерения).
Параметр:
|
double setMaxSpeed(double speed, SpeedUnits units) |
Задает новую максимальную скорость конвейера (в заданных единицах измерения).
Параметры:
|
double getInitialSpeed(SpeedUnits units) |
Возвращает изначальную скорость конвейера (в заданных единицах измерения).
Параметр:
|
Функция |
Описание |
double getAcceleration(AccelerationUnits units) |
Возвращает ускорение конвейера (в заданных единицах измерения).
Параметр:
|
double setAcceleration |
Задает новое значение ускорения конвейера (в заданных единицах измерения).
Параметры:
|
double getDeceleration(AccelerationUnits units) |
Возвращает замедление конвейера (в заданных единицах измерения)
Параметр:
|
double setDeceleration (double deceleration, AccelerationUnits units) |
Задает новое значение замедления конвейера (в заданных единицах измерения).
Параметры:
|
Функция |
Описание |
Level getLevel() |
Возвращает
уровень, на котором находится этот конвейер. |
Функция |
Описание |
boolean isObstacle() |
Возвращает
true,
если этот конвейер служит препятствием для транспортеров,
перемещающихся в режиме произвольной навигации. В противном случае
возвращает false. |
void setObstacle(boolean isObstacle) |
Задает этот конвейер в качестве препятствия для транспортеров, перемещающихся в режиме произвольной навигации.
Параметр: |
Функция |
Описание |
ConveyorType getType() |
Возвращает тип этого конвейера. Допустимые значения: CONVEYOR_TYPE_ROLLER, CONVEYOR_TYPE_BELT, CONVEYOR_TYPE_CELL. |
boolean isAccumulating() |
Возвращает true, если конвейер аккумулирующего типа, в противном случае возвращает false. |
boolean isMaximumPriority() |
Возвращает true, если это конвейер с максимальным приоритетом. |
ConveyorNode getSource() |
Возвращает начальный узел конвейера. Начальный узел является началом конвейера. |
ConveyorNode getTarget() |
Возвращает конечный узел конвейера. Конечный узел является концом конвейера. |
ConveyorNode getOtherNode() |
Возвращает второй (другой) узел конвейера. |
ConveyorNetwork getNetwork() |
Возвращает конвейерную сеть, к которой принадлежит этот конвейер. |
Функция |
Описание |
double getGap(LengthUnits units) |
Возвращает минимальный допустимый зазор между материальными агентами этого конвейера (в заданных единицах измерения длины).
Параметр:
|
Функция |
Описание |
int size() |
Возвращает количество агентов (материальных объектов), находящихся в данный момент на конвейере. |
List<T> getAgents() |
Возвращает список агентов (материальных объектов), находящихся в данный момент на конвейере, если таких нет, то возвращает null. |
boolean contains(Agent agent) |
Возвращает true, если заданный материальный объект agent находится в данный момент на конвейере, в противном случае возвращает false. Параметр: agent - агент |
T getAgent(int index) |
Возвращает агента, находящегося в заданной позиции на конвейере (отсчет начинается с нуля). Параметр: index - индекс агента на конвейере |
T getAgent(double offset, LengthUnits units) |
Возвращает агента, находящегося в точке с заданным отступом (в заданных единицах измерения длины) от начальной точки конвейера.
Параметры: |
List |
Возвращает список агентов (материальных объектов), находящихся на заданном отрезке конвейера. Длина отрезка рассчитывается от заданного отступа (в заданных единицах измерения длины) от начальной точки конвейера.
Параметры: |
boolean removeAgent(Agent agent) |
Удаляет заданного агента с конвейера. В случае успешного удаления возвращается true, в противном случае - false. Параметр: agent - агент, который должен быть удален с конвейере |
Функция |
Описание |
boolean isFailed() |
Возвращает true, если конвейер сломан, в противном случае возвращает false. |
boolean fail() |
Моделирует поломку конвейера. Конвейер выходит из строя и останавливает свою работу. |
boolean repair() |
Моделирует починку конвейера. Конвейера возвращается в рабочее состояние. |
Функция |
Описание |
double length() |
Возвращает длину конвейера в пикселях, вычисленную в 3D пространстве. |
double getWidth(LengthUnits units) |
Возвращает ширину конвейера (в заданных единицах измерения длины), вычисленную в 3D пространстве.
Параметр:
|
double getCellSize(LengthUnits units) |
Возвращает длину ячейки конвейера (в заданных единицах измерения длины).
Параметр:
|
Функция |
Описание |
Point getStartPoint() |
Возвращает объект Point с координатами начальной точки конвейера. |
Point getEndPoint() |
Возвращает объект Point с координатами конечной точки конвейера. |
Point randomPointInside() |
Возвращает объект Point с координатами случайной точки на этом конвейере, в которую можно поместить агента. |
Position getStartPosition() |
Возвращает объект Position с координатами и ориентацией начальной точки конвейера. |
Position getEndPosition() |
Возвращает объект Position с координатами и ориентацией конечной точки конвейера. |
boolean containsSq(double px, double py, double squareDistance) |
Возвращает true, если конвейер содержит точку с заданными координатами с учетом заданной погрешности square distance; в противном случае возвращает false.
Параметры: Возвращает: true, если точка с заданными координатами находится на конвейере. |
Position getPositionAtOffset(double offset, Position out) |
Возвращает объект Position с координатами и ориентацией точки, находящейся на заданном отступе (в пикселях) от начальной точки конвейера.
Параметры
: |
Position getPositionAtOffset(double offset,
LengthUnits units, Position out) |
Возвращает объект
Position
с координатами и ориентацией точки, находящейся на заданном отступе от начальной точки конвейера.
Параметры
: |
List getPositionsOnConveyor() |
Возвращает список объектов Position этого конвейера, возвращает null, если таких нет. |
Функция |
Описание |
int getSegmentCount() |
Возвращает количество сегментов конвейера. |
MarkupSegment getSegment |
Возвращает сегмент по его индексу. Параметр: index - индекс сегмента (отсчет начинается с нуля) |
Функция |
Описание |
boolean isVisible() |
Проверяет, отображается ли конвейер на анимации во время выполнения модели. Если функция возвращает true - значит, конвейер отображается, если false - нет. |
void setVisible(boolean v) |
Задает видимость конвейера. Параметр: v - видимость. Если значение v равно true, то фигура будет отображаться, если равно false - то нет. |
Функция |
Описание |
Color getLineColor() |
Возвращает цвет конвейера или
null, если у конвейера нет цвета или если конвейер отображает текстуру (в последнем случае используйте функцию
getLineTexture()). |
Texture getLineTexture() |
Возвращает текстуру конвейера или null, если у конвейера нет текстуры, а используется цвет (в последнем случае используйте функцию getLineColor()). |
void setLineColor(Color color) |
Задает новый цвет конвейера. Параметр: color - новый цвет |
void setLineColor(Paint color) |
Задает новый
цвет
(или текстуру) конвейера. |
Функция |
Описание |
double getLineWidth() |
Возвращает ширину конвейера (в пикселях). |
double getLineWidth(LengthUnits units) |
Возвращает ширину конвейера (в заданных единицах измерения длины). Параметр: units - одна из констант, задающая единицу измерения длины |
void setLineWidth(double width) |
Задает ширину конвейера;
0
соответствует минимальной ширине. |
void setLineWidth(double width, LengthUnits units) |
Задает ширину конвейера (в заданных единицах измерения длины);
0
соответствует минимальной ширине. |
Функция |
Описание |
List getStations() |
Возвращает список станций обработки, находящихся на этом конвейере, Возвращает null, если на конвейере нет станций. |
Функция |
Описание |
void remove() |
Удаляет конвейер из презентации. Если конвейер не является частью презентации, функция не выполняет ничего. Обратите внимание, что удаление из презентации не обязательно подразумевает удаление из логики модели, поскольку логические сети и маршруты могли быть заданы еще до удаления элемента и не исчезают. |
Конвейер транспортирует агентов (материальные объекты) только в одном направлении, от начальной точки конвейера, до его конечной точки. Начальной точкой конвейера является толчка, которую вы нарисовали первой.
Направление движения конвейера отображается стрелкой ан самом конвейере
Чтобы изменить направление конвейера
Щелкните по ссылке ниже, чтобы посмотреть обучающее видео о создании конвейера с прямыми и дуговыми сегментами. В видео отображен процесс создания дуговых стен в AnyLogic, процесс создания дуговых сегментов конвейера происходит точно так же.
Обучающее видео : Drawing curved walls
Чтобы добавить прямой сегмент
конвейера
Чтобы добавить дуговой сегмент конвейера
Чтобы добавить сегмент конвейера