# Automatic Process Data Collection ## Overview This feature enables Automatic Process Data Collection by parsing equipment events. !!! note "Currently supported events:" * UnitsProcessed ## How To Configure ### Relevant Artifacts The table below describes the properties for this entity type: | Name | Type | Is Mandatory | Data Type | Description | | :------------------------------------------------------------------------- | :--------- | :----------- | :-------- | ------------------------------------------------------- | | IoTMetadataDefinition | SmartTable | Yes | - | Metadata configuration for equipment integration | | CustomIoTIPCCFXUnitsProcessedContext | SmartTable | Yes | - | Table used to Resolve data collection Parameter context | | [IoTIPCCFXUnitsProcessed](../../artifacts/dees.md#iotipccfxunitsprocessed) | DEE | Yes | - | IPC CFX UnitsProcessed DEE | ### IoTMetadataDefinition Resource Level Configuration At the **Resource** level, there are several configuration we can make to set this feature. | Resource | Resource Type | Area | Name | Value | Description | | ------------------------ | ------------- | ---- | ---------------------------- | -------------------- | --------------------------------------------------------------------------- | | **MES IPC-CFX Resource** | | | useIPCCFXtoUnitsProcessed | `true` or `false` | Toggle this feature on or off. | | **MES IPC-CFX Resource** | | | useIPCCFXToTrackOut | UnitsProcessed | Enable Track-Out operation with the event defined. | | **MES IPC-CFX Resource** | | | removeTransactionIDonMessage | Supported Event Name | Event used to remove the Transaction ID/Primary Identifier pair from Queue. | ### How It Works **CFX.Production.UnitsProcessed** Event from IPC-CFX standard. #### Process Data * It resolves the SmartTable `IoTMetadataDefinition` to check if the configuration `useIPCCFXtoUnitsProcessed` is defined, if so, it will execute the UnitsProcessed Workflow. * It also will resolve the SmartTable `CustomIoTIPCCFXUnitsProcessedContext` to associate the UnitsProcessed data with the correct Parameters in the DataCollection. In the Event message we will retrieve TransactionId and CommonProcessData and UnitProcessData objects. !!! note "Currently supported Processes" - Conformal Coating Process - Reflow Profiling Device - Selective Soldering ??? Example "CFX UnitsProcessed Example" ```JSON { "TransactionId": "d280fd1c-e2cb-4544-be8b-78554c87a0c5", "OverallResult": "Succeeded", "CommonProcessData": null, "UnitProcessData": [ { "UnitIdentifier": "CARRIER55678", "UnitPositionNumber": 1, "UnitResult": "Succeeded", "UnitProcessData": { "$type": "CFX.Structures.Coating.CoatingProcessData, CFX", "Readings": [ { "MeasurementType": "FluidVolume", "ActualValue": 1.1, "ExpectedValue": 1.0, "MinAcceptableValue": 0.8, "MaxAcceptableValue": 1.2, "UniqueIdentifier": "c3113de4-c3f9-4c9d-8814-fee2ea12e90b", "MeasurementName": "FluidVolume", "TimeRecorded": null, "Sequence": 0, "Result": "Passed", "CRDs": null }, { "MeasurementType": "FluidPressure", "ActualValue": 32.5, "ExpectedValue": 32.0, "MinAcceptableValue": 31.0, "MaxAcceptableValue": 33.8, "UniqueIdentifier": "fd246214-573b-40dd-927a-ebfb49d46ae7", "MeasurementName": "FluidPressure", "TimeRecorded": null, "Sequence": 0, "Result": "Passed", "CRDs": null } ] } }, { "UnitIdentifier": "CARRIER55678", "UnitPositionNumber": 2, "UnitResult": "Succeeded", "UnitProcessData": { "$type": "CFX.Structures.Coating.CoatingProcessData, CFX", "Readings": [ { "MeasurementType": "FluidVolume", "ActualValue": 1.1, "ExpectedValue": 1.0, "MinAcceptableValue": 0.8, "MaxAcceptableValue": 1.2, "UniqueIdentifier": "11508f6f-fa11-4533-9db0-d3ff99bb03ba", "MeasurementName": "FluidVolume", "TimeRecorded": null, "Sequence": 0, "Result": "Passed", "CRDs": null }, { "MeasurementType": "FluidPressure", "ActualValue": 32.5, "ExpectedValue": 32.0, "MinAcceptableValue": 31.0, "MaxAcceptableValue": 33.8, "UniqueIdentifier": "a0fff961-4fb4-4851-932d-fb811d2fe83d", "MeasurementName": "FluidPressure", "TimeRecorded": null, "Sequence": 0, "Result": "Passed", "CRDs": null } ] } } ] } ``` #### Track-Out Operation * If the configuration `useIPCCFXToTrackOut` is defined for `UnitsProcessed` IPC-CFX message, the system will perform a **Track-Out** operation after processing. * At the end of the process we can use these events to Track the material Out of the Resource. [Check this for more information.](trackout.md) !!! note "TransactionId PrimaryIdentifier Persistency Handling" If `removeTransactionIDonMessage` is set to **UnitsProcessed**, we will remove the Transaction ID and Primary Identifier from Persistency queue.