Abort#
Overview#
Abort stops an in-process Material exceptionally. Use Track Out for normal completion. MES applies the standard Abort rules, including Material state and process restrictions.
See Abort Material ↗ for the product transaction behavior.
Nodes#
| Relative node | OPC UA type | Direction | Purpose |
|---|---|---|---|
Operation.Abort.Material.Name | String | Machine → MES | Exact MES Material name |
Operation.Abort.MachineOperationRequest | Boolean | Machine → MES | Starts machine-initiated Abort |
Operation.Abort.MESOperationPerformed | Boolean | MES → Machine | Indicates that MES performed Abort and is waiting for machine confirmation |
Operation.Abort.MachineOperationConfirmed | Boolean | Machine → MES | Machine consumed the result |
Communication Flow#
sequenceDiagram
autonumber
actor O as Operator
participant M as Machine / OPC UA Server
participant I as Connect IoT
participant E as Critical Manufacturing MES
alt Machine initiated
M->>I: Material.Name
M->>I: MachineOperationRequest = true
I->>E: Abort resolved in-process Material
else Operator initiated
O->>E: Abort selected Material in MES UI
end
E->>E: Validate and perform Abort within transaction
E-->>I: Abort performed, awaiting machine confirmation
I->>M: MESOperationPerformed = true
alt Confirmation before MachineReplyTimeout
M-->>I: MachineOperationConfirmed = true
I-->>E: Machine confirmed
E->>E: Commit Abort
I->>M: MESOperationPerformed = false
M->>I: Machine-owned bits = false
else MachineReplyTimeout expires
I-->>E: Machine confirmation timeout
E->>E: Roll back Abort
I->>M: MESOperationPerformed = false
end Step-by-Step Process#
Machine-Initiated#
- The PLC writes
Material.Name. - The PLC sets
MachineOperationRequest = true, which raises the machine request through Connect IoT. - Connect IoT requests Abort in MES and provides the explicit Material name when available.
- MES resolves the explicit Material or, when FIFO is enabled, the first eligible in-process Material at the Resource.
- MES validates and performs Abort within the current transaction.
- Connect IoT sets
MESOperationPerformed = trueand waits forMachineOperationConfirmed = true. - When confirmation arrives before
MachineReplyTimeout, MES commits Abort. - Both sides return their control bits to
false. - If confirmation does not arrive in time, Abort fails and the transaction rolls back.
Operator-Initiated#
- The operator selects the Material and performs Abort in the MES UI;
MachineOperationRequestis not required. - MES validates and performs Abort within the current transaction.
- Connect IoT sets
MESOperationPerformed = trueand waits for the machine confirmation. - When confirmation arrives before
MachineReplyTimeout, MES commits Abort. - The result and confirmation bits are reset.
- If confirmation does not arrive in time, the operator receives a failure and the transaction rolls back.
Safety Boundary#
The MES Abort transaction does not replace machine safety functions. Emergency stop, interlocks, safe motion, and energy isolation remain machine responsibilities. The OPC UA handshake communicates manufacturing execution state.
Failure Behavior#
- In MES automation controller type must be
IndEqController - In MES resource
EnableAutomationScenariosmust be set totrue - A Material that is not in process at the Resource is rejected.
- If MES rejects Abort,
MESOperationPerformedremainsfalseand the reason is logged. - If the machine does not set
MachineOperationConfirmed = truebeforeMachineReplyTimeoutexpires, Abort is not successful and its transaction rolls back. - After a timeout, reconcile the MES Material state, machine state, and handshake values before retrying.
Validation and Assumptions#
- Only eligible in-process Materials can be aborted.
- Operator-initiated Abort notifies the machine without a machine request when
EnableAutomationScenarios = true. - The physical machine outcome is defined for a successful Abort signal.
- Safety behavior does not depend on MES communication.
- Missing-acknowledgement recovery cannot execute Abort twice.
- Resource is set as
EnableAutomationScenarios = true - MES automation controller type is
IndEqController