Transport Out

Description
A TransportOut statement allows you to transport one or more product instance(s) out of the process. The statement can operate in one of two modes: in Transport Products mode the input variable is expected to contain one or more product instances that will be sent out sequentially, while in Process an Assembly mode the input variable is expected to contain a single assembly instance whose assembly slots will be cleared by sending out the product instances that have been placed into them.

Additional information
If Destination is To Next Process, a successful transportation requires:

1. for there to currently be a receiver for the type of product this statement is sending.
2. for that receiver to be the next step in the Flow Sequence of the product.
3. for there to exist a valid transportation route from this process to the receiving process.
4. for any resources required for the transportation to be available.

This statement will wait until the product leaves the process or the assembly. The waiting duration can depend on e.g., when another process requires the product, if the resources are available or if the destination ComponentContainer has capacity.

A TransportOut statement is typically paired with a TransportIn statement from the receiving process. Make sure to check that the Destination property of the TransportOut statement is compatible with the Source property of the TransportIn statement. It is also possible to use the TransportOut statement without a matching TransportIn statement, typically in To Container Destination mode.

Transporting Assemblies
Mode Transport Products:
Assembly can be transported out as a single Product Type like any other product.

Mode Process an Assembly:
When processing assemblies, a TransportOut statement is typically used with a GetAssembly statement. With GetAssembly, the user can select which step(s) of the assembly will be transported out, and then this information is passed as an Assembly Order to the TransportOut statement via the AssemblyOrderVariableName property.

Assembly steps are transported out consecutively, in a reversed breadth-first manner. Within a step, the OrderIndex property of assembly slots determines the transporting order. Slots with the same OrderIndex value will be transported concurrently.

Properties

Name Description
IsEnabled Turns on/off the execution of this statement.

ProductVariableName

The name of the variable that contains either the Product(s) to be transported out or the Assembly whose slots will be cleared of Products.

This variable can be a single reference type or a list. In Transport Products mode, all products in the list will be transported out sequentially. In Process an Assembly mode, only the first item in the list will be processed.

Mode

Defines how products are transported out.

Transport Products
In this mode, this statement transports Product Instances between Processes.
Tip: Product Instance is a general term that includes both Part Instances and Assembly Instances, so this can be used to send assemblies (partially assembled or fully assembled) out of the process.

Process an Assembly
In this mode, this statement is used to transport Product Instances out of an Assembly Instance that is in this process.

AssemblyOrderVariableName

Name of the AssemblyOrder variable that defines which slots of the assembly will be cleared, if they are currently filled.
Tip: Use the GetAssembly statement for creating an AssemblyOrder.

If left empty, all slots of the assembly will be transported out.

ResourcePositionFrame

Frame location where a resource will move for picking a product.

Destination

Defines the destination to where the products will be passed for transportation.

To Next Process
The Product Instance is transported to the next process using the transport system. Transportation is pull-type, meaning that the next process requests a product once it has capacity for it. This statement will complete once the product has been picked up by the Implementer of the first Transport Link.
Tip: Can be read as "To Transport Link" most of the time.

To Component Container
The Product Instance is placed onto the component container defined by DestinationContainer. If the DestinationContainer has an output port connected to another container behavior, the product flows through the DestinationContainer to its connected container. Transportation is push-type, meaning that product is transported out as soon as the destination container has capacity for it.
Tip: This is typically used in an in-line process to buffer products on a conveyor.

To Transport Node
The Product Instance is transported out to the defined transport node using the transport system. With this mode, it is possible to use the transport system in push-mode, meaning that products are transported to the target node using e.g. a conveyor system as a buffer.

DestinationNode

To which transport node the Product Instance is transported out when the Destination property is defined as To Transport Node.

Container

To which container the Product Instance is transported out when the Destination property is defined as To Component Container.

SendAsProductBundles

This property can be used to transport out multiple products as a bunch within single transportation.

The selected Assembly Steps in the Assembly Order will always be transported out individually (one Assembly Slot at a time while looping the selected Assembly Steps).

If the property value is true, the non-selected child steps of the selected Assembly Steps (if any) will be attached to the Product Instance in the first slot of their selected Assembly Step parent. In more details, the attached products will be transported as Product Bundles. Product Bundle is a collection of Product Instances created by attaching their dynamic components together. Product Bundles are not Assembly Instances, and they don’t have assembly structure metadata.