--- description: Follow the diagnostic order to troubleshoot OPC UA Standard connection and runtime issues. alias: userguide-equipment-integration-opcua-standard-troubleshooting --- # Troubleshooting ## Diagnostic Order Use the same order for every incident: 1. Identify the Resource, feature, Material, timestamp, and initiator. 2. Confirm the selected OPC UA server profile and session state. 3. Read the current handshake and payload values. 4. Check the Connect IoT instance status and errors reported. 5. Check whether the MES transaction committed. 6. Reconcile MES and machine state before resetting or retrying. !!! danger "Avoid blind retries" When `MachineReplyTimeout` expires, the MES operation fails and its transaction rolls back. Reconcile the MES Material state, handshake values, and physical equipment state before resetting or retrying. ## Connection and Setup | Symptom | Likely checks | Corrective action | | --- | --- | --- | | No OPC UA session | Endpoint reachability, credentials, `SecurityPolicy`, `SecurityMode`, and certificate trust | Correct the selected profile or server trust and restart the affected instance through the supported Connect IoT lifecycle | | Wrong server is used | Resource name and the profile selected at setup | Apply the canonical [Profile Selection Rule](../configuration/opcua-connection.md#profile-selection-rule), then correct or remove the unintended Resource-specific profile | | Base node is incorrect | Selected profile's `Namespace`, `IndEqOpcUaBaseNodeId`, hierarchy segments, case, and NodeId type | Correct `Namespace` or the MES hierarchy, rerun controller setup, and compare the generated base node with the server address space | | MES reports no reply from Connect IoT | Automation Controller Instance availability, Automation Manager status, and `/IndEq/Automation/ConnectIoTRequestTimeout/` | Restore the runtime path and set a timeout appropriate for the validated end-to-end response time | | Some nodes are missing | Enabled feature versus delivered machine interface and exact OPC UA node names | Add or correct the machine nodes, or remove the unsupported feature from the approved scope | | Read succeeds but write fails | OPC UA role, access level, node writability, and server security identity | Grant only the required write permissions to the **Connect IoT OPC UA Client** | ## Operation Handshake | Observed state | Meaning | Action | | --- | --- | --- | | Request `true`, performed `false` | The request is pending, rejected, or failed before the performed signal was written | Check Material resolution, `EnableAutomationScenarios`, MES validation, and Connect IoT diagnostics | | Performed `true`, confirmed `false` before timeout | MES performed the operation within its current transaction and is waiting for the machine | Check PLC monitoring and confirmation logic before `MachineReplyTimeout` expires | | `MachineReplyTimeout` error | The machine did not confirm in time; the command failed and the MES transaction rolled back | Reconcile MES, handshake, and physical machine state before resetting; then correct the PLC response or configure an appropriate timeout | | All bits remain `true` | The reset sequence is incomplete | Identify which owner failed to reset its bits and recover in the documented order | | Request is never detected | The subscription is inactive, no value change occurred, the bit was already high at setup, or the wrong node is configured | Verify the subscription, node, initial value, and PLC edge behavior | | Operator operation fails while notifying the machine | The MES-to-IoT request, performed write, or machine confirmation failed | Check the operation event, `ConnectIoTRequestTimeout`, `MachineReplyTimeout`, Resource automation scenarios setting, OPC UA write result, and hybrid-station PLC behavior | See [Automation Timeout Settings](../configuration/opcua-connection.md#automation-timeout-settings) for the supported timeout paths and defaults. ## Material and FIFO | Symptom | Checks | | --- | --- | | Material not found | Exact MES Material name, whitespace/case, Material system state | | Empty name is rejected | `IndEqAutomationOperationAllowFIFO` is `false` or missing. This is expected when explicit identification is required | | Wrong Material selected by FIFO | Queue/in-process ordering, eligibility rule. Prefer explicit Material names where deterministic selection is critical | | MES rejects resolved Material | Review the standard **Track In**, **Track Out**, or **Abort** preconditions and current Material state | ## Recipe Download | Symptom | Checks | | --- | --- | | No recipe is resolved | `Recipe Management Enabled`, `RecipeContext`, Material/Product/Step/Resource context, and Recipe state/version | | Parameter node not found | Exact MES Parameter name, sub-recipe display name, case, and base node | | OPC UA write returns bad status | Access rights, target data type, value range, node state, server diagnostics | | Machine receives wrong value | MES recipe version, parameter value, conversion precision, sub-recipe mapping | ## Data Collection | Symptom | Checks | | --- | --- | | No data is posted | Request bit, Material, open **Data Collection** Instance, expected Parameter list, read status | | “No data received” or parse error | Empty nodes, bad OPC UA status, incompatible text/numeric/Boolean/date value, wrong configured type | | Reading rejected | `PostDataReadingNumber`, configured reading range, mandatory Parameters, limits, instance state | | Values stored under wrong Material | Explicit Material name or FIFO resolution and Resource/Step context | ## State Synchronization | Error | Cause | Action | | --- | --- | --- | | Resource has no state model | The Resource does not have a state model assigned | Assign the correct state model and initial state to the Resource | | No state mapping found | No direct match and `IndEqResourceStateResolution` did not resolve | Add/correct the Resource + machine state mapping | | Mapped MES Resource state is invalid | `MESResourceState` does not name a state in the Resource model | Correct the mapping or state-model configuration | | Transition is not permitted | The Resource state model does not contain a valid runtime transition to the resolved target state | Correct the state mapping or add the required Resource state transition | | Unexpected state-change reason | Check whether `State.Reason` contains a value and whether the selected transition has a default reason | MES applies the supplied reason when present; otherwise it uses the default reason configured for the transition |