Connecting a machine to your ERP (enterprise resource planning system) does not mean streaming its signals into the ERP. It means sending a small set of events and counts: a cycle completed, the part count, when the machine ran or stopped, and which alarm stopped it. Spindle load, axis positions and temperatures stay on the shop floor.

That makes the work mostly a survey: what each machine can share, how that data is usually collected, and which part of it the ERP needs. Keep these tables open while you walk the floor. The last one is a blank inventory sheet.

What each machine can share

For CNC (computer numerical control) machine data collection, start at the machine, not in a software catalog. Read the control model and software version on the control’s screen. Look on the cabinet for an Ethernet port or a 9- or 25-pin serial port. Then ask the dealer which data options are installed, since some interfaces must be ordered or switched on.

What you find on the machineWhat you can usually readHow it is usually collected
Newer CNC control with MTConnect, built in or installed as an optionRun state (MTConnect calls it Execution), mode, active program, part count, spindle speed and load, alarmsA client sends web (HTTP) requests to the machine’s MTConnect agent; usually no extra hardware
Newer CNC control or PLC (programmable logic controller) with an OPC UA (OPC Unified Architecture) serverWhatever the server exposes. Machine tools that follow OPC 40501 share a common set: identity, state, jobs, tools, errors and warnings.1An OPC UA client with a read-only account
CNC with Ethernet but only the control maker’s own protocol, such as FANUC FOCASAxis and spindle data, alarms and operator messages, program files, tool life, diagnostics2An adapter: software that reads the vendor protocol and passes the values on as MTConnect or OPC UA3
PLC-run equipment: presses, ovens, washers, robot cellsPLC tags or registers, such as cycle done, counts, faults and temperaturesThe PLC’s own protocol (Modbus TCP, serial Modbus RTU or EtherNet/IP4) or its OPC UA server. Get the tag list or register map first.
Older CNC with only an RS-232 serial port, used for DNC (direct numerical control) program transferPrograms only, unless the program prints data: a macro print command (DPRNT on FANUC controls) can send a line such as a part count at each cycle endA serial-to-Ethernet converter or the DNC computer captures those lines
No usable port: manual machines, relay logic, very old controlsRunning, idle or off; stack-light color; cycle or part countsDiscrete I/O (input/output) and add-on sensors: a digital input wired to a cycle-end relay or the stack-light lamps, a current clamp on the main motor cable, a vibration sensor, a proximity switch on a chute

What a control shares depends on its model, software version and options, so treat the middle column as a starting list. The quickest test for MTConnect is a browser: if the machine runs an agent, its /current page shows the latest values.5

The last two rows are where legacy machine integration needs extra hardware. Add-on sensors work from outside the control, so they fit any machine. They give states, run time and counts, but never program names or alarm text. Add a stop reason the operator picks on a tablet, and you also get downtime by reason.

A camera aimed at the stack light or the door can classify state too; Video Analytics vs Machine Vision explains which camera setup fits which job. Anything mounted inside an electrical cabinet is work for a qualified electrician.

MTConnect vs OPC UA

A newer control may offer one of these standards or both. MTConnect, from the MTConnect Institute, is a data dictionary and a read-only interface for manufacturing equipment. Its latest released edition is Version 2.7, adopted on 16 February 2026.6 OPC UA, from the OPC Foundation, is a general industrial protocol that reads, writes and secures the connection itself.7

MTConnectOPC UA
Built forManufacturing equipment: machine tools, ovens, sensor units, bar feeders3Industrial devices of all kinds, from microcontrollers and PLCs to cloud servers7
DirectionRead-only: a request has no side effects on the agent or the machine3Reads and writes current and historical data7
How a client gets dataWeb requests to an agent: /probe lists what the machine has, /current returns the latest values, /sample returns a time series. Answers come as XML; the Institute’s open-source C++ agent can also return JSON.35A client-server session, or publish-subscribe7
Data modelOne dictionary for all equipment, with names such as Execution, PartCount and Program, and alarms reported as ConditionsAny model. Companion specifications fix one per industry, such as OPC 40501 for machine tools.1
SecurityRead-only, so a client cannot change the machine. HTTPS is allowed.3 Keep the agent on the machine network.X.509 certificates for each client and server, signed and encrypted messages, an access audit trail7

The two also overlap. In 2019 a joint working group of the OPC Foundation and the MTConnect Institute released a companion specification that applies the MTConnect data model to OPC UA.8

The practical rule: use whichever your control offers with the least setup, and ask software vendors which of the two they read for your control. On a CNC whose agent already answers in a browser, MTConnect is the quicker start. On a robot cell whose PLC already serves OPC UA to a SCADA (supervisory control and data acquisition) system, stay with OPC UA.

What goes to the ERP and what stays local

The ERP plans and costs work orders. It needs to know when an operation ran, how many good and scrap parts it made, and why the machine stopped. Anything faster than that belongs in a local database next to the machines.

DataHow often it changesWhat the ERP receives
Cycle complete and part countOnce per cycleCounts per operation, summed per job or shift; good quantity once it is confirmed (see the next section)
Job start and end, tied to a work order operationA few events per jobActual start, end and run time on the production confirmation
Run and stop changes, alarmsEach time they changeStop records (start, end, alarm or operator reason), summed as downtime minutes by reason
Scrap and its reasonWhen an operator records itScrap quantity with a reason code
Polled state, spindle load, feed override, temperatures, axis positionsEvery second or fasterNothing: these stay in the local database and dashboards

One value logged once a second makes 86,400 rows a day, per signal, per machine.

A small stack sits between the machines and the ERP. An edge gateway, a small industrial PC at the cell, reads each machine in its own protocol. It adds time stamps and can buffer readings already collected from the machines while the connection to the ERP is down. Gaps on the machine-to-gateway link still need reconciliation. Some setups also publish the values to an MQTT broker, a lightweight publish-subscribe hub, so several programs can use them.9

A local database keeps the raw values and the stop records. A small service then posts summaries to the ERP through its API (application programming interface), an import table or a scheduled file. If you run an MES (manufacturing execution system), stop records may go there first.

None of these parts has to come from the machine builder, which keeps a machine-to-ERP integration vendor-neutral. Once the ERP holds job times, counts and stops, reports can come straight from its exports, as How to Automate Production Reports from ERP Exports describes.

From a machine count to an ERP confirmation

A count on a control is not a production confirmation. Four things have to be settled before the ERP books a quantity against a work order.

What the control actually counts. MTConnect defines part counts and cycle counts as separate observation types, each with its own subtypes, among them ALL, GOOD and BAD; a count published without a subtype means ALL.10 A cycle is not a part, since one cycle may yield several parts or several cycles one part, and a count that means ALL is production, not good production. Read the agent’s /probe response, or the PLC tag list, to see which counts your control publishes, and ask the builder what each one increments. Where a control does publish a GOOD count, find out which rule sets it before you treat it as good quantity.

Who confirms quality. Good quantity comes from whoever judges the parts: the operator at the station, a gauge, or a downstream inspection step. Decide where that judgement is recorded, and let the machine supply only what it measures. Scrap keeps its own entry with a reason code, as in the table above.

Which order the count belongs to. The control usually does not know the work order. Something has to make the link: the operator picks the job on a terminal or tablet, an MES assigns it, or a table you maintain maps the active program to an operation. The program name alone is not enough, because the same program can run for several orders. It identifies the operation only where that mapping is written down and kept current, and someone has to own it when programs change.

What happens around resets and outages. Counters are usually cumulative and reset on a program change, a shift or a power cycle, so the gateway stores the last reading and sends the difference. A value lower than the last one means a reset, not negative output. It does not tell you what the machine made while the link was down: that interval has to be reconciled against the operator’s tally or the next booking, and marked as uncertain rather than filled in by arithmetic. Give each confirmation a permanent identifier when it is created, repeat that identifier on every retry, and have the ERP ignore a confirmation it has already posted. Then a dropped connection costs a retry, not a double booking.

Security basics

Every data connection is a new path into the shop floor. In May 2025, CISA (the US Cybersecurity and Infrastructure Security Agency), the FBI, the EPA and the Department of Energy published five primary mitigations for operational technology (OT).11 Four apply directly to machine connections; the last two rows add protocol points. NIST SP 800-82 Revision 3 covers the same ground in depth.12

BasicWhat it means for machine connections
Keep OT off the public internetNo port forwarding to a control, PLC or HMI (operator panel).
Secure remote accessRemote support goes through a VPN (virtual private network) with phishing-resistant multi-factor sign-in that your IT team controls.11
Change default passwordsOn gateways, switches, HMIs and controls. CISA notes that recently targeted systems used default or easily guessable passwords.11
Segment IT and OT networksMachines and gateways sit on their own network or VLAN (virtual LAN) behind a firewall. CISA suggests a demilitarized zone (DMZ) for passing control data to enterprise systems.11
Read onlyGive OPC UA and vendor-protocol clients read access only. Write nothing to a control or PLC.
Know which protocols have no loginPlain Modbus TCP (port 502) has no encryption or authentication. The Modbus/TCP Security protocol adds both through TLS (Transport Layer Security), on port 802.13

Machine inventory template

Copy this table into a spreadsheet and fill one row per machine, even those you expect to have nothing to share. The columns also cover several high-priority fields in the 2025 OT asset inventory guidance from CISA and partner agencies: manufacturer, model, IP address, communication protocols and physical location.14

Machine IDLocationMake and modelControl and software versionYearPorts and data optionsNetwork and IP addressData wantedUsed by
VMC-03 (illustrative)Bay 2Vertical machining center; model from the nameplateFANUC; version from the system screen2016Ethernet; FOCAS available; MTConnect option not installedOffice network, 10.0.20.43Run state, part count, alarmsCell lead, planner

The sample row is illustrative: every value is an assumption.

Fill “Data wanted” with the numbers you need, such as run state, part count and alarms. Fill “Used by” with the people who will use them, such as the shift lead and the planner, and mark the bottleneck machine.

Then start small: connect one or two machines read-only, ideally a newer control and the bottleneck. Compare their counts with paper travelers or ERP bookings for a couple of weeks. Once the counts agree, send data to the ERP and add machines by control type, since machines with the same control share one connector setup.

Footnotes

  1. umati, “OPC 40501 UA for Machine Tools”, accessed 2026. https://umati.org/industries_machine-tools/ ↩ ↩2

  2. FANUC America, “FOCAS2 Library”, accessed 2026. https://www.fanucamerica.com/products/software/focas2-library ↩

  3. MTConnect Institute, “MTConnect Standard Part 1.0 – Fundamentals”, version 2.5.0, January 2026 (the latest edition published as PDF). https://docs.mtconnect.org/MBSD_MTConnect_Part_1_2-5-0.pdf ↩ ↩2 ↩3 ↩4 ↩5

  4. ODVA, “EtherNet/IP”, accessed 2026. https://www.odva.org/technology-standards/key-technologies/ethernet-ip/ ↩

  5. MTConnect Institute, “MTConnect REST API and WebSockets”, MTConnect C++ Agent wiki on GitHub, accessed 2026. https://github.com/mtconnect/cppagent/wiki/MTConnect-REST-API-and-WebSockets ↩ ↩2

  6. MTConnect Institute, “Version 2.7 (February 2026)”, release of the normative MTConnect SysML model on GitHub, adopted 16 February 2026, published 27 February 2026. https://github.com/mtconnect/mtconnect_sysml_model/releases/tag/v2.7 ↩

  7. OPC Foundation, “Unified Architecture”, accessed 2026. https://opcfoundation.org/about/opc-technologies/opc-ua/ ↩ ↩2 ↩3 ↩4 ↩5

  8. OPC Foundation, “MTConnect” (MTConnect OPC UA Companion Spec V2.00, released 2019), accessed 2026. https://opcfoundation.org/markets-collaboration/mtconnect/ ↩

  9. MQTT.org, “MQTT: The Standard for IoT Messaging”, accessed 2026. https://mqtt.org/ ↩

  10. MTConnect Institute, “PartCount” and “CycleCount”, MTConnect SysML Model Documentation, Version 2.7, accessed 2026. https://model.mtconnect.org/Version2.7/ObservationInformationModel/ObservationTypes/EventTypes/PartCount/ ↩

  11. CISA, FBI, EPA and DOE, “Primary Mitigations to Reduce Cyber Threats to Operational Technology”, May 2025. https://www.cisa.gov/resources-tools/resources/primary-mitigations-reduce-cyber-threats-operational-technology ↩ ↩2 ↩3 ↩4

  12. NIST, “SP 800-82 Rev. 3: Guide to Operational Technology (OT) Security”, September 2023. https://csrc.nist.gov/pubs/sp/800/82/r3/final ↩

  13. Modbus Organization, “MODBUS/TCP Security Protocol Specification”, MB-TCP-Security-v36, 2021. https://www.modbus.org/file/secure/modbussecurityprotocol.pdf ↩

  14. CISA, Australian Signals Directorate’s Australian Cyber Security Centre and partner agencies, “Foundations for OT Cybersecurity: Asset Inventory Guidance for Owners and Operators”, 2025. https://www.cyber.gov.au/business-government/secure-design/operational-technology-environments/foundations-for-ot-cybersecurity-asset-inventory-guidance-for-owners-and-operators ↩