TL;DR — Shop floor data integration is the layer between machines and the systems that make decisions (ERP, MES, BI, maintenance). There are four practical methods: direct protocol reads (Modbus, OPC-UA, vendor drivers), an edge gateway that normalises and buffers, a broker or middleware layer (typically MQTT, often organised as a unified namespace), and file or database bridges for systems that offer nothing better. A workable architecture keeps three rules: read-only at the controller, buffer at the edge so an outage costs no data, and one canonical name per signal so "Line 1 count" means the same thing in every downstream system. The most expensive mistake is integrating to a single vendor's cloud with no local buffer — under South African conditions that architecture loses data every time the link or the power drops.
Why integration, not collection, is where projects stall
Most plants can get a number off a machine. What breaks is everything after that: the number arrives in a format nobody agreed on, under a name that means something different in the ERP, at a moment when the network was down, and with no way to tell a missing reading from a zero. Six months later there are three sources of truth for production count and a standing argument about which is right.
That is an integration problem, not a sensor problem. It is worth separating clearly from shop floor data collection, which is about getting a trustworthy signal in the first place. Collection asks "is this number real?" Integration asks "can every system that needs this number get it, name it the same way, and know when it is missing?"