Smart Barcode Scanning#
Smart Barcode Scanning in Critical Manufacturing MES is designed to simplify user interactions, especially for operators, by minimizing manual input. With this feature enabled, scanning a barcode automatically populates the corresponding fields on-screen, regardless of the order in which they appear.
The system supports both 1D and 2D barcodes, including standards such as GS1, ECIA, and Mat-Label, which use specific prefixes to encode multiple values within a single barcode string.
Info
You can use this feature with the Find Entity Control.
Sequence of Steps#
To enable the Smart Barcode Scanning, follow these steps:
- In the Administration menu, navigate to the Configuration entity and locate the
/Cmf/Guis/Configuration/Common/Barcode/LabelSpecification/configuration entry. -
This configuration entry is empty by default. Add the appropriate label specification value (for example,
GS1), ensuring it matches a corresponding value in the LabelSpecification Lookup Table. -
Define the fields to be recognized during a barcode scan by configuring the LabelSpecificationField Generic Table. Each entry should reference a prefix and the corresponding target field.
Tip
To speed up configuration, you can import all barcode properties at once using the Master Data Packages tile to upload the Label Specification Field Template. For more information, see Smart Barcode Scanning Configuration and Loading a Master Data Package.
Supported Components#
The Smart Barcode Scanning feature has been integrated into multiple areas of the Critical Manufacturing MES to enhance user efficiency and streamline operations.
On supported pages, Smart Barcode Scanning enables you to quickly select items within grids and apply filters without manual input. The following page views currently support this feature:
This feature is also available across several MES wizards, allowing barcode scans to directly populate wizard fields. Supported wizards include:
- Attach as Consumable
- Abort Material
- Create Material
- Dispatch Material
- Hold Material
- Manage Resource Durables
- Material Move-Next
- Release Material
- Retrieve Material
- Store Material
- Track-In Material
- Track-Out Material
Additionally, this feature is enabled in the following UI Widgets/System Task:
Step View#
The filters that can be activated in the Materials tab and the Resource tab of the Step View are listed in the tables below.
| Filter | Target Field |
|---|---|
| Material State Filter | Material.SystemState |
| Material Product Filter | Material.Product.Name |
| Material Flow Filter | Material.Flow.Name |
| Material Name Filter | Material.Name |
Table: Filters and corresponding target fields available for Smart Barcode Scanning in the Materials tab of the Step View
Note
The Material list supports item selection using the Material.Name target field. You can also select items by directly scanning a Material name, following the guidelines in the Standard Barcode Scanning.
| Filter | Target Field |
|---|---|
| Processing Type Filter | Resource.ProcessingType |
| System State Filter | Resource.SystemState |
| State Model Filter | Resource.MainStateModelState |
| Resource Name Filter | Resource.Name |
Table: Filters and corresponding target fields available for Smart Barcode Scanning in the Resources tab of the Step View
Resource View#
The filters that can be activated in the several tabs of the Resource View are listed in the table below.
| Filter | Target Field | View |
|---|---|---|
| Material Product Filter | Material.Product.Name | Dispatch List, Materials at Resource, Dispatch List (Batch Resource View) |
| Material Flow Filter | Material.Flow.Name | Dispatch List, Materials at Resource, Dispatch List (Batch Resource View) |
| Material Step Filter | Material.Step | Dispatch List, Materials at Resource, Dispatch List (Batch Resource View) |
| Material Name Filter | Material.Name | Dispatch List, Materials at Resource, Dispatch List (Batch Resource View) |
| Material State Filter | Material.SystemState | Materials at Resource |
| System State Filter | Resource.SystemState | Load Port, Sub-Resources |
| State Model Filter | Resource.MainStateModelState | Load Port, Sub-Resources |
| Resource Name Filter | Resource.Name | Load Port, Sub-Resources |
| Processing Type Filter | Resource.ProcessingType | Sub-Resources |
Table: Filters and corresponding target fields available for Smart Barcode Scanning in the Resource View
The Material list available on the Dispatch List (for Processing Resources or Batch Resources) and the Materials at Resources tab support item selection using the Material.Name target field. You can also select items by directly scanning a Material name, following the guidelines in the Standard Barcode Scanning.
The Resource list in the Load Port, Sub-Resources, and Consumable Feed tabs support item selection using the Resource.Name target field. The Recipe tab supports filtering Recipe Parameters through the Parameter.Name target field. Additionally, the Storage Resource View supports filtering and selection across Materials, Containers, and Resources, as shown below:
| Entity | Target Field |
|---|---|
| Materials | Material.Name |
| Containers | Container.Name |
| Resources | Resource.Name |
Table: Entities and corresponding target fields available for Smart Barcode Scanning in the Storage Resource View
Wizards#
The actions and fields that can be activated through Smart Barcode Scanning across various MES wizards are summarized in the table below.
| Action | Target Field | Wizard |
|---|---|---|
| Select Resource to dispatch Material | Resource.Name | Dispatch, Track-In, Track-Out, Abort |
| Specify Resource State Transition | StateTransition.Name | Dispatch, Track-In, Track-Out, Abort |
| Specify a Reason | Reason.Name | Dispatch, Track-In, Track-Out, Abort |
| Specify Queue Order | Resource.QueueOrder | Dispatch, Track-In, Track-Out, Abort, Attach Consumable |
| Specify Resource Location | ResourceLocation.Name | Attach Consumable |
| Specify a Material for a Durable | ResourceDurable.Material.Name | Manage Resource Durables |
| Specify a Position for a Durable | ResourceDurable.Position | Manage Resource Durables |
| Select Flow | Material.Flow.Name | Move-Next and Special Move-Next |
| Select Step | Material.Step.Name | Move-Next and Special Move-Next |
| Select Flow Path | Material.FlowPath | Move-Next and Special Move-Next |
| Specify Hold information | Reason.Label, Reason.Comment,Reason.ReleaseCode, Reason.ReleaseRole | Hold |
| Specify Release code | Reason.ReleaseCode | Release |
Table: Actions and corresponding target fields available for Smart Barcode Scanning in MES wizards
For the Create wizard, the fields that can be activated with a barcode are displayed in the table below.
| Material Property | Target Field |
|---|---|
| Material Name | Material.Name |
| Material Description | Material.Description |
| Material Type | Material.Type |
| Material Facility | Material.Facility.Name |
| Material Product | Material.Product.Name |
| Material Form | Material.Form |
| Material Flow | Material.Flow.Name |
| Material Step | Material.Step.Name |
| Material Primary Quantity | Material.PrimaryQuantity |
| Material Primary Units | Material.PrimaryUnits |
| Material Secondary Quantity | Material.SecondaryQuantity |
| Material Secondary Units | Material.SecondaryUnits |
| Material Expiration Date | Material.ExpirationDate |
| Material Manufacturer | Material.Manufacturer.Name |
| Material Supplier | Material.Supplier.Name |
| Material Manufacturer Part Number | Material.ManufacturerPartNumber |
| Material Manufacturer Lot Number | Material.ManufacturerLotNumber |
| Material Manufacturer Date Code | Material.DateCode |
| Material Purchase Order Number | Material.PurchaseOrderNumber |
| Material RoHS Compliant | Material.IsRoHSCompliant |
| Material Priority | Material.Priority |
| Material Hot | Material.IsHot |
| Material Exclude From Scheduling | Material.ExcludeFromScheduling |
| Material Production Order | Material.ProductionOrder.Name |
| Material Order Number | Material.OrderNumber |
| Material Possible Start Date | Material.PossibleStartDate |
| Material Due Date | Material.DueDate |
| Material Target Material Quantity | Material.TargetMaterialQuantity |
| Material Target Material Units | Material.TargetMaterialUnits |
Table: Material properties and corresponding target fields available for Smart Barcode Scanning in the Create Material wizard
In wizards with column views, Smart Barcode Scanning lets you add items to the left panel while automatically populating the corresponding details on the right — simplifying multi-step workflows and reducing manual effort. To enable this behavior, use the ColumnView.Add target field in your barcode configuration.
Widgets#
The table below summarizes how different UI Widgets and System Tasks can be integrated with Smart Barcode Scanning.
| Widget/System Task | Description |
|---|---|
| Barcode | Replaces the Barcode Context event listener with the task’s own listener, allowing you to define how barcode scans should be processed within that specific context. |
| Form | Allows specifying the Barcode Field Name, which maps directly to the TargetField column in the LabelSpecificationField Generic Table. |
| Filter | Allows specifying the Barcode Field Name, which maps directly to the TargetField column in the LabelSpecificationField Generic Table. |
| Grid & Sliding Grid | Allows specifying the Barcode Field Name (mapped to TargetField in LabelSpecificationField Generic Table). Additionally, it supports defining the Barcode Field Value Path, which sets the property path to use when comparing scanned values to data within the grid rows. |
| Tabs | No additional settings required; the system automatically disables scanning on inner widgets for tabs that are not currently selected, ensuring only the active tab responds to barcode scans. |
Table: Supported UI Widgets/System Tasks and their configuration for Smart Barcode Scanning.
Real Use Case#
The following example demonstrates how to configure and use the GS1 label specification to register a Material. It outlines how to define recognizable barcode segments and how those segments are parsed to automatically populate the corresponding fields in the MES interface.
-
Add the
GS1value to the/Cmf/Guis/Configuration/Common/BarcodeInputLabelSpecification/configuration entry. -
Add the fields that will be extracted from the barcode to the LabelSpecificationField Generic Table, as shown below.
-
In this example, the following fields will be used:
-
Using the configured fields, we can now create a Material with the required fields using the following barcode:
Each segment (for example, 1ACookie01, 2AProduction, 3ALot, etc.) corresponds to a specific field and value, based on the label specification configuration. And each of these segments are separated by a
%. The diagram below explains the structure of this barcode: -
Scanning this code will fill out the Material required data, regardless of the order in which the fields are provided.


