Integration of machines with ERP/MES systems enables the automatic transfer of information regarding production, downtime, shortages, and material consumption. However, simply reading data from the controller does not guarantee a reliable report. The data must still be assigned to the machine, time, order, and product.
This guide will help you define the scope of the integration, choose a communication method, and prepare a pilot project that will allow you to verify data quality before connecting additional lines.
Start with the question the data is meant to answer
The list of signals available in the PLC should not determine the scope of the project. First, you must determine what decision the system is intended to facilitate.
The objective may relate to:
- identify the causes of discrepancies between the plan and actual performance;
- tracking short breaks that are omitted from shift reports;
- to determine whether rejects are dependent on temperature, pressure, or the machine program;
- reducing the time required to process orders and track material usage.
The production manager needs information on the status of the order, the maintenance team analyzes alarms and downtime, and the quality department checks whether the inspection results correlate with the process parameters.
Collect data that helps you make decisions. A large number of readings will not improve the quality of reporting if no one knows what purpose they serve.
How are machines integrated with ERP and MES systems?
The most common information flow consists of four stages:

The controller transmits information about the device’s operation; the MES system links this information to the work order, product, batch, and operation; and the ERP system uses this data for planning, materials management, and production accounting.
This classification is consistent with the ISA-95 model. This standard defines the boundary between process control, production operations management, and a company’s business systems.
What data should be collected from machines?
The basic scope typically includes eight categories of information:
- machine status: production, idle, failure, changeover, manual mode;
- Result: number of cycles, defect-free units, shortages, and corrections;
- time: cycle time, dwell time, setup time, and program duration;
- alarms: code, activation time, acknowledgment, and reset;
- process parameters: temperature, pressure, velocity, flow rate, or torque;
- identification: formula, program, tool, batch number, or piece number;
- Quality: OK/NOK result, measurement value, tolerance, and error code;
- Consumption: energy, materials, gas, water, or compressed air.
You don’t always need the entire set. For piloting, five to ten well-defined signals are often sufficient.
For example, when analyzing short downtimes, the following information is needed: the machine’s status, the time it took for the status to change, the cycle counter, the active job, and the cause code entered by the operator.
A signal from the PLC must have context
A RUN value of 1 confirms that the controller has marked the machine as operational. The machine can then produce parts, run a test series, undergo calibration, or operate without material.
A reading intended for reporting purposes should include:
- the name of the machine and the signal;
- time of the event;
- value and unit;
- order, product, and operation;
- information regarding the accuracy of the reading;
- version of the signal description.
A consumption level of 18 kWh will only be meaningful once it has been assigned to a specific machine, period, order, and number of units produced.
All information should come from a single source and have a clearly identified owner: an order is typically created in the ERP system, the MES system is responsible for its execution, and the PLC provides information on the machine’s status. This division reduces the risk that the two systems will display different numbers of defect-free units.
Periodic reading or event logging
The tank temperature or energy consumption can be checked at set intervals. It is better to record the end of a cycle, an alarm, a status change, and a quality control result as they occur.
A reading that is too infrequent may miss a pause lasting a few seconds, while one that is too frequent puts a strain on the controller and the network, even though it does not improve the quality of the report.
For each signal, specify:
- how quickly things change;
- Should the system log every change?;
- what level of time measurement accuracy is required;
- What will happen to the reading if the connection is lost?
The PLC, vision system, machine-side module, and MES system should all use the same time. The NTP protocol is used to synchronize the clocks of network devices. The PTP protocol provides greater accuracy, provided that the devices and the plant’s infrastructure support it.

Resetting the counter quickly reveals integration errors
The PLC shows 12,480 cycles. The previous reading was 12,300, so the MES system adds 180 units.
After the controller is restarted, the counter resets to zero. The next reading is 40. Without the rule described above, the system might omit the new units, record a negative value, or double-count the previous production.
Proper integration records the counter value along with the time and information about the PLC’s restart. The module on the machine stores the data in the event of a network outage, and once the connection is restored, it sends the data along with the original event time.
Therefore, the integration test must include restarting the driver, interrupting network operation, and resending the same information.
OPC UA, MQTT, or Modbus
The choice depends on the age of the device, the available documentation, the type of data, and the number of systems that are to receive it.
| Method of Communication | Where does this fit? | What to Check |
| OPC UA | Newer PLC controllers, robots, CNC machines, vision systems, and measuring devices | Available data, license, certificates, connection limits, and controller load |
| Modbus TCP/RTU | Meters, inverters, counters, and older devices | Register addresses, value type, scale, unit, and byte order |
| MQTT | Transferring data from the production floor to several systems | Topic names, message format, acknowledgments, MQTT server, and resending |
| SCADA or OPC server | A facility where many PLCs are already connected to a single system | Event timing, history, delays, and data quality |
| Manufacturer Interface | The device has its own software or platform | Available features, limits, interface version, and offline mode functionality |
OPC UA
OPC UA can transmit values, alarms, events, and a description of the device’s structure. An MES or SCADA system can monitor selected data instead of constantly sending queries to the entire controller.
The standard includes mechanisms for authentication, encryption, and protecting messages from tampering. These security measures are effective only after accounts, certificates, and permissions have been properly configured.
Modbus
The Modbus protocol provides data via registers, inputs, and coils. The address alone does not clarify the meaning of the data. A register may represent a temperature, a counter, or an alarm, depending on the manufacturer’s documentation.
A register map should include the address, data type, unit, scale, range, and behavior after a restart. An error in the byte order or conversion factor may produce a result that appears valid but is incorrect.
MQTT
MQTT transmits messages through a central server called a broker. The field device publishes information, and the MES system, analytics tools, or other applications subscribe to the topics of interest to them.
The company must first define topic names, message formats, units, and how to handle duplicates. MQTT is a standard based on the publish-subscribe model.
OPC UA and MQTT can work together. The module reads data from the machine via OPC UA and then forwards selected events to several systems via MQTT.
How to Connect an Older Machine to the MES System
Start by checking the model of the PLC, CNC, and operator panel. You will also need information regarding communication ports, controller software, existing counters, and service restrictions.
Reading data from the current PLC requires the least amount of intervention. If the PLC does not provide data, you can use:
- input/output module;
- pulse counter;
- the component’s presence sensor;
- energy measurement;
- a local signal-receiving device.
The sensor detects machine movement or the presence of a product. It does not recognize the job and does not provide a reason for the stoppage. The operator can add this information by selecting the job and a simple event code.
The integration of machines with the MES system should not interfere with machine control unless there is a clear need to do so. Reading data and sending recipes or commands require separate permissions, tests, and responsibilities.
Integration of ERP, MES, and machine systems: a simple data breakdown
The following data is typically transferred from the ERP system to the MES system:
- tasks and their priorities;
- products, materials, and lots;
- material structures and the sequence of operations;
- planned quantity and date;
- standards regarding time and consumption.
MES transmits the following to the ERP system:
- the quantity produced;
- errors and corrections;
- actual consumption;
- start and end times;
- status of the operation;
- lot numbers and serial numbers.
Detailed alarms, temperature charts, and brief interruptions in operation—lasting just a few seconds—are typically stored in the MES, SCADA, or historical database. The ERP system needs the results for planning and accounting purposes, not every reading from the PLC.
Direct integration of machines with the ERP system works well for a single, one-time event, such as confirming the passage of a pallet. However, settling the entire process requires information about the order, full units, shortages, product changes, and adjustments. Such rules should be centralized in one place, most often in the MES system.

Security of the connection between the facility and the company’s systems
PLC controllers, SCADA systems, and operator panels should not be directly accessible from the Internet. CERT Polska notes that publicly accessible ICS and OT systems are targets of attacks that can affect real-world devices and processes.
The project should include:
- separating the production network from the office network;
- accounts with limited access;
- separate read and write permissions;
- controlled and logged remote access;
- copies of PLC programs and configurations;
- encryption and certificate management;
- change log.
A failure of the MES, ERP, or reporting system must not prevent control of the production line. NIST guidelines on operational technology (OT) emphasize that security measures must take into account the availability, reliability, and safety of the process.
How to Plan a Pilot Implementation of Machine Integration with an ERP/MES System
A good pilot project focuses on a single line, a single measurable problem, and a small set of metrics.
- Specify the result. Example: Identify the causes of 80% of short downtimes, or reduce shift handover time from 40 to 10 minutes.
- List the devices and systems. Consider controller models, protocols, documentation, ERP, MES, and SCADA systems, as well as the network.
- Prepare the data dictionary. Each signal should have a name, source, type, unit of measurement, frequency, and owner.
- Describe the rules. Determine when the machine is running, how the number of error-free units is calculated, and what a job change entails.
- Test the exceptions. Check for a PLC restart, a power outage, a switchover, a rejection, an operator correction, or a resend of data.
- Compare the result with the reference period. Measure the time spent preparing reports, meter accuracy, and the number of unaccounted-for outages.
The pilot phase should conclude with a determination of whether the data is sufficiently accurate, how much it costs to connect another machine, and who will be responsible for maintaining the connections.
How to Calculate the Value of an Integral
The easiest place to start is with the time spent preparing reports manually.
Eight people spend 25 minutes each day on this task. With 22 workdays, that amounts to about 73 hours per month. At a full hourly rate of 80 zł, preparing these reports costs about 5,867 zł per month.
Add the time spent on the following to the list:
- order and inventory adjustments;
- explaining the differences between the systems;
- searching for game histories;
- identifying the causes of downtime;
- correcting incorrect material accounting entries.
The results after launch should be compared with the period preceding the pilot phase. Otherwise, it will be difficult to distinguish the effect of integration from ordinary changes in production volume.
When a Common Integration Layer Is Needed
Connecting a single machine to a single system can work without a separate intermediate layer. The situation changes when a plant uses multiple brands of PLCs, has several production lines, employs different protocols, and has more than one data recipient.
The common layer can then:
- standardize names and units;
- combine different protocols;
- preserve data in the event of a power outage;
- monitor transmission errors;
- separate changes to the ERP system from the PLC control program;
- make a single data description available to multiple systems.
In this scenario, the explitia.Integration solution can handle the exchange of information between production, the ERP system, and other applications operating at the facility.
See how our integration platform can support your plant.
A credible number must have a history behind it
Good integration makes it possible to determine where each value comes from, when it was recorded, which job it relates to, and what happened to it during a network outage or a PLC restart.
For your first meeting with the automation specialist, IT specialist, and system integrator, prepare one problem to solve, a list of five to ten signals, and test scenarios. This scope will help determine whether the current controller is sufficient or whether an interface module, an additional sensor, or a common communication layer will be needed.
Frequently Asked Questions
Does every machine have to support the OPC UA protocol?
No. Data can be retrieved via the Modbus protocol, a SCADA system, an OPC server, a manufacturer’s interface, a gateway module, or additional inputs and outputs.
OPC UA or MQTT?
OPC UA effectively describes the data available on the machine. MQTT works well for sending messages to multiple systems. Both protocols can operate within a single installation.
Does MES replace the SCADA system?
No. The SCADA system monitors the process and collects signals from the automation system. The MES system links these signals to the work order, product, material, and production output.
Can the machine be connected without a PLC?
Yes. You can install a pulse counter, a workpiece sensor, an energy meter, or an I/O module. The range of information will then be more limited.
Which line should I start with?
From the production line where a measurable problem occurs, along with the available documentation and the person responsible for the outcome. As part of the pilot tests, the following should be checked: normal production, order changes, power outages, and controller restarts.
Got questions or considering an implementation? Speak with our expert.
Read other expert articles on explitia blog and improve your production.