Overhead Crane

       

Overhead crane in graphical editor                  Overhead crane at model runtime in 3D animation

Overhead Crane is the space markup element that graphically defines an overhead crane. You can use Material Handling Library block MoveByCrane to simulate how the overhead crane transports agents (material items) between two points of simulated environment.

Crane has three different modes of operation depending on how its components - bridge, trolley, and hook - move in relation to each other.

The maximum height an agent (material item) can reach when raised by overhead crane equals the height of the crane itself.

The rails of the overhead crane can serve as an obstacle on the way of transporters moving in free space navigation mode, but they can still move between the rails.

Overhead crane element provides users with a set of actions, which are used to define additional agent behavior.

 To draw an overhead crane
  1. Drag the  Overhead Crane element from the Material Handling section of the Space Markup palette into the graphical editor. You will see the shape of the crane's guiding rails and the bridge between them.


  1. Overhead crane can pick up / drop off material items directly from/to a path, a conveyor, and a railway track. In this case you should connect the crane to the corresponding space markup element by placing it close enough so that the crane shape is highlighted in green (it means the connection has been established).


  2. After crane has been successfully connected, the crane shape will change color as displayed in the image below.


  3. You can adjust the width of the crane and the length of its runway, change the width of the bridge and the location of the bridge and the trolley.
  4. To customize the crane's appearance, select the type of crane in Properties view: either Gantry crane or Bridge crane. You can change the Trolley Color and the Crane color in the Properties view for both types.

Properties

General

Name - The name of the overhead crane. The name is used to identify and access the overhead crane from code and Material Handling Library blocks.

Ignore - If selected, the overhead crane is excluded from the model.

Visible on upper agent - If selected, the overhead crane is also visible on the upper agent where this agent lives.

Lock - If selected, the overhead crane's shape is locked. Locked shapes do not react to mouse clicks - it is impossible to select them in the graphical editor until you unlock them. It is frequently needed when you want to prevent editing this shape while drawing other shapes over it.

Visible - Here you specify whether the shape is visible on animation at model runtime, or not. Using the control, choose yes or no.

Material item type - The type of the material item that is transported by this overhead crane

Is obstacle - If selected, the rails of this overhead crane will be considered an obstacle for transporters moving in free space mode.

Components movement mode - Here you can choose how the crane's jib, trolley, and hook should move in relation to each other. The options are:
Step-by-step - the components will move one at a time. This mode satisfies the safety conditions of operating a crane.
Concurrent - the movement of all components will be executed at the same time. This mode is considerably faster than Step-by-step mode, but not as safe.
Independent hoist - the movement of the bridge and the trolley is executed at the same time, either before or after the movement of the hoist.

Bridge speed - Here you can specify the crane's bridge maximum speed.

Trolley speed - Here you can define the crane's trolley maximum speed.

Hoist speed - Here you can define the speed of the crane's hoist (lifting / lowering speed).

Set acceleration/deceleration - If selected, this option allows you to specify the acceleration and deceleration for the overhead crane's bridge and trolley.

Bridge acceleration - [Visible if Set acceleration/deceleration is selected] Here you can define the acceleration of the crane's bridge. If you set this parameter to 0, the bridge will instantly accelerate to its maximum speed.

Bridge deceleration - [Visible if Set acceleration/deceleration is selected] Here you can define the crane's bridge deceleration. If you set this parameter to 0, the bridge will instantly slow down to complete halt.

Trolley acceleration - [Visible if Set acceleration/deceleration is selected] Here you can define the acceleration of the crane's hoist (lifting / lowering speed). If you set this parameter to 0, the trolley will instantly accelerate to its maximum speed.

Trolley deceleration - [Visible if Set acceleration/deceleration is selected] Here you can define the crane's trolley deceleration. If you set this parameter to 0, the trolley will instantly slow down to complete halt.

Actions

In all the actions, the current material item is accessible as the local variable agent.

On failed - Here you can type Java code that will be executed in case of overhead crane failure.

On repaired - Here you can type Java code that will be executed when the overhead crane is repaired.

On loading - Here you can type Java code that will be executed directly after the overhead crane takes hold of the material item.

On unloading - Here you can type Java code that will be executed directly after the overhead crane releases the material item.

Appearance

Type - Here you can choose the type of crane: either either Gantry crane or Bridge crane.



Gantry crane

Bridge crane

Note that you only change the visual appearance of your crane: your choice doesn't affect the logic of its operation.

Girder type - The type of the bridge depending on the number of girders: either a Double tie or a Single.

Trolley color - The fill color of the overhead crane's trolley. Choose No color, if you do not want the area to be filled.

Crane color - The color of the overhead crane's shape. Choose No color, if you do not want the area to be filled.

Position and size

LevelLevel to which this element belongs.

X - X-coordinate of the point where the overhead crane is located.

Y - Y-coordinate of the point where the overhead crane is located.

Z - Z-coordinate of the point where the overhead crane is located.

Runway length - Here you can specify the crane's runway length.

Crane width - Here you can specify the width of the overhead crane itself, i.e. the distance between the crane's guiding rails.

Crane height - [Visible if Gantry crane option is selected in the Type parameter] Here you can specify the height of the crane's legs. It is calculated from the crane's Z.

Bridge width - Here you can specify the width of the overhead crane's bridge.

Bridge location - Here you can specify the location of the bridge in the crane's coordinate system.

Trolley location - Here you can specify the location of the trolley in the crane's coordinate system.

Advanced

Show in - Here you can choose whether you want the overhead crane to be shown both in 2D and 3D animation, or in 2D only, or in 3D only.

Show name - If selected, the overhead crane's name is displayed on the graphical diagram.

To adjust the width of the crane and the length of the crane's runway
  1. Drag the corner of the crane's shape to specify the width of the crane and the length of its runway.

To adjust the width of the bridge
  1. Drag the handle at the edge of the crane's bridge to change the width of the bridge.


To adjust the location of the bridge and the trolley
  1. Drag the handle on the trolley shape to adjust the location of the bridge and the trolley.

  2. If you want to adjust only the location of the bridge and preserve the location of the trolley, hold the Shift key pressed while dragging the handle.

Functions

You can dynamically modify the overhead crane's properties at model runtime using the following API.
Working state

Function

Description

boolean isReady()

Returns true if the overhead crane is ready to operate, otherwise returns false.

boolean isFailed()

Returns true if the overhead crane failed (broke down) and is not operating, otherwise returns false.

boolean isLoaded()

Returns true, if the overhead crane is currently loaded with an material item. Otherwise, this function returns false.

void fail()

Initiates the overhead crane's failure. The crane stops working.

void repair()

Repairs the overhead crane. The crane becomes available again.

Utilization statistics

Function

Description

double getUtilization()

Returns the overhead crane utilization: the fraction of the time the crane was busy. The returned crane utilization value lies in the range [0..1].

void resetStats()

Resets the overhead crane utilization statistics.

Level

Function

Description

Level getLevel()

Returns the level where this overhead crane is located.

void setLevel(Level level)

Sets the new level where this overhead crane will be located.

Parameter:
level - the new level.


Obstacle

Function

Description

boolean isObstacle()

Returns true if this overhead crane is considered an obstacle by transporters moving in free space mode. Otherwise, returns false.

void setObstacle(boolean isObstacle)

Sets this overhead crane as an obstacle for transporters moving in free space mode.

Parameter:
isObstacle - if true, the crane is set as an obstacle. Otherwise, not.


Movement

Function

Description

boolean isAccelerationEnabled()

Returns true, if the option to set acceleration / deceleration for for this overhead crane's components is enabled. Otherwise, returns false.

void setAccelerationEnabled()

Enables the option to set acceleration / deceleration for the components of this overhead crane.

Parameter:
value - if true, the option will be enabled. If false, the option will be disabled.

OverheadCraneMovementMode getMovementMode()

Returns the mode for the movement of the crane's bridge, trolley, and hook in relation to each other. Valid values are: OVERHEAD_CRANE_MOVEMENT_STEP_BY_STEP, OVERHEAD_CRANE_MOVEMENT_CONCURRENTOVERHEAD_CRANE_MOVEMENT_INDEPENDENT_HOIST.

void setMovementMode(OverheadCraneMovementMode movementMode)

Sets the mode for the movement of crane's trolley, jib, and hook in relation to each other.

Parameter:
movementMode - components movement mode. Valid values are: OVERHEAD_CRANE_MOVEMENT_STEP_BY_STEP, OVERHEAD_CRANE_MOVEMENT_CONCURRENTOVERHEAD_CRANE_MOVEMENT_INDEPENDENT_HOIST.

double getTrolleySpeed(SpeedUnits units)

Returns the speed of the overhead crane's trolley in the specified speed units. Note that the actual trolley speed can differ from this value if the corresponding MoveByCrane block has Use operation time option enabled.

Parameter:
units
- a constant defining the speed units

void setTrolleySpeed(double speed, SpeedUnits units)

Sets the new speed of the overhead crane's trolley in the specified speed units.

Parameters:
speed - a new speed value
units - a constant defining the speed units

double getHoistSpeed(SpeedUnits units)

Returns the speed of the hoisting winch operation in the specified speed units. Note that the actual hoisting winch speed can differ from this value if the corresponding MoveByCrane block has Use operation time option enabled.

Parameter:
units
- a constant defining the speed units

void setHoistSpeed(double speed, SpeedUnits units)

Sets the new speed of the hoisting winch operation in the specified speed units.

Parameters:
speed - a new speed value
units - a constant defining the speed units

double getBridgeSpeed(SpeedUnits units)

Returns the speed of the overhead crane's bridge in the specified speed units. Note that the actual bridge speed can differ from this value if the corresponding MoveByCrane block has Use operation time option enabled.

Parameter:
units
- a constant defining the speed units

void setBridgeSpeed(double speed, SpeedUnits units)

Sets the new speed of the overhead crane's bridge in the specified speed units.

Parameters:
speed - a new speed value
units - a constant defining the speed units

Point getCurrentHookPosition()

Returns current hook position in the crane's coordinate system (in pixels).

double getBridgeAcceleration()

Returns the acceleration of the crane's bridge.

void setBridgeAcceleration(double acceleration,
AccelerationUnits units)

Sets the new acceleration value for the crane's bridge in specified acceleration units.

Parameters:
acceleration - a new acceleration value
units - a constant defining the acceleration units

double getBridgeDeceleration()

Returns the deceleration of the crane's bridge.

void setBridgeDeceleration(double deceleration,
AccelerationUnits units)

Sets the new deceleration value for the crane's bridge in specified acceleration units.

Parameters:
deceleration - a new deceleration value
units - a constant defining the acceleration units

double getTrolleyAcceleration()

Returns the acceleration of the crane's trolley.

void setTrolleyAcceleration(double acceleration,
AccelerationUnits units)

Sets the new acceleration value for the crane's trolley in specified acceleration units.

Parameters:
acceleration - a new acceleration value
units - a constant defining the acceleration units

double getTrolleyDeceleration()

Returns the deceleration of the crane's trolley.

void setTrolleyDeceleration(double deceleration,
AccelerationUnits units)

Sets the new deceleration value for the crane's trolley in specified acceleration units.

Parameters:
deceleration - a new deceleration value
units - a constant defining the acceleration units


Dimensions and components

Function

Description

double getCraneHeight()

Returns the overhead crane's height in pixels.

double getCraneHeight(LengthUnits units)

Returns the height of the overhead crane legs (if gantry type is selected) in specified units .

Parameter:
units
- a constant defining the length units

void setCraneHeight(double craneHeight,
LengthUnits units)

Sets the height of the overhead crane legs (if gantry type is selected) in specified units.

Parameters:
craneHeight - a new height value
units - a constant defining the length units

double getCraneWidth()

Returns the crane's width in pixels.

double getCraneWidth(LengthUnits units)

Returns the crane's width in specified units.

Parameter:
units
- a constant defining the length units

void setCraneWidth(double craneWidth,
LengthUnits units)

Sets the crane's width in specified units.

Parameters:
craneWidth - a new crane width value
units - a constant defining the length units

double getBridgeWidth()

Returns the width of the crane's bridge in pixels.

double getBridgeWidth(LengthUnits units)

Returns the width of the crane's bridge in specified units.

Parameter:
units - a constant defining the length units

void setBridgeWidth(double bridgeWidth,
LengthUnits units)

Sets the width of the crane's bridge.

Parameters:
bridgeWidth - a new bridge width value
units - a constant defining the length units

double getRunwayLength()

Returns the length of the crane's runway in pixels.

double getRunwayLength(LengthUnits units)

Returns the length of the crane's runway in specified units.

Parameter:
units - a constant defining the length units

void setRunwayLength(double runwayLength, LengthUnits units)

Sets the length of the crane's runway in specified units.

Parameters:
runwayLength - a new value of the crane's runway length
units - a constant defining the length units


Crane type

Function

Description

OverheadCraneType getType()

Returns the type of the crane's appearance.

Valid values are: OVERHEAD_CRANE_BRIDGE, OVERHEAD_CRANE_GANTRY.

void setType(OverheadCraneType type)

Sets the type of the crane's appearance.

Parameter:
type - new type of the crane's appearance. Valid values are: OVERHEAD_CRANE_BRIDGE, OVERHEAD_CRANE_GANTRY.


Сolor

Function

Description

Color getColor()

Returns the color of the overhead crane, or null if the crane has no color.

void setColor(Color color)

Sets the color of the overhead crane.

Parameter:
color - the new color

Color getTrolleyColor()

Returns the color of the crane's trolley, or null if the crane's trolley has no color.

void setTrolleyColor(Color trolleyColor)

Sets the color of the crane's trolley.

Parameter:
trolleyColor - the new color


Visibility

Function

Description

boolean isVisible()

Returns true if the overhead crane is visible; returns false otherwise.

void setVisible(boolean v)

Sets the visibility of the overhead crane.

Parameter:
v - visibility. If v is true - the crane is set to be visible, if it is false - not visible.


Position

Function

Description

double getX()

Returns the X coordinate of the center point of the crane.

double getY()

Returns the Y coordinate of the center point of the crane.

double getZ()

Returns the Z coordinate of the center point of the crane.

Point getXYZ(Point out)

Returns the (X, Y, Z) coordinates of the center point of the given crane

Parameter:
out - the output Point object to write the result to. The object may be null.


Removal

Function

Description

void remove()

Removes the overhead crane from the presentation. If the crane is not a part of presentation, the function does nothing. Note, that removal from the presentation does not necessarily mean removing from the model logic, since logical networks and routes may have been created before the removal and survive it.



Related topics

 Space markup for material handling models

 Material Handling Library

 API reference: Crane class