{"data":{"slug":"industrial-communication-protocol-selection-guide","title":"Choosing an Industrial Communication Protocol: A Decision Guide","summary":"Pick an industrial protocol by the job it must do (cyclic control, device access, plant data, or telemetry), then match timing, data model, and security to…","category":{"slug":"modern-connectivity","name":"Modern Connectivity"},"url":"https://wiki.aspotomasyon.com/article/industrial-communication-protocol-selection-guide","markdown_url":"https://wiki.aspotomasyon.com/article/industrial-communication-protocol-selection-guide.md","api_url":"https://wiki.aspotomasyon.com/api/v1/articles/industrial-communication-protocol-selection-guide","published":"2026-10-11T11:46:21+00:00","modified":"2026-10-11T11:46:21+00:00","reading_minutes":9,"word_count":1767,"image":"https://wiki.aspotomasyon.com/assets/social/industrial-communication-protocol-selection-guide-bbf4fa97587d.png","html":"<p>Pick an industrial protocol by the job it must do (cyclic control, device access, plant data, or telemetry), then match timing, data model, and security to that job.</p><figure class=\"article-figure\"><img src=\"https://wiki.aspotomasyon.com/assets/diagrams/industrial-communication-protocol-selection-guide.svg\" width=\"1100\" height=\"460\" loading=\"lazy\" decoding=\"async\" alt=\"Choosing an Industrial Communication Protocol: A Decision Guide — Define the job → Set constraints → Match protocols → Prove the choice.\"><figcaption>Choosing an Industrial Communication Protocol: A Decision Guide — Define the job → Set constraints → Match protocols → Prove the choice. <a href=\"https://wiki.aspotomasyon.com/assets/diagrams/industrial-communication-protocol-selection-guide.svg\" target=\"_blank\" rel=\"noopener\">View full size</a></figcaption></figure><p>A plant rarely runs one protocol. A single packaging line can combine a fieldbus for drives, point-to-point links for sensors, an OPC UA server for supervisory systems, and an MQTT feed for cloud analytics. The question \"which protocol should we use?\" is therefore several smaller questions, each tied to a layer of the architecture and a specific consumer of the data.</p><p>This guide gives a four-question method, a comparison table, and the selection mistakes that most often lead to polling storms, unmaintainable tag lists, and fragile gateway chains. Protocol descriptions stay at the level of the published specifications; confirm details against the specification owners listed in the references and against your device documentation.</p><h2 id=\"start-with-the-job-not-the-protocol\">Start with the job, not the protocol</h2><p>Industrial protocols were designed for different jobs, and most selection problems come from using one for a job it was not designed to do. Name the job first. Almost every link in a plant fits one of four categories.</p><ul><li><strong>Cyclic control exchange</strong>: a controller exchanges process images with I/O, drives, and other controllers on a fixed cycle. Timing and determinism dominate. Typical choices are PROFINET, EtherNet/IP, and EtherCAT.</li><li><strong>Device access and diagnostics</strong>: configuration, calibration, and health data from individual instruments or sensors. Examples are HART on 4-20 mA loops and IO-Link for small sensors and actuators.</li><li><strong>Information access</strong>: supervisory systems, historians, and applications read, write, browse, and subscribe to a described set of values. This is the home territory of OPC UA client/server.</li><li><strong>Telemetry and event distribution</strong>: many consumers need the same data without each one polling the source. MQTT, Sparkplug on top of MQTT, and OPC UA PubSub are designed for this pattern.</li></ul><h2 id=\"comparison-at-a-glance\">Comparison at a glance</h2><p>The table summarizes the design intent of widely used protocols. It is a starting filter, not a ranking; real products implement subsets, and the supplier's conformance documentation decides what a specific device can do.</p><table><caption>Design intent and main cautions of common industrial protocols</caption><thead><tr><th scope=\"col\">Protocol</th><th scope=\"col\">Primary job</th><th scope=\"col\">Model and transport</th><th scope=\"col\">Main caution</th></tr></thead><tbody><tr><th scope=\"row\">Modbus RTU / TCP</th><td>Simple register access to devices</td><td>Request/response; registers and coils; serial or TCP</td><td>No built-in information model or security; meaning lives in a register map</td></tr><tr><th scope=\"row\">PROFINET</th><td>Cyclic control I/O and drives</td><td>Ethernet-based real-time exchange; device description files (GSDML)</td><td>Needs planned network topology and tooling aligned with the controller family</td></tr><tr><th scope=\"row\">EtherNet/IP</th><td>Cyclic control I/O and drives</td><td>CIP objects over standard Ethernet; implicit and explicit messaging; EDS files</td><td>Multicast and connection planning matter on larger networks</td></tr><tr><th scope=\"row\">EtherCAT</th><td>Fast, synchronized motion and I/O</td><td>Master-driven frames processed by each device in turn; distributed clocks</td><td>Topology and master choice constrain the architecture</td></tr><tr><th scope=\"row\">OPC UA client/server</th><td>Plant-wide data access with context</td><td>Information model, browse, read/write, subscriptions; certificates and encryption</td><td>Does not by itself provide hard real-time control timing</td></tr><tr><th scope=\"row\">OPC UA PubSub</th><td>One-to-many data distribution</td><td>Publisher/subscriber over UDP or through a broker</td><td>Requires agreed data-set definitions and key management</td></tr><tr><th scope=\"row\">MQTT with Sparkplug</th><td>Telemetry to many consumers</td><td>Broker-based publish/subscribe; Sparkplug defines topics and payloads</td><td>Plain MQTT defines no payload; without Sparkplug or a data contract, every consumer guesses</td></tr><tr><th scope=\"row\">HART</th><td>Digital data on analog loops</td><td>Digital signal carried on the 4-20 mA current loop</td><td>Slow; needs a HART-capable I/O or multiplexer path to reach the host</td></tr><tr><th scope=\"row\">IO-Link</th><td>Sensor and actuator parameters and diagnostics</td><td>Point-to-point link between a device and an IO-Link master</td><td>Needs a master and a fieldbus or Ethernet uplink for the data</td></tr></tbody></table><h2 id=\"a-four-question-selection-method\">A four-question selection method</h2><p>Work through these questions for each link in the architecture. Write the answers down; the record becomes the rationale for the network design and the first page of the interface specification.</p><ol><li><strong>What is the tolerable delay and variation?</strong> A drive that must follow a motion profile needs bounded, repeatable timing. A dashboard that refreshes every few seconds does not. Choose a control protocol only where timing is a requirement, and keep supervisory traffic off the control network segments where practical.</li><li><strong>Who defines the meaning of the data?</strong> If values arrive as raw registers, someone must maintain the scaling, units, and state meanings. Where reuse across vendors matters, prefer a protocol that carries a described model, such as OPC UA, and see <a href=\"https://wiki.aspotomasyon.com/article/opc-ua-companion-specifications\">OPC UA companion specifications</a> for standard models.</li><li><strong>What security and identity model is required?</strong> Decide whether sessions must be authenticated and encrypted, and whether the protocol can do that natively. Where it cannot, the compensating controls belong in the segmentation design, as described in <a href=\"https://wiki.aspotomasyon.com/article/ot-network-segmentation-purdue-model\">OT network segmentation and the Purdue model</a>.</li><li><strong>What does the lifecycle look like?</strong> Check device availability, engineering tools, certification programs, spare-part strategy, and the skills of the people who will maintain the link for the next decade. A technically elegant choice that nobody on site can diagnose is a poor choice.</li></ol><h2 id=\"match-protocols-to-plant-layers\">Match protocols to plant layers</h2><h3 id=\"field-and-cell-level\">Field and cell level</h3><p>Choose the real-time Ethernet protocol that your controller family supports natively; see <a href=\"https://wiki.aspotomasyon.com/article/profinet-ethernetip-industrial-ethernet-protocols\">PROFINET and EtherNet/IP compared</a>. Use <a href=\"https://wiki.aspotomasyon.com/article/io-link-smart-sensor-communication\">IO-Link</a> where many simple sensors need parameter management, and <a href=\"https://wiki.aspotomasyon.com/article/hart-protocol-device-management\">HART</a> where existing loops already carry digital diagnostics. Avoid forcing a telemetry protocol into this layer.</p><h3 id=\"supervisory-and-plant-level\">Supervisory and plant level</h3><p>Expose data to SCADA, historians, and MES through an information-oriented interface. <a href=\"https://wiki.aspotomasyon.com/article/opc-ua-protocol-overview\">OPC UA</a> fits when the consumer needs browsing, typed values, quality, and security. Use <a href=\"https://wiki.aspotomasyon.com/article/modbus-tcpip-protocol-deep-dive\">Modbus TCP</a> only when the device offers nothing better, and document the register map as an interface artifact.</p><h3 id=\"plant-to-enterprise-and-cloud\">Plant to enterprise and cloud</h3><p>Many consumers, intermittent links, and one-way data flows favor publish/subscribe. <a href=\"https://wiki.aspotomasyon.com/article/mqtt-sparkplug-industrial-iot-deep-dive\">MQTT with Sparkplug</a> or <a href=\"https://wiki.aspotomasyon.com/article/opc-ua-pub-sub-configuration\">OPC UA PubSub</a> distributes data without each consumer opening its own session to the source. Agree the topic structure and payload definitions as a governed contract, as discussed in <a href=\"https://wiki.aspotomasyon.com/article/unified-namespace-governance\">unified namespace governance</a>.</p><h2 id=\"common-selection-mistakes\">Common selection mistakes</h2><ul><li><strong>Using polling to simulate telemetry.</strong> Ten applications each polling the same registers load the controller and still miss changes between polls. Publish once, subscribe many times.</li><li><strong>Treating MQTT as a data model.</strong> MQTT moves bytes. Without Sparkplug or a written payload contract, each consumer invents its own interpretation.</li><li><strong>Assuming OPC UA implies real-time control.</strong> OPC UA client/server is built for information access. Timing-critical exchange belongs to the control protocol unless your devices explicitly support a deterministic OPC UA profile.</li><li><strong>Chaining translations.</strong> A Modbus to OPC UA to MQTT chain loses quality flags and timestamps unless every hop preserves them. See <a href=\"https://wiki.aspotomasyon.com/article/protocol-gateway-patterns\">protocol gateway patterns</a>.</li><li><strong>Ignoring time.</strong> Values from different sources only correlate if clocks agree; plan this early using <a href=\"https://wiki.aspotomasyon.com/article/industrial-time-synchronization-plan\">industrial time synchronization</a>.</li><li><strong>Choosing by gateway availability.</strong> A cheap gateway is a reason to review the architecture, not a reason to freeze it.</li></ul><h2 id=\"worked-example-and-how-to-record-the-decision\">Worked example and how to record the decision</h2><p>Record the decision per link in a short table: the consumer, the protocol, the data owner, the timing requirement, the security control, and the test that proves it. A reviewer should be able to challenge each row without reading the whole design.</p><aside class=\"article-callout\"><strong>Illustrative example</strong><p>Assume a packaging line with one PLC, several drives, a vision station, and about forty IO-Link sensors, feeding a plant historian and a cloud analytics service. A defensible pattern is: the controller's native real-time Ethernet protocol for drives and I/O; IO-Link masters for the sensors, with parameters managed through the controller; an OPC UA server for the historian and supervisory clients; and one edge gateway that publishes selected tags with MQTT and Sparkplug to the cloud. Each hop has a named owner and a test. The numbers are assumptions chosen to make the layers visible, not measured results.</p></aside><section class=\"engineering-check\"><h2 id=\"apply-this-to-your-project\">Apply this to your project</h2><ul><li>Record the job, consumer, protocol, data owner, and timing requirement for every communication link in the interface specification.</li><li>Confirm that each device supports the chosen protocol through its device description file (GSDML or EDS) or documented companion specification, not just a datasheet claim.</li><li>Measure latency and variation under realistic load for control links, and record the result as acceptance evidence.</li><li>Verify that quality flags and source timestamps survive every gateway or protocol translation.</li><li>Document how each link is secured, which network zone it belongs to, and which firewall rules it needs.</li><li>Test link loss and recovery, including what the consumer shows while data is stale.</li></ul><p><a href=\"https://wiki.aspotomasyon.com/guides\">Follow an ASP project guide</a> to connect the fundamentals with implementation and acceptance.</p></section><section class=\"article-faq\"><h2 id=\"frequently-asked-questions\">Frequently asked questions</h2><div class=\"faq-item\"><h3 id=\"is-opc-ua-replacing-modbus-profinet-and-ethernetip\">Is OPC UA replacing Modbus, PROFINET, and EtherNet/IP?</h3><p>Not as a general rule. The protocols serve different jobs. Control protocols exchange process images with deterministic timing, Modbus provides simple register access, and OPC UA provides described, secured information access. Plants usually run several together, and OPC UA often sits above the control layer rather than replacing it.</p></div><div class=\"faq-item\"><h3 id=\"should-i-choose-mqtt-or-opc-ua-for-sending-plant-data-to-the-cloud\">Should I choose MQTT or OPC UA for sending plant data to the cloud?</h3><p>Both can work. MQTT with Sparkplug suits many consumers and intermittent links with a lightweight broker. OPC UA suits rich information models and built-in security. Many designs use OPC UA locally and publish selected data through MQTT. Decide by consumer needs, governance, and who maintains each interface.</p></div><div class=\"faq-item\"><h3 id=\"can-mqtt-be-used-for-machine-control\">Can MQTT be used for machine control?</h3><p>MQTT is designed for telemetry and event distribution through a broker, with no timing guarantees suitable for closed-loop control. Use it for monitoring, commands that tolerate delay, and data distribution. Keep timing-critical control on the control network and its real-time protocol.</p></div><div class=\"faq-item\"><h3 id=\"which-protocol-should-a-new-machine-specification-require\">Which protocol should a new machine specification require?</h3><p>Specify by interface: a real-time protocol compatible with the plant's controller family for control, an OPC UA server with an agreed information model for supervisory data, and clear security and documentation deliverables. Avoid naming a single protocol for everything, and require device description files and a tested interface list.</p></div><div class=\"faq-item\"><h3 id=\"do-i-always-need-a-protocol-gateway\">Do I always need a protocol gateway?</h3><p>No. A gateway adds a translation point, a failure mode, and a mapping to maintain. Use one when a device cannot speak the required protocol, and keep it as the only translation between the two sides, with documented mappings and preserved quality and timestamps.</p></div></section><h2 id=\"continue-the-engineering-work\">Continue the engineering work</h2><ul><li><a href=\"https://wiki.aspotomasyon.com/article/protocol-gateway-patterns\">Protocol Gateway and Translation Patterns</a></li><li><a href=\"https://wiki.aspotomasyon.com/article/opc-ua-protocol-overview\">OPC UA Protocol Overview</a></li><li><a href=\"https://wiki.aspotomasyon.com/article/mqtt-sparkplug-industrial-iot-deep-dive\">MQTT and Sparkplug for Industrial IoT</a></li><li><a href=\"https://wiki.aspotomasyon.com/article/profinet-ethernetip-industrial-ethernet-protocols\">PROFINET and EtherNet/IP: Industrial Ethernet Protocols</a></li><li><a href=\"https://wiki.aspotomasyon.com/article/unified-namespace-governance\">Unified Namespace Governance: Ownership, Topics, and Change Control</a></li></ul><p>Browse the <a href=\"https://wiki.aspotomasyon.com/category/modern-connectivity\">related technical library</a> or follow an <a href=\"https://wiki.aspotomasyon.com/guides\">ASP project guide</a> to plan the implementation sequence.</p><figure class=\"article-figure\"><img src=\"https://wiki.aspotomasyon.com/assets/diagrams/modern-connectivity-context.svg\" width=\"1100\" height=\"460\" loading=\"lazy\" decoding=\"async\" alt=\"A generic industrial messaging path. A network or broker acknowledgment is not necessarily confirmation that a downstream business action succeeded.\"><figcaption>A generic industrial messaging path. A network or broker acknowledgment is not necessarily confirmation that a downstream business action succeeded. <a href=\"https://wiki.aspotomasyon.com/assets/diagrams/modern-connectivity-context.svg\" target=\"_blank\" rel=\"noopener\">View full size</a></figcaption></figure><h2 id=\"primary-references-and-further-reading\">Primary references and further reading</h2><p>Use the original specifications and product documentation for implementation details. Examples in this guide are illustrative engineering scenarios, not published project results.</p><ul><li><a href=\"https://reference.opcfoundation.org/\" rel=\"noopener noreferrer\" target=\"_blank\">OPC Foundation — OPC Unified Architecture online reference</a></li><li><a href=\"https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html\" rel=\"noopener noreferrer\" target=\"_blank\">OASIS — MQTT Version 5.0 specification</a></li><li><a href=\"https://sparkplug.eclipse.org/\" rel=\"noopener noreferrer\" target=\"_blank\">Eclipse Foundation — Sparkplug specification</a></li><li><a href=\"https://www.odva.org/technology-standards/key-technologies/ethernet-ip/\" rel=\"noopener noreferrer\" target=\"_blank\">ODVA — EtherNet/IP technology</a></li><li><a href=\"https://www.profibus.com/profinet-technology\" rel=\"noopener noreferrer\" target=\"_blank\">PROFIBUS &amp; PROFINET International — PROFINET technology</a></li><li><a href=\"https://www.ethercat.org/en/technology.html\" rel=\"noopener noreferrer\" target=\"_blank\">EtherCAT Technology Group — EtherCAT technology</a></li><li><a href=\"https://io-link.com/\" rel=\"noopener noreferrer\" target=\"_blank\">IO-Link Community — IO-Link technology</a></li></ul><!-- asp-editorial-202609 --><!-- asp-expansion-202610 -->","markdown":"# Choosing an Industrial Communication Protocol: A Decision Guide\n\n> Pick an industrial protocol by the job it must do (cyclic control, device access, plant data, or telemetry), then match timing, data model, and security to…\n\n- Canonical URL: https://wiki.aspotomasyon.com/article/industrial-communication-protocol-selection-guide\n- Publisher: ASP OTOMASYON A.Ş. (ASP OTOMASYON Wiki)\n- Category: Modern Connectivity\n- Published: 2026-10-11 · Updated: 2026-10-11\n- Reading time: 9 min · Language: English\n\nPick an industrial protocol by the job it must do (cyclic control, device access, plant data, or telemetry), then match timing, data model, and security to that job.\n\n![Choosing an Industrial Communication Protocol: A Decision Guide — Define the job → Set constraints → Match protocols → Prove the choice.](https://wiki.aspotomasyon.com/assets/diagrams/industrial-communication-protocol-selection-guide.svg)\n\n*Choosing an Industrial Communication Protocol: A Decision Guide — Define the job → Set constraints → Match protocols → Prove the choice.*\n\nA plant rarely runs one protocol. A single packaging line can combine a fieldbus for drives, point-to-point links for sensors, an OPC UA server for supervisory systems, and an MQTT feed for cloud analytics. The question \"which protocol should we use?\" is therefore several smaller questions, each tied to a layer of the architecture and a specific consumer of the data.\n\nThis guide gives a four-question method, a comparison table, and the selection mistakes that most often lead to polling storms, unmaintainable tag lists, and fragile gateway chains. Protocol descriptions stay at the level of the published specifications; confirm details against the specification owners listed in the references and against your device documentation.\n\n## Start with the job, not the protocol\n\nIndustrial protocols were designed for different jobs, and most selection problems come from using one for a job it was not designed to do. Name the job first. Almost every link in a plant fits one of four categories.\n\n- **Cyclic control exchange** : a controller exchanges process images with I/O, drives, and other controllers on a fixed cycle. Timing and determinism dominate. Typical choices are PROFINET, EtherNet/IP, and EtherCAT.\n- **Device access and diagnostics** : configuration, calibration, and health data from individual instruments or sensors. Examples are HART on 4-20 mA loops and IO-Link for small sensors and actuators.\n- **Information access** : supervisory systems, historians, and applications read, write, browse, and subscribe to a described set of values. This is the home territory of OPC UA client/server.\n- **Telemetry and event distribution** : many consumers need the same data without each one polling the source. MQTT, Sparkplug on top of MQTT, and OPC UA PubSub are designed for this pattern.\n\n## Comparison at a glance\n\nThe table summarizes the design intent of widely used protocols. It is a starting filter, not a ranking; real products implement subsets, and the supplier's conformance documentation decides what a specific device can do.\n\n| Protocol | Primary job | Model and transport | Main caution |\n| --- | --- | --- | --- |\n| Modbus RTU / TCP | Simple register access to devices | Request/response; registers and coils; serial or TCP | No built-in information model or security; meaning lives in a register map |\n| PROFINET | Cyclic control I/O and drives | Ethernet-based real-time exchange; device description files (GSDML) | Needs planned network topology and tooling aligned with the controller family |\n| EtherNet/IP | Cyclic control I/O and drives | CIP objects over standard Ethernet; implicit and explicit messaging; EDS files | Multicast and connection planning matter on larger networks |\n| EtherCAT | Fast, synchronized motion and I/O | Master-driven frames processed by each device in turn; distributed clocks | Topology and master choice constrain the architecture |\n| OPC UA client/server | Plant-wide data access with context | Information model, browse, read/write, subscriptions; certificates and encryption | Does not by itself provide hard real-time control timing |\n| OPC UA PubSub | One-to-many data distribution | Publisher/subscriber over UDP or through a broker | Requires agreed data-set definitions and key management |\n| MQTT with Sparkplug | Telemetry to many consumers | Broker-based publish/subscribe; Sparkplug defines topics and payloads | Plain MQTT defines no payload; without Sparkplug or a data contract, every consumer guesses |\n| HART | Digital data on analog loops | Digital signal carried on the 4-20 mA current loop | Slow; needs a HART-capable I/O or multiplexer path to reach the host |\n| IO-Link | Sensor and actuator parameters and diagnostics | Point-to-point link between a device and an IO-Link master | Needs a master and a fieldbus or Ethernet uplink for the data |\n\n## A four-question selection method\n\nWork through these questions for each link in the architecture. Write the answers down; the record becomes the rationale for the network design and the first page of the interface specification.\n\n1. **What is the tolerable delay and variation?** A drive that must follow a motion profile needs bounded, repeatable timing. A dashboard that refreshes every few seconds does not. Choose a control protocol only where timing is a requirement, and keep supervisory traffic off the control network segments where practical.\n2. **Who defines the meaning of the data?** If values arrive as raw registers, someone must maintain the scaling, units, and state meanings. Where reuse across vendors matters, prefer a protocol that carries a described model, such as OPC UA, and see [OPC UA companion specifications](https://wiki.aspotomasyon.com/article/opc-ua-companion-specifications) for standard models.\n3. **What security and identity model is required?** Decide whether sessions must be authenticated and encrypted, and whether the protocol can do that natively. Where it cannot, the compensating controls belong in the segmentation design, as described in [OT network segmentation and the Purdue model](https://wiki.aspotomasyon.com/article/ot-network-segmentation-purdue-model) .\n4. **What does the lifecycle look like?** Check device availability, engineering tools, certification programs, spare-part strategy, and the skills of the people who will maintain the link for the next decade. A technically elegant choice that nobody on site can diagnose is a poor choice.\n\n## Match protocols to plant layers\n\n### Field and cell level\n\nChoose the real-time Ethernet protocol that your controller family supports natively; see [PROFINET and EtherNet/IP compared](https://wiki.aspotomasyon.com/article/profinet-ethernetip-industrial-ethernet-protocols). Use [IO-Link](https://wiki.aspotomasyon.com/article/io-link-smart-sensor-communication) where many simple sensors need parameter management, and [HART](https://wiki.aspotomasyon.com/article/hart-protocol-device-management) where existing loops already carry digital diagnostics. Avoid forcing a telemetry protocol into this layer.\n\n### Supervisory and plant level\n\nExpose data to SCADA, historians, and MES through an information-oriented interface. [OPC UA](https://wiki.aspotomasyon.com/article/opc-ua-protocol-overview) fits when the consumer needs browsing, typed values, quality, and security. Use [Modbus TCP](https://wiki.aspotomasyon.com/article/modbus-tcpip-protocol-deep-dive) only when the device offers nothing better, and document the register map as an interface artifact.\n\n### Plant to enterprise and cloud\n\nMany consumers, intermittent links, and one-way data flows favor publish/subscribe. [MQTT with Sparkplug](https://wiki.aspotomasyon.com/article/mqtt-sparkplug-industrial-iot-deep-dive) or [OPC UA PubSub](https://wiki.aspotomasyon.com/article/opc-ua-pub-sub-configuration) distributes data without each consumer opening its own session to the source. Agree the topic structure and payload definitions as a governed contract, as discussed in [unified namespace governance](https://wiki.aspotomasyon.com/article/unified-namespace-governance).\n\n## Common selection mistakes\n\n- **Using polling to simulate telemetry.** Ten applications each polling the same registers load the controller and still miss changes between polls. Publish once, subscribe many times.\n- **Treating MQTT as a data model.** MQTT moves bytes. Without Sparkplug or a written payload contract, each consumer invents its own interpretation.\n- **Assuming OPC UA implies real-time control.** OPC UA client/server is built for information access. Timing-critical exchange belongs to the control protocol unless your devices explicitly support a deterministic OPC UA profile.\n- **Chaining translations.** A Modbus to OPC UA to MQTT chain loses quality flags and timestamps unless every hop preserves them. See [protocol gateway patterns](https://wiki.aspotomasyon.com/article/protocol-gateway-patterns) .\n- **Ignoring time.** Values from different sources only correlate if clocks agree; plan this early using [industrial time synchronization](https://wiki.aspotomasyon.com/article/industrial-time-synchronization-plan) .\n- **Choosing by gateway availability.** A cheap gateway is a reason to review the architecture, not a reason to freeze it.\n\n## Worked example and how to record the decision\n\nRecord the decision per link in a short table: the consumer, the protocol, the data owner, the timing requirement, the security control, and the test that proves it. A reviewer should be able to challenge each row without reading the whole design.\n\n**Illustrative example**\n\nAssume a packaging line with one PLC, several drives, a vision station, and about forty IO-Link sensors, feeding a plant historian and a cloud analytics service. A defensible pattern is: the controller's native real-time Ethernet protocol for drives and I/O; IO-Link masters for the sensors, with parameters managed through the controller; an OPC UA server for the historian and supervisory clients; and one edge gateway that publishes selected tags with MQTT and Sparkplug to the cloud. Each hop has a named owner and a test. The numbers are assumptions chosen to make the layers visible, not measured results.\n\n## Apply this to your project\n\n- Record the job, consumer, protocol, data owner, and timing requirement for every communication link in the interface specification.\n- Confirm that each device supports the chosen protocol through its device description file (GSDML or EDS) or documented companion specification, not just a datasheet claim.\n- Measure latency and variation under realistic load for control links, and record the result as acceptance evidence.\n- Verify that quality flags and source timestamps survive every gateway or protocol translation.\n- Document how each link is secured, which network zone it belongs to, and which firewall rules it needs.\n- Test link loss and recovery, including what the consumer shows while data is stale.\n\n[Follow an ASP project guide](https://wiki.aspotomasyon.com/guides) to connect the fundamentals with implementation and acceptance.\n\n## Frequently asked questions\n\n### Is OPC UA replacing Modbus, PROFINET, and EtherNet/IP?\n\nNot as a general rule. The protocols serve different jobs. Control protocols exchange process images with deterministic timing, Modbus provides simple register access, and OPC UA provides described, secured information access. Plants usually run several together, and OPC UA often sits above the control layer rather than replacing it.\n\n### Should I choose MQTT or OPC UA for sending plant data to the cloud?\n\nBoth can work. MQTT with Sparkplug suits many consumers and intermittent links with a lightweight broker. OPC UA suits rich information models and built-in security. Many designs use OPC UA locally and publish selected data through MQTT. Decide by consumer needs, governance, and who maintains each interface.\n\n### Can MQTT be used for machine control?\n\nMQTT is designed for telemetry and event distribution through a broker, with no timing guarantees suitable for closed-loop control. Use it for monitoring, commands that tolerate delay, and data distribution. Keep timing-critical control on the control network and its real-time protocol.\n\n### Which protocol should a new machine specification require?\n\nSpecify by interface: a real-time protocol compatible with the plant's controller family for control, an OPC UA server with an agreed information model for supervisory data, and clear security and documentation deliverables. Avoid naming a single protocol for everything, and require device description files and a tested interface list.\n\n### Do I always need a protocol gateway?\n\nNo. A gateway adds a translation point, a failure mode, and a mapping to maintain. Use one when a device cannot speak the required protocol, and keep it as the only translation between the two sides, with documented mappings and preserved quality and timestamps.\n\n## Continue the engineering work\n\n- [Protocol Gateway and Translation Patterns](https://wiki.aspotomasyon.com/article/protocol-gateway-patterns)\n- [OPC UA Protocol Overview](https://wiki.aspotomasyon.com/article/opc-ua-protocol-overview)\n- [MQTT and Sparkplug for Industrial IoT](https://wiki.aspotomasyon.com/article/mqtt-sparkplug-industrial-iot-deep-dive)\n- [PROFINET and EtherNet/IP: Industrial Ethernet Protocols](https://wiki.aspotomasyon.com/article/profinet-ethernetip-industrial-ethernet-protocols)\n- [Unified Namespace Governance: Ownership, Topics, and Change Control](https://wiki.aspotomasyon.com/article/unified-namespace-governance)\n\nBrowse the [related technical library](https://wiki.aspotomasyon.com/category/modern-connectivity) or follow an [ASP project guide](https://wiki.aspotomasyon.com/guides) to plan the implementation sequence.\n\n![A generic industrial messaging path. A network or broker acknowledgment is not necessarily confirmation that a downstream business action succeeded.](https://wiki.aspotomasyon.com/assets/diagrams/modern-connectivity-context.svg)\n\n*A generic industrial messaging path. A network or broker acknowledgment is not necessarily confirmation that a downstream business action succeeded.*\n\n## Primary references and further reading\n\nUse the original specifications and product documentation for implementation details. Examples in this guide are illustrative engineering scenarios, not published project results.\n\n- [OPC Foundation — OPC Unified Architecture online reference](https://reference.opcfoundation.org/)\n- [OASIS — MQTT Version 5.0 specification](https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html)\n- [Eclipse Foundation — Sparkplug specification](https://sparkplug.eclipse.org/)\n- [ODVA — EtherNet/IP technology](https://www.odva.org/technology-standards/key-technologies/ethernet-ip/)\n- [PROFIBUS & PROFINET International — PROFINET technology](https://www.profibus.com/profinet-technology)\n- [EtherCAT Technology Group — EtherCAT technology](https://www.ethercat.org/en/technology.html)\n- [IO-Link Community — IO-Link technology](https://io-link.com/)\n\n---\n\nCite the canonical article: https://wiki.aspotomasyon.com/article/industrial-communication-protocol-selection-guide (Choosing an Industrial Communication Protocol: A Decision Guide, ASP OTOMASYON, updated 2026-10-11).\n","headings":[{"id":"start-with-the-job-not-the-protocol","title":"Start with the job, not the protocol"},{"id":"comparison-at-a-glance","title":"Comparison at a glance"},{"id":"a-four-question-selection-method","title":"A four-question selection method"},{"id":"match-protocols-to-plant-layers","title":"Match protocols to plant layers"},{"id":"common-selection-mistakes","title":"Common selection mistakes"},{"id":"worked-example-and-how-to-record-the-decision","title":"Worked example and how to record the decision"},{"id":"apply-this-to-your-project","title":"Apply this to your project"},{"id":"frequently-asked-questions","title":"Frequently asked questions"},{"id":"continue-the-engineering-work","title":"Continue the engineering work"},{"id":"primary-references-and-further-reading","title":"Primary references and further reading"}],"faq":[{"question":"Is OPC UA replacing Modbus, PROFINET, and EtherNet/IP?","answer":"Not as a general rule. The protocols serve different jobs. Control protocols exchange process images with deterministic timing, Modbus provides simple register access, and OPC UA provides described, secured information access. Plants usually run several together, and OPC UA often sits above the control layer rather than replacing it."},{"question":"Should I choose MQTT or OPC UA for sending plant data to the cloud?","answer":"Both can work. MQTT with Sparkplug suits many consumers and intermittent links with a lightweight broker. OPC UA suits rich information models and built-in security. Many designs use OPC UA locally and publish selected data through MQTT. Decide by consumer needs, governance, and who maintains each interface."},{"question":"Can MQTT be used for machine control?","answer":"MQTT is designed for telemetry and event distribution through a broker, with no timing guarantees suitable for closed-loop control. Use it for monitoring, commands that tolerate delay, and data distribution. Keep timing-critical control on the control network and its real-time protocol."},{"question":"Which protocol should a new machine specification require?","answer":"Specify by interface: a real-time protocol compatible with the plant's controller family for control, an OPC UA server with an agreed information model for supervisory data, and clear security and documentation deliverables. Avoid naming a single protocol for everything, and require device description files and a tested interface list."},{"question":"Do I always need a protocol gateway?","answer":"No. A gateway adds a translation point, a failure mode, and a mapping to maintain. Use one when a device cannot speak the required protocol, and keep it as the only translation between the two sides, with documented mappings and preserved quality and timestamps."}],"references":[{"name":"OPC Foundation — OPC Unified Architecture online reference","url":"https://reference.opcfoundation.org/"},{"name":"OASIS — MQTT Version 5.0 specification","url":"https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html"},{"name":"Eclipse Foundation — Sparkplug specification","url":"https://sparkplug.eclipse.org/"},{"name":"ODVA — EtherNet/IP technology","url":"https://www.odva.org/technology-standards/key-technologies/ethernet-ip/"},{"name":"PROFIBUS & PROFINET International — PROFINET technology","url":"https://www.profibus.com/profinet-technology"},{"name":"EtherCAT Technology Group — EtherCAT technology","url":"https://www.ethercat.org/en/technology.html"},{"name":"IO-Link Community — IO-Link technology","url":"https://io-link.com/"}],"related":[{"slug":"pac-vs-plc-selection","title":"PAC vs PLC: Selecting the Right Controller Platform","summary":"The Programmable Automation Controller (PAC) emerged in the early 2000s as vendors crossed PLC reliability with PC-style capability: multi-tasking, larger…","category":{"slug":"automation-systems","name":"Automation Systems"},"url":"https://wiki.aspotomasyon.com/article/pac-vs-plc-selection","markdown_url":"https://wiki.aspotomasyon.com/article/pac-vs-plc-selection.md","api_url":"https://wiki.aspotomasyon.com/api/v1/articles/pac-vs-plc-selection","published":"2026-08-11T13:05:19+00:00","modified":"2026-09-13T11:07:23+00:00","reading_minutes":4,"word_count":787,"image":"https://wiki.aspotomasyon.com/assets/social/pac-vs-plc-selection-70d53334deb5.png"},{"slug":"industrial-wireless-comparison","title":"Industrial Wireless Technologies: Wi-Fi, 5G, LoRaWAN, WirelessHART","summary":"Industrial wireless is not one technology but a family, each engineered for a different problem: low-power battery sensors (LoRaWAN, WirelessHART, ISA100)…","category":{"slug":"modern-connectivity","name":"Modern Connectivity"},"url":"https://wiki.aspotomasyon.com/article/industrial-wireless-comparison","markdown_url":"https://wiki.aspotomasyon.com/article/industrial-wireless-comparison.md","api_url":"https://wiki.aspotomasyon.com/api/v1/articles/industrial-wireless-comparison","published":"2026-08-11T13:05:24+00:00","modified":"2026-09-13T11:07:23+00:00","reading_minutes":4,"word_count":735,"image":"https://wiki.aspotomasyon.com/assets/social/industrial-wireless-comparison-e9fbef47a20f.png"},{"slug":"modbus-register-map-validation","title":"Modbus Register Maps: Addressing, Data Types, and Byte Order","summary":"A Modbus connection can return data successfully while the application reads the wrong value.","category":{"slug":"modern-connectivity","name":"Modern Connectivity"},"url":"https://wiki.aspotomasyon.com/article/modbus-register-map-validation","markdown_url":"https://wiki.aspotomasyon.com/article/modbus-register-map-validation.md","api_url":"https://wiki.aspotomasyon.com/api/v1/articles/modbus-register-map-validation","published":"2026-09-13T11:07:23+00:00","modified":"2026-09-13T11:07:23+00:00","reading_minutes":2,"word_count":385,"image":"https://wiki.aspotomasyon.com/assets/social/modbus-register-map-validation-ed7ffd2a6fb5.png"},{"slug":"iiot-platform-selection","title":"IIoT Platform Selection: Capabilities and Evaluation Criteria","summary":"The industrial IoT platform market is crowded and loud: every vendor claims edge-to-cloud, digital twins, and AI. Yet the platform decision is one of the most…","category":{"slug":"modern-connectivity","name":"Modern Connectivity"},"url":"https://wiki.aspotomasyon.com/article/iiot-platform-selection","markdown_url":"https://wiki.aspotomasyon.com/article/iiot-platform-selection.md","api_url":"https://wiki.aspotomasyon.com/api/v1/articles/iiot-platform-selection","published":"2026-08-11T13:05:24+00:00","modified":"2026-09-13T11:07:23+00:00","reading_minutes":5,"word_count":908,"image":"https://wiki.aspotomasyon.com/assets/social/iiot-platform-selection-f8961916d31c.png"}],"citation":"ASP OTOMASYON. Choosing an Industrial Communication Protocol: A Decision Guide. Updated 2026-10-11. https://wiki.aspotomasyon.com/article/industrial-communication-protocol-selection-guide"}}