Station

Use the Station space markup element to draw a simple processing station on a conveyor. 

The station can process more than 1 material item at a time. The number of items to process is defined in the Capacity parameter. If two or more material items must be processed simultaneously, the station will wait until the required number of agents arrives.

The time required to process the specified number of material items is defined by the Delay parameter.

Note: Conveyor expects items of the same type after the station.

 To draw a station

  1. Drag the  Station element from the Space Markup section of the  Material Handling Library palette to the agent diagram containing a conveyor. A station can be drawn only if the conveyor has been previously drawn. When moving the mouse over the agent diagram, you will see that all elements but the conveyor are temporarily hidden. 
  2. Place the mouse over the conveyor just where you want to place the element. You will see that the station connects to the conveyor. Move your mouse to properly locate the element and release the mouse button when done. You may change its location by dragging it along the conveyor.
  3. You can change the length of the station by dragging the rectangle point located on the element's end with the mouse or by specifying the Length value in the element's properties. The width of the station is automatically adjusted once you change the width of the conveyor.
To adjust position of a station
  1. Click the station you need to edit.
  2. Drag the station to the desired position on the current conveyor (please note that you cannot drag it to the other conveyor). Alternatively, you can change the station position by modifying the Offset from conveyor start parameter in the element's properties.

Properties

General

Name – The name of this station. The name is used to identify and access the element from code and Material Handling Library blocks' properties.

Ignore – If selected, the station is excluded from the model.

Visible on upper level – If selected, the station is also visible on the upper level where this agent lives.

Lock – If selected, the station is locked. Locked shapes do not react to mouse clicks - it is impossible to select them in the graphical editor until you unlock them.

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 processed at this station. This type is automatically taken from the conveyor this station is located on. Do not change the material item type since the conveyor expects items of the same type after the station.

Delay type - The type of item release trigger: 
Specified time - the processing ends when the specified time elapses.
Until stopProcess() is called - the user should end the processing and release the agent by calling the Delay function stopProcess().

Delay - [Visible if Delay type is set to Specified time] Expression evaluated to obtain the processing time for the agent.
The current material item can be accessed as local variable agent.

Quantity - The number of material items that must be processed simultaneously. The station will wait till the specified number of agents arrives.

Loading - Defines the loading mode of new material items to the station: 
Simultaneous with unloading - Loading of a material item to the station may be performed simultaneously with the unloading of the processed material item from the station.
Starts when unloading completes - Loading of a new material item will be started when all the processed material items have left the station.

Resources

Use resources – Defines if the station uses a set of resource units.

Seize - Here you can choose whether the station requires resource(s) of just one single resource type (units of the same pool), or resources of different types (alternative) resource sets).
Please refer to the details below.

Resource sets - [Visible if Seize is set to (alternative) resource sets] Here you define set(s) of resources required to perform the item processing. You can define several alternative resource sets (add new list by clicking the Add list button). The resource set is chosen based on the availability of resource units. 
Please refer to the details below.

Resource pool - [Visible if Seize is set to units of the same pool] Here you specify the ResourcePool block defining the resources requested to perform the item processing.
Please refer to the details below.

Number of units - [Visible if Seize is set to units of the same pool] Expression evaluated to obtain the required number of resource units for the agent.

Send seized resources - If selected (true), the seized resources will be sent to the specified location.
The current material item can be accessed as local variable agent.

Destination is - [Visible if Send seized resources is selected]
Defines where the resources will be sent. The resources can be sent to:
Network node - the specified network node.
Attractor
- the specified attractor.
(x, y, z) - the specified coordinates.

Actions

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

On process started - Here you can type Java code executed when the station starts processing the item.

On process finished - Here you can type Java code executed when the station stops processing the item.

On leading edge enter - Here you can type Java code that will be executed when the leading edge of the material item reaches the station on the conveyor.

On trailing edge enter - Here you can type Java code that will be executed when the trailing edge of the material item reaches the station.

On leading edge exit - Here you can type Java code that will be executed when the leading edge of the material item leaves the station.

On trailing edge exit - Here you can type Java code that will be executed when the trailing edge of the material item leaves the station.

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

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

Appearance

Fill color – Shape's fill color. Choose No color, if you do not want the area to be filled.

Line color – Outline color. Choose No color, if you do not want outline to be drawn.

Position and size

Offset from conveyor start – The distance (in pixels) from the start point of the conveyor to the start point of the station, in pixels.

Length – Defines the length of the station in the length units that you choose in the drop-down menu to the right of this field. The default length of the station is 4 meters.

Advanced

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

Show name – If selected, the shape name is displayed on the graphical diagram.

Functions

State

Function

Description

boolean isProcessing()

Returns true if the station is processing agents (material items), returns false otherwise.

boolean stopProcess()

Stops the station when called.

boolean isFailed()

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

boolean fail()

Initiates station failure. The station stops processing.

boolean repair()

Repairs station, makes it available again. Resumes station processing.

Agent (material item)

Function

Description

T getAgent()

Returns the agent (material item) that is currently located in the station, returns null if none. 

List getAgents()

Returns the list of agents (material items) that are currently located in the station, returns null if none. 

boolean contains(Agent agent)

Returns true if the given agent (material item) is inside the station, returns false otherwise.

boolean removeAgent(Agent agent)

Removes the given agent from the station. The agent will be removed only if it is currently located inside the station.

If the agent was removed successfully, returns true, otherwise returns false.

Parameter: agent - the agent (material item) to be removed from the station.


Resources

Function

Description

boolean isUseResources()

Returns true if the station is using resource units, returns false otherwise.

boolean isSeizeFromOnePool()

Returns true if the station is using resource units of the same pool, returns false otherwise.

Object getResourceDestinationType()

Returns the type of destination the resources are sent to.

Valid values: Seize.DestinationType.DEST_NODE - the node the resources are sent to.
                        Seize.DestinationType.DEST_ATTRACTOR - the attractor the resources are sent to.
                        Seize.DestinationType.DEST_XYZ - the coordinates the resources are sent to.


Quantity

Function

Description

int getQuantity()

Returns the number of agents (material items) required to start the processing. 

double setQuantity(int quantity)

Sets the number of agents (material items) that must be processed simultaneously.

Parameter: quantity - the number of agents (material items).

int size()

Returns the current number of agents (material items) inside the station, returns null if none.

Loading mode

Function

Description

void setLoadingMode
(
ConveyorSimpleStationLoadingMode mode)

Defines the loading mode of new material items to the station 

Parameter:
mode
- new loading mode 
Valid values:
SIMPLE_STATION_LOADING_MODE_SIMULTANEOUS_WITH_UNLOADING - loading of a material item to the station will be performed simultaneously with the unloading of the processed material item from the station
SIMPLE_STATION_LOADING_MODE_AFTER_UNLOADING - loading of a new material item will be started when all the processed material items have left the station

ConveyorSimpleStationLoadingMode 
getLoadingMode()

Returns the loading mode of new material items to the station 

Valid values:
SIMPLE_STATION_LOADING_MODE_SIMULTANEOUS_WITH_UNLOADING - loading of a material item to the station will be performed simultaneously with the unloading of the processed material item from the station
SIMPLE_STATION_LOADING_MODE_AFTER_UNLOADING - loading of a new material item will be started when all the processed material items have left the station


Conveyor and network

Function

Description

int getConveyor()

Returns the conveyor the station is located on. 

double getOffset()

Returns the offset from the conveyor's starting point.

ConveyorNetwork getNetwork()

Returns the network the station belongs to.

Visibility

Function

Description

boolean isVisible()

Returns true if the station is visible; returns false otherwise.

void setVisible(boolean v)

Sets the visibility of the station.

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


Advanced

Function

Description

double length(LengthUnits units)

Returns the length of the station calculated in 3D space.

Parameter: units - one of the length unit constants

ConveyorSimpleStationDelayType getDelayType()

Returns the station's delay type.

Valid values: CONVEYOR_SIMPLE_STATION_DELAY_TYPE_MANUAL - the user ends the processing by calling the Delay function stopProcess().
                        CONVEYOR_SIMPLE_STATION_DELAY_TYPE_TIMEOUT - the processing ends when the specified time elapses.

Using resources

Processing may involve resource usage - in this case you should check the Use resources checkbox, and specify the resource(s) required to perform the processing.


Related topics

 Space markup for material handling models

 Conveyor

 Material Handling Library

 API reference: ConveyorSimpleStation class