Material Serialization#
Overview#
The Material Serialization feature provides a framework for assigning unique identification codes to PCB panels and boards at various stages of the manufacturing process. By utilizing specific Smart Tables, users can determine exactly when and how materials expand into smaller units during track-in or track-out operations.
The system supports multiple configurations, including Special Mode, which allows for two levels of serialization to occur simultaneously within a single production step.
This level of traceability ensures that every individual component is accurately tracked from the initial SMT line through to final assembly. The flexible setup also accommodates both internal name generation and external naming conventions to suit different factory requirements.
Pre-Conditions#
Before using Material Serialization, the following conditions must be met:
- Enable the following global configurations:
/SMT/MaterialSerialization/– enables the Material Serialization feature/SMT/MaterialNameGeneration/– enables the ability to generate names for the materials/SMT/MaterialAutomaticLabelPrinting/– enables the label-printing functionality of this feature
- Define the relationship through the Material Form Generic Table between parent and child materials.
- Ensure each parent material has sufficient quantity to cover the total quantity required by its child (sub-material) expansion.
- Make sure the material's step property
Use Split and Track-Outis not set toTrue; otherwise, Material Serialization will not be performed.
Concept#
When a material is tracked-in or tracked-out, the table SMTMaterialExpandContext is resolved, and based on that context, the material is expanded. Then, based on the value of the column:
- IsExternalNaming equals
False- The table SMTMaterialNameGenerationContext is resolved, and based on that context, a name generation is assigned to the material expand operation that will be performed
Info
Further information and examples on how to configure this feature are available in the Tutorial
Smart Tables#
SMTMaterialExpandContext#
This table controls if, when, and how a parent material is expanded (serialized) into child and sub-child materials. The system resolves this table for every material entering a tracked-in or tracked-out operation, using the material's current step, form, product, and product group as resolution criteria.
Table fields:
- Expand Step – the step where expansion is going to occur;
- Parent Form – the material form of the material being expanded (e.g. Lot). Only materials whose form matches this value at the configured Expand Step will trigger the serialization process;
- Child Form – the material form assigned to the directly expanded child materials (e.g. Panel);
- Sub Child Form – the material form assigned to the second-level expanded materials, children of the child materials (e.g. Board). Only applicable when a second level of expansion is configured, either via Special Mode or through chained expansion steps;
- Expand Operation – the transaction that will trigger the serialization process, either Track-In or Track-Out. The expansion only occurs when the material enters the configured step via the matching operation;
- Is External Naming – set to true if the names of the child materials are provided externally (e.g. scanned from labels); set to false if naming is performed automatically by an MES name generator. When set to false, the SMTMaterialNameGenerationContext table must be configured accordingly;
- Expansion Factor – integer value controlling the first level of expansion. Defines the primary quantity each child material will hold. Combined with the Sub Expansion Factor, it also determines the total number of child materials created;
- Sub Expansion Factor – integer value controlling the second level of expansion, from child to sub-child form. Defines the number of sub-child materials created per child material, as well as the primary quantity each sub-child material will hold. Required when Is Special Mode is set to true;
- Detach Step – the step at which boards (sub-child materials) will be physically separated from their panels (child materials) in a later production stage. When this field is populated, the system saves the configured step name as an attribute (
DetachStep) on each expanded child material at the moment of serialization, allowing downstream steps to identify and act on panels that are scheduled for detachment. This field is optional; if left empty, no detach step attribute is set on the expanded materials; - Position Mapping – when set to true, the system assigns a sequential integer position identifier (starting from 1) to each sub-child material (e.g. each Board) that does not already have one. This attribute (
MESPositionId) allows downstream processes to map each board to its physical location within its parent panel, which is essential for placement and traceability purposes. Position mapping is applied only to sub-child materials (i.e. boards), not to the first-level child materials (i.e. panels); - Is Special Mode – if the expansion (serialization) has 3 levels, such as Lot, Panel, and Board, and it all occurs at the same expand step, this property must be set to true. If the expand from parent to child and from child to sub-child occurs in different steps, Is Special Mode should be set to false.
Note: When Is Special Mode is
true, Position Mapping is only applied during the second expansion (panels to boards), not during the first expansion (lot to panels). This ensures that position identifiers are assigned at the board level, where physical placement tracking is relevant.
SMTMaterialNameGenerationContext#
Used to configure and derive, for boards and/or panels, the Name Generator to be applied when Is External Naming is set to false on SMTMaterialExpandContext.
Table fields:
- Step – Step where Name Generator is called
- Customer – Define the Manufacturer
- Product Group – Define a Group of Products
- Product – Define Product
- Form – Material form
- Operation – Triggering Operation (AddItemsToPackingContainer, ClosePackingContainer, ExpandMaterial, OpenPackingContainer, StartMaterial)
- Name Generator – Define the Name Generator to be used
- Label Validation Mask – Expression used for validation
SMTMaterialPrintableDocumentContext#
Used to configure and determine which labels apply to each expand (serialization) operation, when a label is to be printed.
Table fields:
- Step – Step where to print a Printable document
- Customer – Define the Manufacturer
- Product Group – Define a Group of Products
- Product – Define Product
- Flow – Step Flow
- Material – Material Name
- Material Type – Material Type
- Material Form – Material form
- Operation – Triggering Operation (AddItemsToPackingContainer, AutomaticAssemble, ClosePackingContainer, Expand, MoveNext, OpenPackingContainer, Serialization, TrackIn, TrackOut)
- Label – Define the Printable Document to be used
- Synchronous Printing – Indicates whether the Print should be Synchronous
