Стреловой кран — элемент разметки пространства, графически отображающий стреловой кран. Перемещение агентов (материальных объектов) между двумя точками моделируемого пространства с помощью крана задается блоком MoveByCrane Библиотеки производственных систем.
В зависимости от того, как составные части стрелового крана (каретка, крюк и плечо) двигаются по отношению друг к другу, кран может работать в двух различных режимах.
Максимальная высота, на которую кран может поднять агента, равна высоте самого стрелового крана.
Стреловой кран может являться препятствием на пути пешеходов и транспортеров, перемещающихся в режиме произвольной навигации.
Стреловой кран предоставляет набор действий, используя которые можно дополнить поведение агента.
Чтобы нарисовать стреловой кран
- Перетащите элемент Стреловой кран из секции Разметка пространства палитры Библиотека Производственных систем в графический редактор. Вы увидите окружность, в центре которой горизонтально расположена стрела крана.
- Стреловой кран может забирать / помещать материальные объекты непосредственно с/на путь, конвейер и ж/д путь. В таких случаях вам необходимо соединить кран с соответствующим элементом разметки пространства, разместив его рядом с этим элементом так, чтобы фигура крана подсветилась зеленым (это значит, что соединение может быть осуществлено).
- После успешного соединения фигура крана будет заполнена цветом (см. изображение ниже):
- Вы можете отрегулировать длину плеча и его начальный поворот.
- Можно задать сектор в радиусе вращения плеча, где движение плеча будет невозможно. Для этого выберите опцию Недоступная зона в панели Свойства вашего крана. Свойства недоступной зоны можно изменять в графическом редакторе.
- Расположение этого сектора по умолчанию всегда является таким, как на изображении выше. Если перед выбором опции Недоступная зона вы разместите плечо крана в этой области, то кран не сможет выполнять перемещение агентов во время выполнения модели и возникнет ошибка.
- Вы можете изменить внешний вид крана, выбрав один из трех типов: Промышленный кран, Башенный кран и Башенный кран без оголовка в панели Свойства и поменять Цвет крана. Для двух последних типов крана вы также можете задать Цвет кабины.
- Основные свойства
-
Имя — Имя стрелового крана. Имя используется для идентификации крана и доступа к нему из кода и свойств блоков диаграммы процесса.
Исключить — Если опция выбрана, то стреловой кран будет исключен из модели.
Отображается на верхнем агенте — Если опция выбрана, то фигура стрелового крана будет видна на презентации типа агента, в который будет вложен данный агент.
Блокировать — Если опция выбрана, то фигура стрелового крана будет считаться заблокированной и не будет реагировать на щелчки мыши. Вы не сможете выбрать заблокированную фигуру в графическом редакторе до тех пор, пока не снимете с нее блокировку.
Видимость — Здесь вы можете указать, будет ли стреловой кран виден на анимации во время выполнения модели. Используя элемент управления, выберите да или нет.
Тип материального объекта — Тип материального объекта, перемещаемого с помощью этого крана.
Является препятствием — Если опция выбрана, этот стреловой кран будет являться препятствием для пешеходов и транспортеров, перемещающихся в режиме произвольной навигации.
Подъем и поворот выполняются — Здесь вы можете указать, как будет реализовано движение каретки, плеча и крюка данного крана. Возможные варианты:
Последовательно — каретка, плечо и крюк будут двигаться по очереди из соображений безопасности
Одновременно — каретка, плечо и крюк будут двигаться одновременно. Этот режим значительно превосходит последовательный по скорости, но уступает ему в безопасности.Скорость каретки — Здесь вы можете задать скорость движения каретки. Свойство является динамическим, поэтому у вас есть возможность задать изменение скорости в зависимости от того, загружен кран или нет. Используя локальную булеву переменную isLoaded, вы можете, например, задать смену скорости с помощью условного оператора: isLoaded ? agent.mySpeed : 1. Когда кран не загружен, переменная agent приобретает значение null. Если выражение, с помощью которого вы описываете скорость каретки, не задает специальную скорость для незагруженного крана, то кран без материального объекта будет двигаться со скоростью 0.5 м/с, указанной в этом параметре по умолчанию.
Скорость подъема — Здесь вы можете задать скорость, с которой кран поднимает материальный объект. Свойство является динамическим, поэтому у вас есть возможность задать изменение скорости в зависимости от того, загружен кран или нет. Используя локальную булеву переменную isLoaded, вы можете, например, задать смену скорости с помощью условного оператора: isLoaded ? agent.mySpeed : 1. Когда кран не загружен, переменная agent приобретает значение null. Если выражение, с помощью которого вы описываете скорость подъема, не задает специальную скорость для незагруженного крана, то кран без материального объекта будет двигаться со скоростью 0.1 м/с, указанной в этом параметре по умолчанию.
Скорость вращения плеча — Здесь вы можете задать скорость вращения плеча. Свойство является динамическим, поэтому у вас есть возможность задать изменение скорости в зависимости от того, загружен кран или нет. Используя локальную булеву переменную isLoaded, вы можете, например, задать смену скорости с помощью условного оператора: isLoaded ? agent.mySpeed : 1. Когда кран не загружен, переменная agent приобретает значение null. Если выражение, с помощью которого вы описываете скорость вращения плеча, не задает специальную скорость для незагруженного крана, то плечо крана без материального объекта будет вращаться со скоростью 0.5 вращений в минуту, указанной в этом параметре по умолчанию.
- Действия
-
Во всех действиях к данному материальному объекту можно обратиться через локальную переменную agent.
При поломке — Здесь вы можете задать код, который будет выполняться при поломке стрелового крана.
При починке — Здесь вы можете задать код, который будет выполняться при починке стрелового крана.
При захвате — Здесь вы можете задать код, который будет выполняться непосредственно после того, как стреловой кран захватит материальный объект.
При освобождении — Здесь вы можете задать код, который будет выполняться непосредственно после того, как стреловой кран отпустит материальный объект.
- Внешний вид
-
Тип — Здесь вы можете выбрать внешний вид крана: Промышленный кран, Башенный кран или Башенный кран без оголовка.
Обратите внимание, что при выборе типа вы меняете только внешний вид крана, и этот выбор никак не влияет на его функциональность.Цвет кабины — [Параметр виден, если для параметра Стиль выбрана опция Башенный кран или Башенный кран без оголовка] Задает цвет заливки для кабины крана. Если вы не хотите, чтобы кабина была закрашена, выберите Нет цвета.
Цвет крана — Задает цвет стрелового крана. Если вы не хотите, чтобы кран был закрашен, выберите Нет цвета.
- Местоположение и размер
-
Уровень — Уровень, на котором находится этот элемент.
X — X-координата точки, где расположен стреловой кран.
Y — Y-координата точки, где расположен стреловой кран.
Z — Y-координата точки, где расположен стреловой кран.
Длина плеча — Здесь вы можете задать длину плеча для крана.
Высота крана — Здесь вы можете задать высоту крана.
Начальный поворот плеча — Здесь вы можете задать положительный или отрицательный угол для начального поворота плеча. Графическая подсказка, расположенная справа от элемента управления отображает заданный вами угол на окружности.
Местоположение каретки — Здесь вы можете задать начальное местоположение каретки крана.
Недоступная зона — Если опция выбрана, вы можете задать сектор в радиусе вращения плеча, где движение плеча будет невозможно.Угол начала сектора — [Параметр виден, если выбрана опция Недоступная зона] Здесь вы можете задать исходный угол, с которого будет начинаться недоступная зона. Графическая подсказка, расположенная справа от элемента управления отображает заданный вами угол на окружности.Угол сектора, ° — [Параметр виден, если выбрана опция Недоступная зона] Здесь вы можете задать размер недоступной зоны в градусах. Размер будет рассчитываться от начального угла недоступной зоны.
- Специфические
-
Отображать в — Здесь вы можете выбрать, будет ли фигура отображаться В 2D и 3D, Только в 2D или Только в 3D.
Отображать имя — Если опция выбрана, то имя фигуры будет отображаться в графическом редакторе.
Чтобы изменить начальный поворот плеча
- Перетащите метку-манипулятор, расположенную на внешней стороне стрелы, по часовой стрелке, чтобы задать положительный угол, или против часовой стрелки, чтобы задать отрицательный угол. Если вы хотите избежать изменений длины плеча в процессе, зажмите клавишу Shift на время перетаскивания.
- При перемещении метки-манипулятора текущий угол поворота будет отражаться в строке состояния AnyLogic.
Чтобы изменить длину плеча
- Перетащите метку-манипулятор вдоль плеча, чтобы изменить его длину. Если вы хотите избежать изменений начального угла в процессе, зажмите клавишу Ctrl на время перетаскивания.
- При перемещении метки-манипулятора текущая длина плеча будет отражаться в строке состояния AnyLogic.
Чтобы отрегулировать недоступную зону крана
- Чтобы задать недоступную зону, выберите опцию Недоступная зона в панели Свойства. В графическом редакторе на изображении крана появится сектор синего цвета с двумя метками-манипуляторами для настройки.
- Чтобы задать угол начала сектора, перетащите синюю метку-манипулятор по окружности: по часовой стрелке, чтобы задать положительный угол, и против часовой стрелки — чтобы задать отрицательный угол.
- Если вы хотите сохранить текущий размер сектора в процессе, зажмите клавишу Ctrl на время перетаскивания.
- Перетащите белую метку-манипулятор по окружности, чтобы задать размер сектора.
- Если вы хотите изменить угол, где недоступный сектор начинается, и угол, где он заканчивается, в равной пропорции, зажмите клавишу Shift на время перетаскивания метки-манипулятора. Это действие можно выполнить с помощью любой из двух меток-манипуляторов.
- Рабочее состояние
-
Функция Описание 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, кран будет являться препятствием для пешеходов и транспортеров. В противном случае, кран не будет являться препятствием. - Движение
-
Функция Описание JibCraneMovementMode getMovementMode() Возвращает способ реализации движения для каретки, крюка и плеча крана: последовательный или одновременный. Допустимые значения: JIB_CRANE_MOVEMENT_STEP_BY_STEP
JIB_CRANE_MOVEMENT_CONCURRENTvoid setMovementMode(JibCraneMovementMode movementMode) Задает способ реализации движения для каретки, крюка и плеча крана.
movementMode — режим движения каретки, крюка и плеча
Допустимые значения:JIB_CRANE_MOVEMENT_STEP_BY_STEP
JIB_CRANE_MOVEMENT_CONCURRENTdouble trolleySpeed(Agent agent, SpeedUnits units) Возвращает скорость каретки крана, заданную в его свойствах, в заданных единицах измерения.
agent — агент, перемещаемый краном
units — константа, задающая единицу измерения скоростиdouble liftingSpeed(Agent agent, SpeedUnits units) Возвращает скорость лебедки крана, заданную в его свойствах, в заданных единицах измерения.
agent — агент, перемещаемый краном
units — константа, задающая единицу измерения скоростиdouble rotationSpeed(Agent agent, RotationSpeedUnits units) Возвращает скорость вращения плеча, заданную в свойствах крана, в заданных единицах измерения. agent — агент, перемещаемый краном
units — константа, задающая единицу измерения скорости вращенияPosition getCurrentHookPosition() Возвращает текущее положение крюка в пикселях относительно начала координат рабочей области крана вместе с углом плеча Position.rotation. Position getAbsoluteHookPosition() Возвращает текущее положение крюка в пикселях относительно начала координат агента, в котором расположен кран, вместе с углом плеча Position.rotation. - Размеры и компоненты крана
-
Функция Описание double getCraneHeight() Возвращает высоту крана в пикселях. double getCraneHeight(LengthUnits units) Возвращает высоту крана в заданных единицах измерения.
units — константа, задающая единицу измерения длиныvoid setCraneHeight(double height, LengthUnits units) Задает высоту крана в заданных единицах измерения.
height — новое значение высоты
units — константа, задающая единицу измерения длины.double getJibLength() Возвращает длину плеча в пикселях. double getJibLength(LengthUnits units) Возвращает длину плеча в заданных единицах измерения.
units — константа, задающая единицу измерения длины.void setJibLength(double length, LengthUnits units) Задает длину плеча в заданных единицах измерения.
length — новое значение длины
units — константа, задающая единицу измерения длины.double getInitialJibAngle(AngleUnits units) Возвращает исходный угол для плеча крана.
units — константа, задающая единицу измерения угла.void setInitialJibAngle(double angle, AngleUnits units) Задает исходный угол для плеча крана.
angle — новое значение угла
units — константа, задающая единицу измерения угла. - Недоступная зона
-
Функция Описание boolean isBlockedZoneEnabled() Возвращает true, если выбрана опция для создания недоступной зоны, в противном случае возвращает false. double getBlockedZoneStartAngle() Возвращает исходный угол для недоступной зоны крана. double getBlockedZoneAngle() Возвращает угол дельта для недоступной зоны крана. void setBlockedZoneEnabled(boolean hasBlockedZone) Включает / отключает недоступную зону.
hasBlockedZone — недоступная зона. Если значение параметра true, недоступная зона включена. Если false, недоступная зона отключена.void setBlockedZoneStartAngle(double angle, AngleUnits units) Задает исходный угол для недоступной зоны крана.
angle — новое значение угла
units — константа, задающая единицу измерения углаvoid setBlockedZoneAngle(double angle, AngleUnits units) Задает угол дельта для недоступной зоны крана.
angle — новое значение угла
units — константа, задающая единицу измерения углаvoid setBlockedZone(double startAngle, double deltaAngle, AngleUnits units) Включает недоступную зону с заданными параметрами.
startAngle — значение исходного угла недоступной зоны
deltaAngle — значение угла дельта недоступной зоны
units — константа, задающая единицу измерения угла - Тип крана
-
Функция Описание JibCraneType getType() Возвращает тип внешнего вида для этого крана.
Допустимые значения:JIB_CRANE_INDUSTRIAL
JIB_CRANE_CAT_HEAD
JIB_CRANE_FLAT_TOPvoid setType (JibCraneType type) Задает тип внешнего вида для крана.
type — новый тип внешнего вида
Допустимые значения:JIB_CRANE_INDUSTRIAL
JIB_CRANE_CAT_HEAD
JIB_CRANE_FLAT_TOP - Цвет
-
Функция Описание Color getColor() Возвращает цвет крана или null, если у крана нет цвета. void setColor(Color color) Задает новый цвет крана.
color — новый цвет.Color getCabinColor() Возвращает цвет кабины крана или null, если у кабины крана нет цвета. void setCabinColor(Color cabinColor) Задает новый цвет кабины крана.
cabinColor — новый цвет. - Видимость
-
Функция Описание 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() Удаляет кран из презентации. Если кран не является частью презентации, функция не выполняет ничего. Обратите внимание, что удаление из презентации не обязательно подразумевает удаление из логики модели, поскольку логические сети и маршруты могли быть заданы еще до удаления элемента и не исчезают.
-
Как мы можем улучшить эту статью?
-