Operations systems
MES Integration Without Losing Production Context
A technical guide to work orders, genealogy, state, quality, idempotent transactions, and recovery at the PLC–MES boundary.
Prepared by the Archive Research Desk from the cited public record. Technical judgments are framed as implementation guidance, not as a claim of firsthand work at the named facilities. Safety and standards references should be checked against the edition applicable to your project.
Manufacturing execution systems connect business intent to production evidence. The difficult interface is not moving a work-order number into a PLC. It is maintaining agreement among product identity, route, recipe, machine state, material consumption, quality disposition, and transaction history during faults and manual intervention.
Define system authority
Each fact should have an authoritative owner. ERP may own the released order and material master. MES may own dispatch, genealogy, and electronic work instructions. The control system owns deterministic equipment state. A laboratory or quality system may own final disposition.
Do not create silent bidirectional ownership. If both MES and PLC can change a recipe identifier, define arbitration, version checks, and rejection behavior. Record which system initiated the change.
Model transactions explicitly
Production messages should be idempotent. Network retries must not create double material consumption or duplicate completion. Use a stable transaction identifier and preserve the source sequence or event identity.
An equipment-complete event should include enough context to validate it:
- asset and operation identity;
- product, carrier, lot, or serial identity;
- work order and operation version;
- start and completion timestamps;
- recipe and controller revision;
- result, quality state, and relevant measurements;
- transaction identifier and schema version.
The consumer should reject or quarantine events that violate the contract rather than guessing.
Design for disagreement
Test what happens when MES is unavailable after the machine has started, when the PLC restarts after physical transfer, when an operator replaces material during an outage, or when a product enters rework. Store-and-forward can preserve events, but it does not by itself resolve conflicting state.
Reconciliation tools should show the physical evidence, controller record, MES record, and proposed correction. Corrections need attribution and reason codes. Avoid direct database edits that bypass the audit model.
Keep control deterministic
MES can authorize or parameterize production, but time-critical interlocks belong close to the process. Define a bounded offline mode if the plant must continue without MES: allowed products, cached recipes, maximum duration, local identity rules, and later reconciliation.
The interface succeeds when operations can prove what was made, with which material and parameters, even across interruptions. That requires explicit authority, idempotent messages, tested failure modes, and visible reconciliation—not simply a connected work-order field.
Put ownership in a table before writing code
ISA-95 is valuable because it gives teams a common manufacturing-operations vocabulary. It does not decide the owner for a particular plant. That decision belongs in the design record.
| Information | Typical authority | What the receiving system must verify |
|---|---|---|
| Released production order | ERP or planning system | order status, product, quantity, due window, revision |
| Dispatch and route | MES | eligible equipment, operation sequence, hold state |
| Executing recipe | controller or recipe service, by agreement | identifier, version, checksums, equipment compatibility |
| Equipment state | PLC or line controller | timestamp, mode, quality, reason code |
| Material identity | warehouse/MES plus scan evidence | lot status, expiry, quantity, point of use |
| Process result | originating controller or test system | unit, limits, calibration state, product identity |
| Quality disposition | quality system or authorized MES function | reviewer, reason, affected scope, release time |
“Typical” is deliberately cautious. A regulated batch plant, an automotive line, and a high-mix machine shop may assign these responsibilities differently. The important point is that one fact should not drift between competing authorities without a controlled reconciliation rule.
Treat message status as production state
An outbound event usually needs more than sent/not-sent. A useful lifecycle distinguishes:
- created from a defined equipment event;
- durably queued;
- transmitted;
- acknowledged at the transport layer;
- accepted by the business rule;
- rejected or quarantined with a reason;
- reconciled or superseded by an authorized correction.
A broker acknowledgement does not prove that MES accepted a completion. Likewise, a database insert does not prove that the resulting genealogy is internally consistent. Monitor the business outcome, not only the middleware.
During commissioning, display queue depth, oldest unprocessed event, rejection count, last accepted transaction, clock health, and current offline-mode status. Those signals shorten diagnosis when production and MES disagree.
Rework is where simple models break
Straight-through production demos are easy. Rework exposes weak identity and routing assumptions. A product may repeat an operation, skip a non-applicable step, consume replacement material, receive a new test result, or be split from a parent lot. Preserve the original evidence and add disposition; do not overwrite the first attempt until it disappears.
Define whether a repeated operation creates a new execution record, which result governs release, and how downstream consumers learn that genealogy changed. Test a product that enters rework during an MES outage and returns to the main route after service resumes.
Contract test before site acceptance
Build a test ledger that includes duplicates, out-of-order events, missing identifiers, stale recipes, unknown material lots, MES outage, controller restart, and a manual rework loop. For each event, specify whether the receiving system accepts, rejects, quarantines, or requests reconciliation.
The test should prove more than message delivery. It should prove that the two systems reach the same production truth after interruption without deleting evidence or creating a second completion.
Sources and further verification
The sources below support the factual frame of this article. Vendor case studies are treated as attributed claims, not independent performance validation.
- ISA-95 Series of Standards — International Society of Automation
- OPC UA Common Object Model: ISA-95 — OPC Foundation
- Systems Analysis Integration for Smart Manufacturing Operations — National Institute of Standards and Technology
- The ISA-95 Enterprise-Control System Integration Standards — International Society of Automation
Read the archive’s sourcing, correction, and evidence policy.