AnyLogic
Expand
Font size

ReleaseTransporter

Releases the transporter previously seized by the SeizeTransporter block.

Different policies are available to define the transporter's actions after release (this setting is configured by the Transporter parameter). It can return to its current home location node, move to the nearest home location node (if several nodes were specified in the TransporterFleet block), move to any other specified location or remain where it is.

Transporter can return to the specified location every time it is released and only then move to perform the next task, or it can prioritize the performance of the task (if there is one) over the return to the specified location.

The release operation takes zero time.

All seized transporters must be released before the agent is disposed by the Sink block.
Demo model: SeizeTransporter and ReleaseTransporter Open the model page in AnyLogic Cloud. There you can run the model or download it (by clicking Model source files).

Parameters

Transporter
Defines the behavior of the released transporter. Depending on your choice, the transporter:
Returns to current home location
Returns to the nearest home location (selected from the list of the locations specified in the properties of the TransporterFleet block). Once the transporter returns to the node that satisfies this condition, this node will become the current home location for this transporter.
Goes to... — the location specified in the Destination is parameter
Remains where it is
Value type: ReleaseTransporter.TransporterReleaseMovingPolicy
Local variable: Agent unit — the transporter that is currently released by the block Valid values:
ReleaseTransporter.MP_RETURNS_TO_HOME — Returns to current home location
ReleaseTransporter.MP_RETURNS_TO_NEAREST_HOME — Returns to the nearest location
ReleaseTransporter.MP_GO_TO — Goes to...
ReleaseTransporter.MP_STAYS_WHERE_IT_IS — Stays where it is
Destination is
Defines where the transporter will move after being released. The possible destinations are:
Node — transporter moves to the specified network node
Attractor — transporter moves to the specified attractor
Path — transporter moves to the specified path
Conveyor — transporter moves to the specified conveyor
Position on conveyor — transporter moves to the specified position on conveyor
Conveyor station — transporter moves to the specified station
(x, y, z) — transporter moves to the point with the specified coordinates.
Syntax: DestinationType destinationType
Valid values:
ReleaseTransporterReleaseTransporter.DEST_NODE
ReleaseTransporter.DEST_ATTRACTOR
ReleaseTransporter.DEST_PATH
ReleaseTransporter.DEST_CONVEYOR
ReleaseTransporter.DEST_POSITION_ON_CONVEYOR
ReleaseTransporter.DEST_CONVEYOR_STATION
ReleaseTransporter.DEST_XYZ
Node
[Visible and applies only if Destination is: Node]
The network node the transporter will move to.
Value type: Node
Local variable: Agent unit — the transporter
Attractor
[Visible and applies only if Destination is: Attractor]
The attractor the transporter will move to.
Value type: Attractor
Local variable: Agent unit — the transporter
Path
[Visible and applies only if Destination is: Path]
The path the transporter will move to.
Value type: Path
Local variable: Agent unit — the transporter
Conveyor
[Visible and applies only if Destination is: Conveyor]
The conveyor the transporter will move to.
Value type: ConveyorPath
Local variable: Agent unit — the transporter
Offset from
[Visible and applies only if Destination is: Path or Conveyor]
Defines how to calculate the offset of the exact point on a path or a conveyor the transporter will move to: from The beginning of the conveyor/path or from The end of the conveyor/path.
Value type: boolean
Local variable: Agent unit — the transporter
Offset
[Visible and applies only if Destination is: Path or Conveyor]
The distance from the start or end point of the path/conveyor (depends on the Offset from parameter) defining the exact destination point for the transporter.
Value type: double
Local variable: Agent unit — the transporter
Position on conveyor
[Visible and applies only if Destination is: Position on conveyor]
The position on conveyor the transporter will move to.
Value type: PositionOnConveyor
Local variable: Agent unit — the transporter
Conveyor station
[Visible and applies only if Destination is: Conveyor station]
The station the transporter will move to.
Value type: ConveyorStation
Local variable: Agent unit — the transporter
X, Y, Z
[Visible and applies only if Destination is: (x, y, z)]
X, Y, Z coordinates of the point the transporter will move to.
Value type: double
Local variable: Agent unit — the transporter
... located in
[Visible and applies only if Destination is: (x, y, z)]
Specifies where the transporter will be added to after the release: either Level or Network.
Value type: boolean destinationInNetwork
Default value: false
Level
[Visible and applies only if ...located in Level option is selected]
The level the transporter will be added to once it is released.
Value type: Level
Local variable: Agent unit — the transporter
Network
[Visible and applies only if ...located in Network option is selected]
The network the transporter will be added to once it is released.
Value type: INetwork
Local variable: Agent unit — the transporter
Returns
[Visible and applies if any of the return options is selected in Transporter parameter]
Defines the policy of the transporter's return after the release. It can either proceed to perform the next task (if there is one) and return only when no tasks are left for it or always return to the specified location and only then move to perform the next task.
Value type: ReleaseTransporter.TransporterReleaseReturnPolicy
Local variable: T unit — the transporter that is currently released by the block
Valid values:
ReleaseTransporter.RP_IF_NO_OTHER_TASKS — if no other tasks
ReleaseTransporter.RP_EACH_TIME — each time

Actions

On enter
Here you can type Java code to be executed when an agent enters the block.
Local variable: T agent — the agent that just entered the block
On release transporter
Here you can type Java code to be executed when the transporter has been released.
Local variables:
Agent agent — the agent that is releasing the transporter
T unit — the transporter being released
On exit
Here you can type Java code to be executed when an agent exits the block.
Local variable: Agent agent — the agent that is exiting the block currently

Ports

in
The input port.
out
The output port.
How can we improve this article?