Product Filtering
Product filters are used to filter the incoming products to the process. The filters are applied with TransportIn, TransportPatternIn, StartTransportIn statements and Assembly Editor.
The filter example below accepts only “VC_Cylinder” Product Types that also have a string type property named “ProductID” with a value of “111”.
1. | Create a new filter |
2. | Active filters |
3. | Shows all active filters |
4. | Operator to combine multiple filters |
5. | Delete filters |
See the filter types:
Product Type
Incoming products are filtered based on the Product Type.
Property |
Description |
FilterName |
Name |
AcceptedProductTypes |
A list of accepted Product Types |
AcceptedFlowGroups |
A list of accepted Flow Groups |
Product Property
Incoming products are filtered based on their property values, which are compared against a target value.
Notice that product properties belong to the Product Type, and they are not the same as component properties.
Property |
Description |
FilterName |
Name |
TargetProperty |
The product property of the incoming product that will be evaluated. |
ComparisonOperator |
Defines how the property value is compared against the target value. |
ComparisonValue |
This is the property's target value and must be matched when accepting products. Note: this field is an expression. It can have a constant value, but it can also read Process Variables that can be extended with Process Statement Expressions Note: strings are written with quotation marks, for example “my_string” |
FilterDiagnosticMode |
Defines if a notification is given when the property can’t be found. In any case, a missing property will result in rejection of the incoming product. |
Expression
Incoming products are filtered based on the boolean expression. The product is accepted when the expression is true.
Property |
Description |
FilterName |
Name |
ProductAccessor |
Gives a name to the incoming product that can later be used in the expression. The name can be for example a “Product” |
ExpressionProperty |
The expression will be evaluated for each incoming product and is expected to result in True or False value. Some example expressions below: “Product.Length <= MaxLength” “Product.SKU == “ABCD1234”” Note: see Process Statement Expressions Note: strings are written with quotation marks like “my_string” |
FilterDiagnosticsMode |
Defines if a notification is given when the property can’t be found. In any case, a missing property will result in rejection of the incoming product. |
Specific Product
A filter that only accepts a specific Product Instance or a list of Product Instances. Note that a Product Instance is a product created during the simulation run-time.
A possible use case: specific products leave the process and later return to the same process. With this filter, we can accept only the same products to return to the process.
Property |
Description |
FilterName |
Name |
ProductVariableName |
A Product Variable's name used in the Process Editor program, for example, “ProductIn”. This Product Variable defines the accepted Product Instances. |
CompareMode |
This mode option is only relevant when Product Variable is a list of more than 1 Product Instance. With only 1 Product Instance, the mode option has no difference. "Compare To Any" If any Product Instance match is found, the incoming product is accepted. "Compare In Order" The incoming product must match the next Product Instance in the order defined by the Product Variable. |