Мостовой кран

             

Мостовой кран в графическом редакторе         Трехмерное изображение мостового крана во время выполнения модели

Мостовой кран - элемент разметки пространства, графически отображающий мостовой кран. Перемещение агентов (материальных объектов) между двумя точками моделируемого пространства с помощью крана задается блоком MoveByCrane Библиотеки производственных систем.

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

Максимальная высота, на которую кран может поднять агента, равна высоте самого крана. Максимальный диапазон движения каретки по мосту равен ширине самого крана.

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

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

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


  1. Мостовой кран может забирать / помещать материальные объекты непосредственно с/на путь, конвейер и ж/д путь. В таких случаях вам необходимо соединить кран с соответствующим элементом разметки пространства, разместив его рядом с этим элементом так, чтобы фигура крана подсветилась зеленым (это значит, что соединение может быть осуществлено).


  2. После успешного соединения фигура крана изменит цвет (см. изображение ниже):


  3. Вы можете отрегулировать ширину крана и длину крановых рельс, настроить ширину моста и местоположение моста и каретки.
  4. Вы можете изменить внешний вид крана, выбрав один из двух типов: Козловой кран и Подвесной кран в панели Свойства. Вы также можете задать Цвет крана и Цвет каретки.

Свойства

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

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

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

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

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

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

Тип материального объекта - Тип материального объекта, перемещаемого с помощью этого мостового крана.

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

Подъем и перемещение выполняются - Здесь вы можете указать, как будет реализовано движение моста, каретки и лебедки данного крана. Возможные варианты:
Последовательно - мост, каретка и лебедка будут двигаться по очереди из соображений безопасности.
Одновременно - мост, каретка и лебедка будут двигаться одновременно. Этот режим значительно превосходит последовательный по скорости, но уступает ему в безопасности.
Одновременно (кроме лебедки) - мост и каретка будут двигаться одновременно либо до, либо после того, как лебедка завершит свое движение.

Скорость моста - Здесь вы можете задать максимальную скорость движения моста. Свойство является динамическим, поэтому у вас есть возможность задать изменение скорости в зависимости от того, загружен кран или нет. Используя локальную булеву переменную isLoaded, вы можете, например, задать смену скорости с помощью условного оператора: isLoaded ? agent.mySpeed : 1. Если выражение, с помощью которого вы описываете скорость моста, не задает специальную скорость для незагруженного крана, то кран без материального объекта будет двигаться со скоростью 0.5 м/с, указанной в этом параметре по умолчанию.

Скорость каретки - Здесь вы можете задать максимальную скорость движения каретки. Свойство является динамическим, поэтому у вас есть возможность задать изменение скорости в зависимости от того, загружен кран или нет. Используя локальную булеву переменную isLoaded, вы можете, например, задать смену скорости с помощью условного оператора: isLoaded ? agent.mySpeed : 1. Если выражение, с помощью которого вы описываете скорость каретки, не задает специальную скорость для незагруженного крана, то каретка без материального объекта будет двигаться со скоростью 0.3 м/с, указанной в этом параметре по умолчанию.

Скорость лебедки - Здесь вы можете задать максимальную скорость лебедки (подъем/опускание). Свойство является динамическим, поэтому у вас есть возможность задать изменение скорости в зависимости от того, загружен кран или нет. Используя локальную булеву переменную isLoaded, вы можете, например, задать смену скорости с помощью условного оператора: isLoaded ? agent.mySpeed : 1. Если выражение, с помощью которого вы описываете скорость лебедки, не задает специальную скорость для незагруженного крана, то лебедка без материального объекта будет двигаться со скоростью 0.1 м/с, указанной в этом параметре по умолчанию.

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

Ускорение моста - [Параметр виден, если выбрана опция Задать ускорение/замедление] Здесь вы можете задать ускорение для моста. Если вы хотите, чтобы мост мгновенно начинал двигаться с максимальной скоростью, задайте здесь значение 0. Свойство является динамическим, поэтому у вас есть возможность задать изменение ускорения в зависимости от того, загружен кран или нет. Используя локальную булеву переменную isLoaded, вы можете, например, задать смену ускорения с помощью условного оператора: isLoaded ? agent.myAcceleration : 1. Когда кран не загружен, переменная agent приобретает значение null. Если выражение, с помощью которого вы описываете ускорение моста, не задает специальную скорость для незагруженного крана, то мост без материального объекта будет ускоряться со скоростью 0.3 м/с², указанной в этом параметре по умолчанию.

Замедление моста - [Параметр виден, если выбрана опция Задать ускорение/замедление] Здесь вы можете задать замедление для моста. Если вы хотите, чтобы мост останавливался мгновенно, задайте здесь значение 0. Свойство является динамическим, поэтому у вас есть возможность задать изменение замедления в зависимости от того, загружен кран или нет. Используя локальную булеву переменную isLoaded, вы можете, например, задать смену замедления с помощью условного оператора: isLoaded ? agent.myDeceleration : 1. Когда кран не загружен, переменная agent приобретает значение null. Если выражение, с помощью которого вы описываете замедление моста, не задает специальную скорость для незагруженного крана, то мост без материального объекта будет замедляться со скоростью 0.3 м/с², указанной в этом параметре по умолчанию.

Ускорение каретки - [Параметр виден, если выбрана опция Задать ускорение/замедление] Здесь вы можете задать ускорение для каретки. Свойство является динамическим, поэтому у вас есть возможность задать изменение ускорения в зависимости от того, загружен кран или нет. Используя локальную булеву переменную isLoaded, вы можете, например, задать смену ускорения с помощью условного оператора: isLoaded ? agent.myAcceleration : 1. Когда кран не загружен, переменная agent приобретает значение null. Если выражение, с помощью которого вы описываете ускорение каретки, не задает специальную скорость для незагруженного крана, то каретка без материального объекта будет ускоряться со скоростью 0.3 м/с², указанной в этом параметре по умолчанию.

Замедление каретки - [Параметр виден, если выбрана опция Задать ускорение/замедление] Здесь вы можете задать замедление для каретки. Свойство является динамическим, поэтому у вас есть возможность задать изменение замедления в зависимости от того, загружен кран или нет. Используя локальную булеву переменную isLoaded, вы можете, например, задать смену замедления с помощью условного оператора: isLoaded ? agent.myDeceleration : 1. Когда кран не загружен, переменная agent приобретает значение null. Если выражение, с помощью которого вы описываете замедление каретки, не задает специальную скорость для незагруженного крана, то каретка без материального объекта будет замедляться со скоростью 0.3 м/с², указанной в этом параметре по умолчанию.

Действия

Во всех действиях к данному материальному объекту можно обратиться через локальную переменную agent.

При поломке - Здесь вы можете задать код, который будет выполняться при поломке мостового крана.

При починке - Здесь вы можете задать код, который будет выполняться при починке мостового крана.

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

При освобождении - Здесь вы можете задать код, который будет выполняться непосредственно после того, как мостовой кран отпустит материальный объект.

Внешний вид

Тип - Здесь вы можете выбрать внешний вид крана: Козловой кран или Подвесной кран.



Козловой кран

Подвесной кран

Обратите внимание, что при выборе типа вы меняете только внешний вид крана, и этот выбор никак не влияет на его функциональность.

Тип моста - Задает тип моста в зависимости от количества балок: Однобалочный или Двухбалочный.

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

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

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

УровеньУровень, на котором находится этот элемент.

X - X-координата точки, где расположен мостовой кран.

Y - Y-координата точки, где расположен мостовой кран.

Z - Высота мостового крана относительно абсолютной Z-координаты уровня, где расположен кран.

Длина крановых рельс - Здесь вы можете задать длину крановых рельс, по которым двигается мост.

Ширина крана - Здесь вы можете задать ширину крана, т.е. диапазон движения каретки между крановыми рельсами.

Высота крана - [Параметр виден, если в параметре Тип выбрана опция Козловой кран]Здесь вы можете задать высоту опор крана. Высота отсчитывается от Z-координаты крана.

Ширина моста - Здесь вы можете задать ширину моста.

Местоположение моста - Здесь вы можете задать изначальное местоположение моста в системе координат крана.

Местоположение каретки - Здесь вы можете задать изначальное местоположение каретки в системе координат крана.

Специфические

Отображать в - Здесь вы можете выбрать, будет ли фигура мостового крана отображаться В 2D и 3D, Только в 2D или Только в 3D.

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

Чтобы изменить ширину крана и длину крановых рельс
  1. Перетащите угол фигуры крана, чтобы изменить его ширину и/или длину крановых рельс.


Чтобы изменить ширину моста
  1. Перетащите метку-манипулятор на краю моста, чтобы изменить его ширину.

Чтобы изменить местоположение моста и каретки
  1. Перетащите метку, расположенную на фигуре каретки, чтобы изменить местоположение каретки и/или моста.

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

Функции

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

Функция

Описание

boolean isReady()

Возвращает true, если мостовой кран готов к работе, в противном случае возвращает false.

boolean isFailed()

Возвращает true, если мостовой кран сломан, в противном случае возвращает false.

boolean isLoaded()

Возвращает true, если мостовой кран в данный момент занят материальным объектом, в противном случае возвращает false.

void fail()

Моделирует поломку мостового крана. Кран выходит из строя и прекращает работать.

void repair()

Моделирует починку мостового крана. Кран возвращается в рабочее состояние.

Статистика загруженности

Функция

Описание

double getUtilization()

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

void resetStats()

Производит сброс статистики загруженности.

Уровень

Функция

Описание

Level getLevel()

Возвращает уровень, на котором находится этот кран.


Препятствие

Функция

Описание

boolean isObstacle()

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

void setObstacle(boolean isObstacle)

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

Параметр:
isObstacle - если true, мостовой кран будет являться препятствием для транспортеров. В противном случае, кран не будет являться препятствием.


Движение

Функция

Описание

boolean isAccelerationEnabled()

Возвращает true, если опция настройки ускорения и замедления компонентов крана включена. В противном случае возвращает false.

void setAccelerationEnabled(value)

Задает возможность настроить ускорение и замедление для компонентов крана.

Параметр:
value - если значение true, можно настроить ускорение и замедление для компонентов крана. Если значение false - нельзя.

OverheadCraneMovementMode getMovementMode()

Возвращает способ реализации движения для моста, каретки и крюка: последовательный, одновременный или одновременный (кроме крюка). Допустимые значения: OVERHEAD_CRANE_MOVEMENT_STEP_BY_STEP, OVERHEAD_CRANE_MOVEMENT_CONCURRENTOVERHEAD_CRANE_MOVEMENT_INDEPENDENT_HOIST.

void setMovementMode(OverheadCraneMovementMode movementMode)

Задает способ реализации движения для каретки, моста и крюка крана.

Параметр:
movementMode - режим движения компонентов крана. Допустимые значения: OVERHEAD_CRANE_MOVEMENT_STEP_BY_STEP, OVERHEAD_CRANE_MOVEMENT_CONCURRENTOVERHEAD_CRANE_MOVEMENT_INDEPENDENT_HOIST.

double trolleySpeed(Agent agent, SpeedUnits units)

Возвращает скорость каретки крана, заданную в его свойствах, в заданных единицах измерения.

Параметры:
agent - агент, транспортируемый с помощью крана
units - константа, задающая единицу измерения скорости

double hoistSpeed(Agent agent, SpeedUnits units)

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

Параметры:
agent - агент, транспортируемый с помощью крана
units - константа, задающая единицу измерения скорости

double bridgeSpeed(Agent agent, SpeedUnits units)

Возвращает скорость моста крана, заданную в его свойствах, в заданных единицах измерения.

Параметры:
agent - агент, транспортируемый с помощью крана
units - константа, задающая единицу измерения скорости

Point getCurrentHookPosition()

Возвращает текущее положение крюка в системе координат крана (в пикселях).

double bridgeAcceleration(Agent agent,
AccelerationUnits units)

Возвращает значение ускорения для моста крана, заданное в его свойствах, в заданных единицах измерения.

Параметры:
agent - агент, транспортируемый с помощью крана
units - константа, задающая единицу измерения ускорения

double bridgeDeceleration(Agent agent,
AccelerationUnits units)

Возвращает значение замедления для моста крана, заданную в его свойствах, в заданных единицах измерения.

Параметры:
agent - агент, транспортируемый с помощью крана
units - константа, задающая единицу измерения ускорения

double trolleyAcceleration(Agent agent,
AccelerationUnits units)

Возвращает значение ускорения для каретки крана, заданное в его свойствах, в заданных единицах измерения.

Параметры:
agent - агент, транспортируемый с помощью крана
units - константа, задающая единицу измерения ускорения

double trolleyDeceleration(Agent agent,
AccelerationUnits units)

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

Параметры:
agent - агент, транспортируемый с помощью крана
units - константа, задающая единицу измерения ускорения


Размеры и компоненты крана

Функция

Описание

double getCraneHeight()

Возвращает высоту опор мостового крана (если выбран тип Козловой кран) в пикселях.

double getCraneHeight(LengthUnits units)

Возвращает высоту опор мостового крана (если выбран тип Козловой кран) в заданных единицах измерения.

Параметр:
units - константа, задающая единицу измерения длины

void setCraneHeight(double craneHeight,
LengthUnits units)

Задает высоту опор мостового крана (если выбран тип Козловой кран) в заданных единицах измерения.

Параметры:
craneHeight - новое значение высоты
units - константа, задающая единицу измерения длины

double getCraneWidth()

Возвращает ширину мостового крана в пикселях.

double getCraneWidth(LengthUnits units)

Возвращает ширину мостового крана в заданных единицах измерения.

Параметр:
units
- константа, задающая единицу измерения длины

void setCraneWidth(double craneWidth,
LengthUnits units)

Задает ширину мостового крана в заданных единицах измерения.

Параметры:
craneWidth - новое значение ширины крана
units - константа, задающая единицу измерения длины

double getBridgeWidth()

Возвращает ширину моста в пикселях.

double getBridgeWidth(LengthUnits units)

Возвращает ширину моста в заданных единицах измерения.

Параметр:
units - константа, задающая единицу измерения длины

void setBridgeWidth(double bridgeWidth,
LengthUnits units)

Задает ширину моста в заданных единицах измерения.

Параметры:
bridgeWidth - новое значение ширины моста
units - константа, задающая единицу измерения длины

double getRunwayLength()

Возвращает длину крановых рельс в пикселях.

double getRunwayLength(LengthUnits units)

Возвращает длину крановых рельс в заданных единицах измерения.

Параметр:
units - константа, задающая единицу измерения длины

void setRunwayLength(double runwayLength, LengthUnits units)

Задает длину крановых рельс в заданных единицах измерения.

Параметры:
runwayLength - новое значение длины крановых рельс
units - константа, задающая единицу измерения длины

void setInitialBridgePosition(double bridgePosition, LengthUnits units)

Задает изначальное местоположение моста в заданных единицах длины.

Параметры:
bridgePosition - расстояние от изначального положения моста
units - константа, задающая единицу измерения длины

void setInitialHookPosition(double hookHeight, LengthUnits units)

Задает изначальную высоту, на которой расположен крюк, в заданных единицах длины.

Параметры:
hookHeight - изначальная высота, на которой расположен крюк
units - константа, задающая единицу измерения длины

void setInitialTrolleyPosition(double trolleyPosition, LengthUnits units)

Задает изначальное местоположение тележки в заданных единицах длины.

Параметры:
trolleyPosition - изначальное положение тележки
units - константа, задающая единицу измерения длины


Тип крана

Функция

Описание

OverheadCraneType getType()

Возвращает тип внешнего вида для этого крана.

Допустимые значения: OVERHEAD_CRANE_BRIDGE - подвесной кран, OVERHEAD_CRANE_GANTRY - козловой кран.

void setType(OverheadCraneType type)

Задает тип внешнего вида для крана.

Параметр:
type - новый тип внешнего вида. Допустимые значения: OVERHEAD_CRANE_BRIDGE - подвесной кран, OVERHEAD_CRANE_GANTRY - козловой кран.

void setGirderType (OverheadCraneGirderDrawingType girderType)

Задает тип моста для этого крана.

Параметр:
girderType - новый тип моста. Допустимые значения: OVERHEAD_CRANE_GIRDER_SINGLE_FLAT - однобалочный мост, OVERHEAD_CRANE_GIRDER_DOUBLE_TIE - двухбалочный мост.


Цвет

Функция

Описание

Color getColor()

Возвращает цвет крана или null, если у крана нет цвета.

void setColor(Color color)

Задает новый цвет крана.

Параметр:
color - новый цвет

Color getTrolleyColor()

Возвращает цвет каретки крана или null, если у каретки крана нет цвета.

void setTrolleyColor(Color trolleyColor)

Задает новый цвет каретки крана.

Параметр:
trolleyColor - новый цвет


Видимость

Функция

Описание

boolean isVisible()

Проверяет, отображается ли кран на анимации во время выполнения модели.

Если функция возвращает true - значит, кран отображается, если false - нет

void setVisible(boolean v)

Задает видимость крана.

Параметр:
v - видимость. Если значение v равно true - то кран будет отображаться, если равно false - то нет.


Местоположение

Функция

Описание

double getX()

Возвращает X-координату центральной точки крана.

double getY()

Возвращает Y-координату центральной точки крана.

double getZ()

Возвращает Z-координату центральной точки крана.

Point getXYZ(Point out)

Возвращает (X, Y, Z) координаты центральной точки крана.

Параметр:
out - объект Точка типа Point, в который будут записаны полученные координаты. Объект может быть равен null.


Удаление

Функция

Описание

void remove()

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



См. также

Элементы разметки Библиотеки производственных систем

Библиотека производственных систем

Java документация (англ.): Класс Crane