--- description: Transfer MES-resolved process settings to the machine during Track In using Recipe Download. alias: userguide-equipment-integration-opcua-standard-recipe-download --- # Recipe Download ## Overview **Recipe Download** transfers the process settings resolved by MES to the machine during **Track In**. The standard defines where parameters are written, but it does not prescribe the process-specific parameter names. `Recipe.` is a placeholder. A real machine uses actual names such as `ProductCode`, `TargetSpeed`, `TemperatureSetpoint`, or `TorqueTarget`. ## Node Mapping Root recipe parameters use: ```text .Recipe. ``` Sub-recipe parameters use: ```text .Recipe.. ``` Example: ```text Recipe ├── ProductCode ├── TargetSpeed └── Tightening ├── TorqueTarget └── AngleTarget ``` | MES artifact | OPC UA segment | Rule | | ----------------------------- | ------------------------ | --------------------------------------------------------------------------- | | Main recipe Parameter name | `` | Exact, case-sensitive match with the machine node Tag Name | | Sub-recipe display name | `` | Exact match with the OPC UA Folder Name | | Sub-recipe Parameter name | `` | Exact match below the sub-recipe folder | | `IndEqOpcUaParameterDataType` | OPC UA value type | Must exist in `IndEqOpcUaDataTypes` and be compatible with the target node | ## Communication Flow ```mermaid --8<-- "docs/userguide/equipmentintegration/opcua-standard/_includes/mermaid-sequence-theme.txt" sequenceDiagram autonumber participant E as Critical Manufacturing MES participant I as Connect IoT participant S as OPC UA Server E->>E: Perform Track In within transaction and resolve RecipeContext E->>E: Build main and sub-recipe parameter set E-->>I: Parameter names, hierarchy, values, and data types loop Each recipe parameter I->>I: Build relative node path I->>I: Validate and convert to the OPC UA data type I->>S: Write recipe value S-->>I: Write status end alt All required writes succeed I-->>E: Recipe download succeeded, continue Track In handshake else A required write fails I-->>E: Recipe download failed with node diagnostic end ``` ## Step-by-Step Process 1. **Track In** is initiated either by the machine or by the operator. 2. MES verifies that `Recipe Management Enabled` is enabled for the Resource. 3. MES resolves `RecipeContext` and selects the **Recipe** and respective **Sub-recipes**, if applicable. 4. Connect IoT receives the **Parameter** names, values, hierarchy, and configured OPC UA data types. 5. For each main **Parameter**, Connect IoT builds `Recipe.`. 6. For each **Sub-recipe Parameter**, it builds `Recipe..`. 7. Connect IoT writes each OPC UA node and checks the returned write status. 8. Connect IoT issues the **Track In** performed signal only after every required **Parameter** has been written successfully. 9. The machine confirms the performed signal within `MachineReplyTimeout`; MES commits **Track In** only after that confirmation. ## Configuration Requirements - Resource `Recipe Management Enabled` is enabled. - `RecipeContext` resolves a valid recipe. - Recipe Parameter names, sub-recipe display names, and sub-recipe Parameter names match the OPC UA structure exactly. - `EnableAutomationScenarios` is set to `true`. ## Validation and Assumptions - [ ] Main recipe parameters are written to the correct nodes. - [ ] Sub-recipe folders and parameters resolve correctly. - [ ] A missing or non-writable required node causes a clear failure. - [ ] Operator-initiated **Track In** also downloads the recipe when enabled.