Transport In
Description
A TransportIn statement allows you to transport one or more product instances into the process. The statement can operate in one of two modes: in Transport Products mode the transported product(s) will be saved into the output variable directly, while in Process an Assembly mode the transported product(s) will be added to an assembly instance that is itself then saved into the output variable.
Additional information
If Source is From Previous Process, a successful transportation requires:
1. product(s) of the specified type(s) to be available.
2. for those products to have this process as the next step in their Flow Sequence.
3. for there to exist a valid transport link(s) from the sending process to this process.
4. for any resources required for the transportation to be available.
First, the statement initiates the transportation if the Source is set as From Previous Process. The statement will then block and wait until the product instance(s) arrive to the container, path sensor location, or to the assembly. Products may arrive via the transport system, via flow interfaces to the transport node’s ComponentContainer, or along a path if the Transport Node is connected as a sensor on that path.
A TransportIn statement is typically paired with a TransportOut statement in the sending process. Ensure 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 TransportIn statement without a matching TransportOut statement, typically in From Component Container Source mode.
This statement contains filtering properties for the user to select what types of products will be accepted into this process. Note that these product filtering options are not used when combining this statement with the ReserveProduct statement or in Process an Assembly mode.
Transporting Assemblies
Mode Transport Products:
Assembly can be transported in as a single Product Type like any other product. This Assembly Product Type can be then further read with, for example, Get Assembly statement.
Mode Process an Assembly:
Assembly can also be taken in as “piece by piece”.The GetAssembly statement is typically used beforehand to select which step(s) of the assembly are to be filled and passed to the TransportIn statement via the AssemblyOrderVariableName property.
Assembly steps are filled consecutively, in a breadth-first manner. Within a step, the OrderIndex property of assembly slots determines the order they are filled in. Slots with the same OrderIndex value will be filled concurrently. Product filtering options in each slot are considered to determine which types of product can be accepted into each slot. Any provided pre-reserved products are considered before placing requests for new products.
To fill an assembly slot, this statement will place a request for one product. However, the incoming product may have attached child products, i.e., it can be a Product Bundle. If the incoming product is not an Assembly Instance, this statement will attempt to use those child products to fill other slots in the assembly. Any child products that are not used to fill other slots will remain attached to the incoming product, which is placed into the slot that it was requested for.
In a similar way that the Create statement, TransportIn can also be used to create Product Bundles. This happens when the first assembly step is not selected in the GetAssembly statement. By contrast to the Create statement, TransportIn will process assembly steps in the same order as it would if the first step had been selected, so TransportIn can be building multiple Product Bundles simultaneously.
Properties
Name | Description |
IsEnabled | Turns on/off the execution of this statement. |
Mode |
Defines how products are transported in. Transport Products Process an Assembly |
AssemblyOrderVariableName |
Name of the AssemblyOrder variable that defines which slots of the assembly will be filled, if they are currently empty. If left empty, all slots of the assembly will be filled. |
AssemblyVariableName |
Name of the Assembly Instance variable that will receive the Product Instance(s). Only one instance is processed - the type of this variable can be a list, but in that case the list may only contain a single item. If left empty, a new Assembly Instance is created. |
ProductPositionFrame |
Frame location where the products are placed. |
ProductVariableName |
Name of the variable where this statement stores either the product that was transported in or the assembly that was transported in or created. |
Source |
Defines the source from which the products will be arriving. From Previous Process From Component Container |
ResourcePositionFrame |
Frame location where a resource will move while placing a product. |
ReservedProductVariableName |
Product variable name defined in Reserve Statement. The variable can be a list. |
Product Filter |
See Product Filtering |