<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Shopfloor: Industrial technology, indexed.</title><link>https://shopfloor.space/</link><description>Industrial technology index and original publication.</description><language>en</language><lastBuildDate>2026-09-21T00:00:00+00:00</lastBuildDate><atom:link href="https://shopfloor.space/feed.xml" rel="self" type="application/rss+xml"/><atom:link href="https://pubsubhubbub.superfeedr.com" rel="hub"/><ttl>60</ttl><item><title>The unified namespace, explained</title><link>https://shopfloor.space/articles/unified-namespace-explained/</link><guid isPermaLink="false">shopfloor:original:unified-namespace-explained</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>One broker, one topic tree, every producer and consumer decoupled. What a UNS is, what it demands, and where it goes wrong.</description><content:encoded><![CDATA[<p>The unified namespace (UNS) is an architecture, not a product: a single MQTT broker (or broker cluster) acting as the central nervous system for the enterprise, where every data producer publishes once and every consumer subscribes to what it needs. No point-to-point interfaces, no nightly batch syncs, no fifteen copies of the same tag in different databases. It is the logical endpoint of MQTT + Sparkplug thinking applied at enterprise scale.</p>
<h3>The structure</h3>
<p>A UNS has four parts. <strong>Producers</strong> — edge gateways, SCADA connectors, MES events, even ERP updates — publish into a governed topic hierarchy, typically Sparkplug B for OT data and agreed JSON schemas for IT events. <strong>The namespace itself</strong> — the broker plus the topic taxonomy, ideally mirroring ISA-95 equipment hierarchies so <code>site/line/cell/asset</code> means the same thing to everyone. <strong>Consumers</strong> — historians, dashboards, MES, analytics, data lakes — subscribe without knowing or caring which gateway produced the data. And <strong>governance</strong> — naming conventions, schema management, access control, and lifecycle rules, without which the namespace degrades into a data swamp with lower latency.</p>
<h3>Why it works — when it works</h3>
<p>The payoff is decoupling. Adding a new dashboard does not touch the PLC program. Replacing a historian does not rewire the plant. A new site comes online by publishing to its branch of the tree. Store-and-forward at the edge plus persistent sessions give resilience that polled architectures cannot match, and the broker becomes a natural zone boundary for OT segmentation.</p>
<p>Tooling has matured around the pattern. Industrial DataOps platforms such as <a href="https://www.highbyte.com/">HighByte</a> model, contextualize, and govern data flowing into the namespace from heterogeneous sources. Connectivity and integration software such as <a href="https://opcrouter.com.tr/">OPC Router</a> bridges the awkward middle — PLC, SCADA, SQL, and SAP data that must be shaped and routed into MQTT topics — with project tooling and local-language support. And digital-transformation practices such as <a href="https://aspdijital.com/">ASP Dijital</a> deliver UNS programs end to end across IIoT, cybersecurity, and AI analytics.</p>
<h3>Where it goes wrong</h3>
<p>Three failure modes dominate. <strong>No governance</strong>: fifteen spellings of the same asset, three timestamp conventions, and topics nobody dares delete. Fix with a namespace standard, a schema registry, and someone whose job title includes the word &quot;namespace.&quot; <strong>Treating the broker as a database</strong>: the UNS carries current state and events, not history — historians and lakes still exist downstream. <strong>Big-bang rollout</strong>: boiling the enterprise on day one. Start with one line, one set of consumers, and a namespace design you are willing to revise; expand when the pattern earns it.</p>
<h3>References</h3>
<ul><li><a href="https://sparkplug.eclipse.org/">Eclipse Sparkplug — specification and resources</a></li><li><a href="https://mqtt.org/">MQTT: the standard for IoT messaging</a></li><li><a href="https://blog.opto22.com/optoblog">OptoBlog</a> — IIoT, MQTT, and edge architecture writing</li></ul>]]></content:encoded><category>Industrial IoT / IIoT</category><category>MQTT</category><category>Sparkplug B</category><category>MES</category></item><item><title>Time-Sensitive Networking: a primer for automation engineers</title><link>https://shopfloor.space/articles/tsn-primer-converged-ethernet/</link><guid isPermaLink="false">shopfloor:original:tsn-primer-converged-ethernet</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>Scheduled traffic, preemption, and time sync on standard Ethernet — what TSN guarantees, what it still needs, and where it meets the fieldbus.</description><content:encoded><![CDATA[<p>Time-Sensitive Networking is a set of IEEE 802.1 standards that add determinism to standard Ethernet: bounded latency, minimal jitter, and guaranteed delivery for scheduled streams — on the same wire as best-effort IT traffic. The goal is a converged plant network where control, safety, audio/video, and office data coexist with provable behavior instead of separate physical infrastructures.</p>
<h3>The mechanisms that matter</h3>
<ul><li><strong>Time synchronization (802.1AS)</strong> — a profile of PTP giving every bridge and endpoint a shared clock, typically sub-microsecond. Everything else schedules against it.</li><li><strong>Scheduled traffic (802.1Qbv)</strong> — time-aware gates on egress queues open and close on a repeating cycle, so critical frames transmit in reserved windows. This is the core determinism mechanism.</li><li><strong>Frame preemption (802.1Qbu / 802.3br)</strong> — express traffic can interrupt a large best-effort frame mid-transmission, bounding the delay a control frame waits behind a file transfer.</li><li><strong>Stream reservation (Qat/Qcc) and redundancy (CBg/FRER, 802.1CB)</strong> — admission control so the network refuses streams it cannot guarantee, and seamless redundancy by duplicating frames over disjoint paths.</li><li><strong>Per-stream filtering (802.1Qci)</strong> — policing that drops misbehaving streams before they disturb the schedule. Your safety case will cite this one.</li></ul>
<h3>TSN and the fieldbus protocols</h3>
<p>TSN standardizes the plumbing, not the application layer. PROFINET over TSN, EtherNet/IP with TSN, and OPC UA FX (Field eXchange, targeting controller-to-controller and controller-to-device communication) all ride the same mechanisms with different upper layers. EtherCAT&#x27;s approach differs architecturally — its on-the-fly processing already delivers determinism — but it coexists on TSN infrastructure for converged backbones. The practical consequence: TSN convergence happens at the network design layer first (switches, clocks, schedules) and the protocol migrations follow over equipment lifecycles.</p>
<h3>What to do this year</h3>
<p>Specify TSN-capable managed switches with 802.1AS/Qbv/Qbu support on new backbone builds even if you schedule nothing yet — you are buying the option. Keep an accurate topology and latency budget; TSN engineering punishes undocumented daisy chains. Pilot scheduled traffic on one non-critical converged segment before touching motion networks. And treat multi-vendor schedule configuration (Qcc, centralized vs distributed models) as the immature part: single-vendor islands with standard interconnects are today&#x27;s sane deployment shape.</p>
<h3>References</h3>
<ul><li><a href="https://www.ieee802.org/1/pages/tsn.html">IEEE 802.1 Time-Sensitive Networking (TSN)</a></li><li><a href="/articles/industrial-ethernet-field-guide/">A field guide to industrial Ethernet</a> — Shopfloor</li><li><a href="https://opcfoundation.org/about/opc-technologies/opc-ua/">OPC Unified Architecture (OPC UA) — technology overview</a></li></ul>]]></content:encoded><category>TSN</category><category>Industrial Networking</category><category>PROFINET</category><category>EtherNet/IP</category><category>EtherCAT</category></item><item><title>Sparkplug B in one page</title><link>https://shopfloor.space/articles/sparkplug-b-in-one-page/</link><guid isPermaLink="false">shopfloor:original:sparkplug-b-in-one-page</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>The topic namespace, birth certificates, and state awareness that turn MQTT from a transport into a plug-and-play OT data fabric.</description><content:encoded><![CDATA[<p>MQTT gives you a broker and a topic tree. It says nothing about what topics should exist, what payloads mean, or whether a device is alive. Every project answers those questions differently, and that is why two factories running &quot;MQTT&quot; often cannot exchange a single tag without custom integration work.</p>
<p>Sparkplug B is the missing contract. Maintained as an Eclipse specification, it defines three things on top of MQTT: a topic namespace, a payload definition, and a session-state mechanism. Adopt all three and any compliant edge node can appear on the broker, describe itself, stream data, and disappear cleanly — with any compliant host application picking it up without per-device configuration.</p>
<h3>The namespace</h3>
<p>Every Sparkplug message lives under a structured topic:</p>
<pre><code>spBv1.0 / &lt;group&gt; / &lt;message_type&gt; / &lt;edge_node&gt; [/&lt;device&gt;]</code></pre>
<ul><li><strong>group</strong> organizes nodes logically: a line, cell, or site.</li><li><strong>message_type</strong> is one of a fixed set: birth (<code>NBIRTH</code>, <code>DBIRTH</code>), death (<code>NDEATH</code>, <code>DDEATH</code>), data (<code>NDATA</code>, <code>DDATA</code>), and commands (<code>NCMD</code>, <code>DCMD</code>).</li><li><strong>edge_node</strong> is the gateway or device managing the MQTT session; <strong>device</strong> is an optional downstream asset behind it (a PLC, drive, or sensor cluster hanging off one gateway).</li></ul>
<p>Because the structure is fixed, a host application can subscribe with wildcards and learn the whole fleet from the topic stream alone.</p>
<h3>Birth and death certificates</h3>
<p>State awareness is Sparkplug&#x27;s core trick, and it rests on two MQTT features: retained messages and Last Will and Testament.</p>
<p>When an edge node connects, it publishes an <code>NBIRTH</code> message listing every metric it will ever send — names, datatypes, engineering units, and current values. The broker stores this as a retained message, so any host that subscribes later immediately receives the node&#x27;s full self-description. Devices behind the node do the same with <code>DBIRTH</code>.</p>
<p>When the node connects, it also registers a will message: <code>NDEATH</code>. If the TCP session drops for any reason, the broker publishes the death certificate on the node&#x27;s behalf. Nobody polls for health; liveness is a property of the session. The node&#x27;s metrics carry a quality flag, and on death the host marks everything from that node stale.</p>
<p>This is what &quot;report by exception with full state on birth&quot; means in practice: birth gives the complete picture, data messages carry only what changed, and death invalidates it all. Bandwidth stays low and state stays unambiguous.</p>
<h3>The payload</h3>
<p>Sparkplug B payloads are Google Protocol Buffers with a fixed schema: a timestamp, a list of metrics (name, datatype, value, quality, timestamp), and optional properties and template definitions. <code>B</code> distinguishes this binary encoding from Sparkplug A (now deprecated), which used a different payload format.</p>
<p>Templates deserve a mention: a birth message can define reusable metric templates (say, &quot;Motor&quot; with current, temperature, and vibration), and devices then instantiate them. Consumers that understand templates get structured objects; consumers that don&#x27;t still see flat metric names.</p>
<h3>Commands and the host application</h3>
<p>Traffic is bidirectional. The <strong>host application</strong> — SCADA, historian, MES connector, or UNS consumer — subscribes to birth, data, and death traffic and publishes command messages (<code>NCMD</code>/<code>DCMD</code>) back through the broker. A primary-host mechanism lets edge nodes know whether their designated host is online, so they can buffer (store and forward) instead of publishing into the void.</p>
<p>Note what Sparkplug deliberately does not do: it does not browse, it does not model relationships between assets, and it does not replace request/response reads of individual registers. For that, pair it with something like OPC UA or keep the device&#x27;s native protocol below the edge node. Sparkplug owns the edge-to-enterprise path: one namespace, many producers, many consumers.</p>
<h3>When to use it</h3>
<p>Sparkplug B fits when you have many data producers, many consumers, unreliable networks, and a mandate to stop writing point-to-point integrations. It is weakest as a device-configuration protocol and as a deterministic control bus — it rides TCP through a broker, so it will never be EtherCAT.</p>
<p>If you remember one sentence: <strong>MQTT moves bytes; Sparkplug defines what the bytes mean and who is alive to send them.</strong></p>]]></content:encoded><category>Sparkplug B</category><category>MQTT</category><category>Industrial IoT / IIoT</category></item><item><title>SCADA, MES, and historian: where each one ends</title><link>https://shopfloor.space/articles/scada-mes-historian-where-each-ends/</link><guid isPermaLink="false">shopfloor:original:scada-mes-historian-where-each-ends</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>Three systems that all &quot;collect plant data&quot; but answer different questions. Boundaries, handoffs, and how to stop buying two of them for one job.</description><content:encoded><![CDATA[<p>Ask three vendors where SCADA ends and MES begins and you will get four answers — usually drawn to favor whatever they sell. The boundaries below are the ones that survive contact with real plants.</p>
<h3>SCADA: the present tense</h3>
<p>SCADA supervises and controls: live visualization, alarming, operator actions, and short-term trending. Its time horizon is now — seconds to shifts. It talks to controllers (via drivers, OPC UA, or native protocols), keeps operators informed, and records what happened well enough to run the process. It is not a system of record for quality, genealogy, or compliance, even when it stores months of trend data.</p>
<h3>Historian: the memory</h3>
<p>The process historian stores high-resolution time-series data for years and serves it back fast: ad-hoc trends, calculations, and exports for engineers. Where SCADA trends answer &quot;what is happening,&quot; the historian answers &quot;what happened, exactly, and what does it correlate with.&quot; Classic names in this space include AVEVA PI System and Proficy Historian — the latter now part of <a href="https://www.velotic.com/">Velotic</a>, the independent industrial software company formed around the former Proficy, Kepware, and ThingWorx portfolios. Modern alternatives include open time-series databases, but the historian&#x27;s compression, interpolation, and process-aware querying remain hard to replicate casually.</p>
<h3>MES: the operations record</h3>
<p>MES manages manufacturing operations: orders, scheduling, dispatch, genealogy, quality checks, and performance (OEE). Its horizon is shifts to months, and its data model is lots, batches, and serial numbers — not tags. MES consumes SCADA/historian data (counts, statuses, process values) and attaches it to production context: this tag value belonged to that work order at that station. ISA-95 is the standard vocabulary for this handoff.</p>
<h3>Drawing the lines in practice</h3>
<ul><li>SCADA owns control and alarming. If an operator acts on it in real time, it lives here.</li><li>The historian owns raw process truth over time. If an engineer trends it next year, it lives here.</li><li>MES owns production truth. If quality or the customer asks for it, it lives here.</li></ul>
<p>Overlap is normal — SCADA keeps short trends, MES caches tag values — but each overlap should be a conscious cache with a defined source of truth, not an accidental second database. The most expensive failure mode is MES and SCADA disagreeing about yesterday&#x27;s production count with no way to reconcile them.</p>
<h3>References</h3>
<ul><li><a href="https://www.isa.org/standards-and-publications/isa-standards">ISA standards: ISA-95, ISA-88, ISA/IEC 62443</a></li><li><a href="https://inductiveautomation.com/blog/">The Inductive Automation Blog</a> — SCADA and Ignition architecture</li><li><a href="https://www.automationworld.com/">Automation World</a> — MES and manufacturing operations coverage</li></ul>]]></content:encoded><category>SCADA</category><category>MES</category><category>Factory Software</category></item><item><title>ROS 2 in industrial robotics: where it fits</title><link>https://shopfloor.space/articles/ros-2-industrial-robotics/</link><guid isPermaLink="false">shopfloor:original:ros-2-industrial-robotics</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>DDS middleware, real-time profiles, and the ROS-Industrial consortium — a controls engineer&#x27;s map of the Robot Operating System.</description><content:encoded><![CDATA[<p>ROS 2 is a framework for robot software: communication middleware, device drivers, navigation, manipulation, simulation, and visualization, glued by a publish/subscribe graph with services and actions. Where ROS 1 was a research tool with a single master and no real-time story, ROS 2 was rebuilt for production: DDS-based transport, quality-of-service policies, lifecycle-managed nodes, and real-time-capable executor profiles.</p>
<h3>The pieces that matter in industry</h3>
<ul><li><strong>DDS transport</strong> — Data Distribution Service gives discovery without a master, configurable reliability/deadline/liveliness QoS, and shared-memory transport on one machine. Choose your RMW (middleware implementation) deliberately; performance and determinism vary.</li><li><strong>Nav2 and MoveIt 2</strong> — the standard stacks for mobile navigation and arm motion planning. Mature, well-documented, and the fastest path from hardware to moving robot.</li><li><strong>ros2_control</strong> — the hardware abstraction framework: controllers (diff-drive, joint trajectory, GPIO) talking to hardware interfaces with real-time-safe update loops. This is the layer vendors target, and it is where ROS meets the servo drive.</li><li><strong>ROS-Industrial</strong> — the consortium and package ecosystem adapting ROS to factory robots: vendor drivers (FANUC, ABB, Yaskawa, Universal Robots, and others), calibration, and application packages for scanning, painting, and machine tending.</li></ul>
<h3>Boundaries with the controls world</h3>
<p>ROS 2 does not replace the PLC or the safety controller. The sane architecture keeps deterministic motion and safety-rated monitoring in dedicated hardware and firmware, with ROS 2 handling perception, planning, fleet coordination, and task sequencing above it — communicating over documented interfaces (ros2_control hardware layers, fieldbus gateways, OPC UA bridges). Validate the safety case at the system level: open-source planning code plus certified safety monitoring is a legitimate combination, but only with the hazard analysis to show the boundary holds.</p>
<p>Entry path: start with the official docs and a simulated robot (Gazebo or Isaac Sim), join the community on <a href="https://discourse.ros.org/">ROS Discourse</a>, and prototype against ros2_control&#x27;s mock hardware before touching a real arm.</p>
<h3>References</h3>
<ul><li><a href="https://www.ros.org/">ROS: Robot Operating System</a></li><li><a href="https://www.therobotreport.com/">The Robot Report</a></li><li><a href="/articles/amr-vs-agv-difference/">AMR vs AGV: what the letters actually decide</a> — Shopfloor</li></ul>]]></content:encoded><category>Robotics</category><category>Factory Software</category><category>AMRs &amp; AGVs</category></item><item><title>The predictive maintenance data stack, end to end</title><link>https://shopfloor.space/articles/predictive-maintenance-data-stack/</link><guid isPermaLink="false">shopfloor:original:predictive-maintenance-data-stack</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>From vibration sensor to work order: sensing, transport, context, models, and the analytics layer where predictions become decisions.</description><content:encoded><![CDATA[<p>Predictive maintenance fails more often from data plumbing than from algorithms. Bearings have been predictable for decades; the hard part is getting clean, contextualized, labeled signals from the asset to a model and the model&#x27;s output into a maintenance workflow someone trusts. The stack below is the checklist.</p>
<h3>The layers</h3>
<ol><li><strong>Sensing</strong> — vibration (accelerometers with adequate bandwidth for the fault frequencies), temperature, current signature, oil/particle analysis, ultrasound. Wireless sensors trade bandwidth for retrofit speed; know what your sampling rate cannot see.</li><li><strong>Transport</strong> — edge gateways and MQTT/Sparkplug into the UNS, or historian-native collection. Timestamps must survive the journey; a model trained on jittered time is a random-number generator with extra steps.</li><li><strong>Context</strong> — joining signals to asset hierarchy, operating mode, work history, and process conditions. A vibration spike during startup is normal; at steady state it is a work order. Without mode context, every threshold false-alarms.</li><li><strong>Models</strong> — start with rules and spectral band alarms (they catch most faults), add anomaly detection for the unknown-unknowns, and reserve remaining-useful-life regression for assets with rich failure histories. Labeled failures are scarce — design the feedback loop that captures them from day one.</li><li><strong>Decisions</strong> — predictions land in CMMS/EAM as prioritized work, with confidence, evidence plots, and a human approve step. Track precision and recall per asset class; retire models that cry wolf.</li></ol>
<h3>The analytics layer</h3>
<p>Predictions become decisions in analytics products, not notebooks. Composable analytics platforms such as <a href="https://www.gooddata.ai/">GoodData</a> embed governed dashboards, metrics, and AI-assisted exploration into operational tools, while data engineering platforms such as <a href="https://www.keboola.com/">Keboola</a> provide the pipelines that keep those analytics fed with reliable, AI-ready data. In industrial practice these pair with domain layers: engineering-AI offerings such as <a href="https://kutup.aspdijital.com/">Kutup</a> apply AI to field data for engineering decisions, and industrial data hubs such as <a href="https://it-aspdijital.com/">IT Hub</a> turn plant-floor data into decision-ready information.</p>
<p>Start narrow — one asset class, one failure mode, one crew that wants it — and expand on measured avoided downtime, not pilot enthusiasm.</p>
<h3>References</h3>
<ul><li><a href="/articles/unified-namespace-explained/">The unified namespace, explained</a> — Shopfloor</li><li><a href="https://www.plantservices.com/">Plant Services</a> — maintenance and reliability coverage</li><li><a href="https://www.automationworld.com/">Automation World</a> — manufacturing technology coverage</li></ul>]]></content:encoded><category>Industrial AI</category><category>MES</category><category>Factory Software</category><category>Industrial IoT / IIoT</category></item><item><title>OT zones and conduits: segmentation that follows IEC 62443</title><link>https://shopfloor.space/articles/ot-zones-conduits-iec-62443/</link><guid isPermaLink="false">shopfloor:original:ot-zones-conduits-iec-62443</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>How to divide a plant network into zones, control what crosses between them, and why flat OT networks keep making incident reports.</description><content:encoded><![CDATA[<p>Nearly every serious OT incident report shares a root cause: the attacker moved laterally across a flat network that was never supposed to be flat. IEC 62443&#x27;s answer is zones and conduits — group assets by risk and function, then control every path between groups. It is the single highest-leverage OT security practice, and it is mostly network architecture, not products.</p>
<h3>Zones: group by trust and consequence</h3>
<p>A zone is a set of assets with common security requirements. A typical plant has at least: enterprise IT, an industrial DMZ (historians, remote-access jump hosts, patch/update servers), operations zones per line or area (controllers, HMIs, drives), and safety zones (safety PLCs, completely isolated or one-way). The Purdue model (levels 0–5) is a common starting sketch, but zones should follow your process consequences — what fails together gets segmented together — not a textbook diagram.</p>
<h3>Conduits: every crossing is explicit</h3>
<p>A conduit is the controlled communication path between zones: a firewall pair, a data diode, or a brokered connection with a defined protocol allowlist. The discipline is in the defaults: deny all, permit only named flows (this historian pulls OPC UA from that server on this port), log everything else. Remote vendor access terminates in the DMZ on a jump host with MFA and session recording — never a direct VPN to a PLC subnet.</p>
<p>Common conduit patterns: mirroring historian data one way into IT for reporting; allowing the MES to query a terminal server in the DMZ rather than reaching into the cell; routing all MQTT northbound through a single broker pair at the zone boundary so topic-level access control has one enforcement point.</p>
<h3>Doing it without breaking production</h3>
<p>Segmentation projects fail when they treat the plant like an office. Inventory first — passive discovery, maintenance windows for active scans, and the electricians&#x27; spreadsheets, which are usually more accurate than the CMDB. Then segment in monitor mode: put the firewalls in, log what would break, fix the undocumented flows (there are always undocumented flows), and only then enforce. Expect to find HMIs browsing the internet, drives with default credentials, and at least one forgotten Windows XP box running something critical.</p>
<p>Tooling helps after architecture: OT-aware monitoring platforms such as <a href="https://www.industrialdefender.com/">Industrial Defender</a> provide asset discovery, configuration baselining, and change detection for control systems, while integrators and digital-transformation practices such as <a href="https://aspdijital.com/">ASP Dijital</a> deliver industrial cybersecurity programs alongside IIoT and AI work. Buy tools to operate your zones — not instead of drawing them.</p>
<h3>References</h3>
<ul><li><a href="https://csrc.nist.gov/pubs/sp/800/82/r3/final">NIST SP 800-82 Rev. 3: Guide to OT Security</a></li><li><a href="https://www.isa.org/standards-and-publications/isa-standards">ISA standards: ISA-95, ISA-88, ISA/IEC 62443</a></li><li><a href="https://industrialcyber.co/">Industrial Cyber</a> — OT security news and analysis</li></ul>]]></content:encoded><category>OT Cybersecurity</category><category>Industrial Networking</category><category>SCADA</category></item><item><title>OPC UA, MQTT, and Sparkplug B: how they fit together</title><link>https://shopfloor.space/articles/opc-ua-mqtt-sparkplug-how-they-fit/</link><guid isPermaLink="false">shopfloor:original:opc-ua-mqtt-sparkplug-how-they-fit</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>Three technologies that get compared as rivals but usually work as layers. What each one owns, and how to stop choosing between them.</description><content:encoded><![CDATA[<p>Ask &quot;should we use OPC UA or MQTT?&quot; in any controls forum and you will get confident, contradictory answers. The question is miscast. These technologies overlap far less than the debate suggests, and most mature architectures use at least two of them at different layers.</p>
<h3>What each one is</h3>
<p><strong>OPC UA</strong> is an industrial interoperability framework: a meta-model for describing assets (objects, variables, methods, references), client/server services for browsing and reading, alarms and historical access, PubSub for many-to-many streaming, and built-in security (X.509 application authentication, signing, encryption). Companion specifications extend the base model into domains — machines, robotics, process automation, energy. Its strength is semantics: a client can connect to a server it has never seen, browse its address space, and understand what it found.</p>
<p><strong>MQTT</strong> is a lightweight publish/subscribe transport. Clients publish messages to topic strings on a broker; subscribers receive them. The protocol (an OASIS standard, currently v5) defines retained messages, quality of service levels, session persistence, and Last Will. It defines nothing about topic structure or payload encoding. Its strength is decoupling and efficiency: tiny footprint, store-and-forward friendly, trivial to bridge across network boundaries.</p>
<p><strong>Sparkplug B</strong> is a contract that runs on MQTT: a fixed topic namespace, a protobuf payload schema, and birth/death session semantics. It supplies exactly the conventions MQTT omits. Its strength is plug-and-play fleet onboarding with state awareness.</p>
<h3>The layer map</h3>
<p>Think in terms of who talks to whom:</p>
<div class="table-scroll"><table><thead><tr><th>Layer</th><th>Typical choice</th><th>Why</th></tr></thead><tbody><tr><td>Device ↔ controller / gateway</td><td>Native protocol (EtherCAT, PROFINET, Modbus, vendor driver)</td><td>Determinism, existing install base</td></tr><tr><td>Gateway ↔ local consumers</td><td>OPC UA server</td><td>Browsing, modeling, method calls, alarms</td></tr><tr><td>Edge ↔ enterprise / cloud</td><td>MQTT + Sparkplug B</td><td>Fan-out, buffering, firewall-friendly, fleet scale</td></tr><tr><td>Machine-to-machine control</td><td>OPC UA PubSub, DDS, or fieldbus</td><td>Latency and determinism requirements</td></tr></tbody></table></div>
<p>The common pattern is a gateway that speaks OPC UA (or native protocols) downward and Sparkplug upward. The OPC UA address space models the equipment; the Sparkplug namespace carries its telemetry to every consumer — historian, MES, dashboards, analytics — without each consumer polling the server.</p>
<h3>Choosing, concretely</h3>
<ul><li><strong>Pick OPC UA</strong> when consumers need to discover structure at runtime, invoke methods, manage alarms, or exchange data with full type information and security between known parties. It is the default for controller-to-SCADA, vendor-to-vendor, and anything with a companion spec in your domain.</li><li><strong>Pick MQTT (+ Sparkplug)</strong> when you have many producers and many consumers, intermittent connectivity, a need to buffer at the edge, or a unified-namespace architecture where one broker fans data out to the whole enterprise. Use Sparkplug rather than ad-hoc topics unless you enjoy maintaining topic documentation.</li><li><strong>Use both</strong> when the plant floor needs rich modeling and the enterprise needs scalable distribution. This is the modal serious architecture, not a compromise.</li></ul>
<p>What about MQTT without Sparkplug, or Sparkplug without MQTT? Raw MQTT topics are fine for narrow, stable integrations between two teams that can agree on a schema — and a liability the moment a third consumer arrives. Sparkplug without MQTT is a contradiction: the spec assumes a broker. (OPC UA PubSub over MQTT exists as a mapping, but in practice teams pair OPC UA with Sparkplug-as-payload-convention far less often than they run the two side by side.)</p>
<h3>The one-paragraph version</h3>
<p>OPC UA models the plant so software can understand it. MQTT moves data so software can scale. Sparkplug stops every MQTT project from reinventing topic conventions and liveness tracking. Model with the first, distribute with the second and third, and keep your deterministic traffic on the fieldbus where it belongs.</p>]]></content:encoded><category>OPC UA</category><category>MQTT</category><category>Sparkplug B</category><category>Industrial IoT / IIoT</category><category>Industrial Networking</category></item><item><title>OPC UA companion specifications: a guided tour</title><link>https://shopfloor.space/articles/opc-ua-companion-specs-guide/</link><guid isPermaLink="false">shopfloor:original:opc-ua-companion-specs-guide</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>The base standard models anything; companion specs model your industry. How to find, read, and actually use them.</description><content:encoded><![CDATA[<p>OPC UA&#x27;s base specification defines a meta-model — objects, variables, methods, references — deliberately generic. Companion specifications extend it into domains: standardized object types and hierarchies for machines, robots, process instruments, energy systems, and more. A client written against a companion spec can work with any compliant server in that domain without custom mapping. This is where OPC UA&#x27;s interoperability promise becomes concrete.</p>
<h3>The ones to know first</h3>
<ul><li><strong>Machinery (OPC 40001)</strong> — the harmonization base: machine identification, state, job management. Other specs build on it; start here for discrete manufacturing.</li><li><strong>Robotics (OPC 40010)</strong> — robot motion, program management, and status, aligned with the Machinery base. Relevant wherever fleets mix vendors.</li><li><strong>Process automation: PA-DIM (NAMUR / OPC)</strong> — process instruments and signals with standardized semantics. The key to multi-vendor process skids.</li><li><strong>Energy and platforms</strong>: specs for weighing (OPC 40200), commercial kitchen equipment, plastics/rubber machinery (EUROMAP 77/83), machine tools (UMATI, built on Machinery), and photovoltaic systems, among dozens of others.</li><li><strong>ISA-95 alignment</strong>: companion information models increasingly map to ISA-95 equipment hierarchies, which is what lets MES systems consume them coherently.</li></ul>
<p>The OPC Foundation&#x27;s online companion-spec index lists them all with release status; joint working groups (VDMA, NAMUR, EUROMAP, MTConnect community for the machine-tool side) publish through it.</p>
<h3>Using them in a project</h3>
<p>Read the spec&#x27;s use cases before its node tables — they tell you which subset to implement. Require named companion-spec conformance in procurement language (&quot;OPC UA Machinery + Robotics, server facet X&quot;) rather than &quot;supports OPC UA,&quot; which promises almost nothing. Validate with the Foundation&#x27;s compliance test tools or a reference client before factory acceptance, not after. And keep a namespace-version inventory: companion specs evolve, and a server built against v1.0 with vendor extensions is a mapping project wearing a standard&#x27;s clothes.</p>
<p>On the connectivity side, industrial servers such as <a href="https://www.velotic.com/products/kepware">Kepware</a> — now part of <a href="https://www.velotic.com/">Velotic</a> alongside Proficy and ThingWorx — expose hundreds of device protocols as OPC UA, which is how most brownfield equipment enters a companion-spec architecture. Regional specialists provide the project layer: in Türkiye, <a href="https://www.opcturkey.com/">OPCTurkey</a> operates as Kepware&#x27;s official distributor with OPC project, sales, and support services.</p>
<h3>References</h3>
<ul><li><a href="https://opcfoundation.org/about/opc-technologies/opc-ua/">OPC Unified Architecture (OPC UA) — technology overview</a></li><li><a href="https://www.mtconnect.org/">MTConnect: shop-floor equipment connectivity standard</a></li><li><a href="https://www.controlglobal.com/">Control Global</a> — process automation and DCS coverage</li></ul>]]></content:encoded><category>OPC UA</category><category>Factory Software</category><category>Robotics</category></item><item><title>MTConnect: getting data off the machine tool</title><link>https://shopfloor.space/articles/mtconnect-cnc-connectivity/</link><guid isPermaLink="false">shopfloor:original:mtconnect-cnc-connectivity</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>Adapters, agents, and streams — how the open machine-tool connectivity standard works and where it fits beside OPC UA.</description><content:encoded><![CDATA[<p>CNC controllers speak vendor dialects — FANUC FOCAS, Heidenhain DNC, MTConnect-unfriendly proprietary APIs — which is why &quot;just connect the machines&quot; turns into a per-controller integration project. MTConnect is the open, read-only standard that normalizes machine-tool data: one HTTP/XML interface describing what the machine is, what it is doing, and what it measured, regardless of the controller behind it.</p>
<h3>Adapters, agents, and the data model</h3>
<p>The architecture has two halves. An <strong>adapter</strong> talks the controller&#x27;s native protocol and emits simple text observations (power on, mode automatic, spindle override 100%). An <strong>agent</strong> collects adapter streams and serves them over HTTP as XML documents: <code>probe</code> describes the device structure (axes, spindles, doors), <code>current</code> gives present values, and <code>sample</code> streams timestamped observations. The vocabulary is standardized — data items like <code>execution</code>, <code>controller_mode</code>, <code>position</code>, <code>load</code> — with controlled vocabularies for values, so &quot;the machine is running&quot; looks identical from every compliant agent.</p>
<p>MTConnect also defines assets (cutting tools, fixtures, files) and interfaces for tasking and referencing external systems, plus companion relationships with OPC UA: the two communities maintain a companion specification mapping MTConnect&#x27;s model into OPC UA for plants standardizing on UA servers.</p>
<h3>Where it fits</h3>
<p>MTConnect owns machine monitoring: OEE, utilization, downtime classification, and condition signals for machining. It is deliberately read-only — no program upload, no overrides — which simplifies security reviews and keeps the safety case untouched. Feed agents into a UNS via MQTT connectors, into MES for production context, or into analytics for tool-wear and chatter detection.</p>
<p>Deployment advice: prefer controller-native or vendor-blessed adapters over screen-scraping; keep agent polling cycles aligned with the controller&#x27;s update rate (faster polling buys nothing but load); version-pin your data dictionary per machine model; and record the machine&#x27;s clock source — timestamp quality decides whether your spindle-load correlations are science or astrology.</p>
<h3>References</h3>
<ul><li><a href="https://www.mtconnect.org/">MTConnect: shop-floor equipment connectivity standard</a></li><li><a href="https://www.mmsonline.com/">Modern Machine Shop</a> — machining technology coverage</li><li><a href="/articles/opc-ua-companion-specs-guide/">OPC UA companion specifications: a guided tour</a> — Shopfloor</li></ul>]]></content:encoded><category>CNC / Machining</category><category>Industrial IoT / IIoT</category><category>Factory Software</category></item><item><title>MQTT QoS, retained messages, and sessions, explained</title><link>https://shopfloor.space/articles/mqtt-qos-retained-sessions-explained/</link><guid isPermaLink="false">shopfloor:original:mqtt-qos-retained-sessions-explained</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>The three MQTT features that decide whether your telemetry is lossy, stale, or exactly-once — and when each setting is correct.</description><content:encoded><![CDATA[<p>MQTT is easy to start and easy to misconfigure, because the defaults quietly choose &quot;at most once, no history, forget me on disconnect&quot; — reasonable for sensor streams, wrong for commands and state. Three mechanisms control delivery behavior: quality of service, retained messages, and session persistence.</p>
<h3>QoS 0, 1, 2: the delivery contract</h3>
<ul><li><strong>QoS 0 (at most once)</strong> — fire and forget. Fastest, no broker acknowledgment. Correct for high-rate telemetry where the next reading supersedes the last (temperatures, vibration streams).</li><li><strong>QoS 1 (at least once)</strong> — broker acknowledges; the publisher retries until it hears back, so subscribers may receive duplicates. Correct for events that must arrive but tolerate repeats (alarms, counters with idempotent handling).</li><li><strong>QoS 2 (exactly once)</strong> — four-step handshake, no duplicates, highest overhead. Correct for billing-grade events and commands where a duplicate would double-actuate. Rarely needed on the plant floor; reach for it deliberately, not by default.</li></ul>
<p>Note the subtlety: QoS is negotiated per hop (publisher→broker, broker→subscriber) and downgraded to the subscription&#x27;s maximum. Publishing at QoS 2 to a QoS 0 subscriber still delivers at most once.</p>
<h3>Retained messages: state on subscribe</h3>
<p>A retained message is stored by the broker and delivered immediately to every new subscriber — the topic&#x27;s &quot;last known value.&quot; This is how dashboards show current state without waiting for the next publish cycle, and it is the mechanism Sparkplug B builds its birth certificates on. Retain setpoints, modes, and status; do not retain high-rate streams or event logs (a new subscriber would get one stale event presented as current state). A retained message with an empty payload and the retain flag clears the stored value.</p>
<h3>Sessions: surviving disconnects</h3>
<p>With a persistent session (clean-start flag off, MQTT v5), the broker keeps a client&#x27;s subscriptions and queues QoS 1/2 messages while it is offline, up to configured limits. This is store-and-forward for subscribers: a historian that reboots overnight can catch up on missed alarms. But queues are bounded — size them, monitor them, and set message expiry so a week-long outage does not replay ancient commands. For publishers, Sparkplug&#x27;s birth/death flow on top of sessions is what turns reconnection into a well-defined state resync instead of a silent gap.</p>
<h3>Defaults that work</h3>
<p>Telemetry: QoS 0, no retain, persistent sessions on critical subscribers. State and setpoints: QoS 1, retained. Alarms: QoS 1, no retain, persistent subscriber sessions with expiry. Commands: QoS 1 with command-echo verification (or QoS 2 where duplication is dangerous). Document the policy per topic family — the next integrator will thank you.</p>
<h3>References</h3>
<ul><li><a href="https://mqtt.org/">MQTT: the standard for IoT messaging</a></li><li><a href="https://www.hivemq.com/blog/">HiveMQ Blog</a> — deep MQTT feature guides</li><li><a href="https://sparkplug.eclipse.org/">Eclipse Sparkplug — specification and resources</a></li></ul>]]></content:encoded><category>MQTT</category><category>Industrial IoT / IIoT</category><category>Sparkplug B</category></item><item><title>Modbus RTU vs Modbus TCP: a practical guide</title><link>https://shopfloor.space/articles/modbus-rtu-vs-tcp-practical-guide/</link><guid isPermaLink="false">shopfloor:original:modbus-rtu-vs-tcp-practical-guide</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>The world&#x27;s most common industrial protocol in its two dominant forms — framing, addressing, gateways, and the mistakes that break integrations.</description><content:encoded><![CDATA[<p>Modbus has survived since 1979 by being brutally simple: a master asks, a slave answers. No discovery, no browsing, no security — just reads and writes against numbered registers. Nearly every PLC, drive, meter, and sensor speaks it, which is why &quot;just use Modbus&quot; remains the default answer for brownfield integration. The two forms you will actually meet are RTU and TCP, and mixing them up is the most common source of broken integrations.</p>
<h3>RTU: Modbus on a serial wire</h3>
<p>Modbus RTU runs over RS-485 (sometimes RS-232), carrying binary frames: one address byte, one function byte, data, and a two-byte CRC. Timing is part of the protocol — a silent gap of 3.5 character times marks the end of a frame — which means RTU over sloppy USB converters or congested links fails in confusing ways.</p>
<p>The rules that matter: one master per segment (slaves never speak unprompted), unique slave addresses 1–247, matching baud rate/parity/stop bits everywhere, correct byte order for 32-bit values (there is no standard — check the device manual), and termination resistors on long RS-485 runs. Get any of these wrong and you get timeouts or garbage instead of errors, because RTU has no diagnostics beyond the CRC.</p>
<h3>TCP: Modbus on Ethernet</h3>
<p>Modbus TCP wraps the same protocol data unit in a lightweight MBAP header and sends it over TCP port 502. No CRC (TCP handles integrity), no timing dependence, and multiple masters can query the same device. Addressing stays identical — coils, discrete inputs, holding registers, input registers — so documentation and data maps transfer directly from RTU projects.</p>
<p>The catch is that &quot;Modbus TCP&quot; describes the wire format, not the network behavior. Polling hundreds of devices from one client needs connection management and sane poll rates; a 100 ms poll loop against a serial gateway with thirty RTU slaves behind it will simply queue up and time out. Size the gateway segment first, then the Ethernet side.</p>
<h3>RTU/TCP gateways and common mistakes</h3>
<p>Most real projects mix both: RTU multidrop segments for field devices, gateways translating to Modbus TCP for SCADA and edge systems. When it breaks, check in this order:</p>
<ol><li><strong>Unit identifier vs slave address.</strong> Modbus TCP&#x27;s unit-ID field routes to the RTU slave behind the gateway. Wrong ID, no answer.</li><li><strong>0-based vs 1-based addressing.</strong> &quot;Register 40001&quot; is protocol address 0 on most stacks — and some vendors mean 1. Off-by-one reads return the neighbor&#x27;s value with no error.</li><li><strong>Byte and word order.</strong> A float read as ABCD vs CDAB looks like a plausible but wrong number — the hardest fault to catch.</li><li><strong>Function code support.</strong> Not every device implements every function; write-multiple-registers on a read-mostly meter fails silently on some firmware.</li></ol>
<h3>Where Modbus fits today</h3>
<p>Modbus is a polling protocol for simple data exchange — ideal for meters, drives, and legacy PLCs, inadequate for alarming, discovery, or secure communication. Use it at the device edge, terminate it at a gateway or edge node, and carry the data upstream over OPC UA or MQTT/Sparkplug where modeling, buffering, and security exist. It will outlive most of the protocols competing to replace it, precisely because it does so little.</p>
<h3>References</h3>
<ul><li><a href="https://www.modbus.org/">Modbus specifications and resources</a> — the Modbus Organization</li><li><a href="https://instrumentationtools.com/">Instrumentation Tools</a> — practical Modbus and PLC tutorials</li><li><a href="https://accautomation.ca/">ACC Automation: Master PLC &amp; Industrial Automation</a> — free PLC training with Modbus examples</li></ul>]]></content:encoded><category>Modbus</category><category>PLCs</category><category>Industrial Networking</category></item><item><title>Machine vision on the factory floor: the basics that decide projects</title><link>https://shopfloor.space/articles/machine-vision-factory-basics/</link><guid isPermaLink="false">shopfloor:original:machine-vision-factory-basics</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>Optics, lighting, and pass/fail discipline matter more than the algorithm. A practical map of inspection, guidance, and identification.</description><content:encoded><![CDATA[<p>Most vision projects fail on physics, not software: bad lighting, wrong lens, or a part presentation nobody specified. The algorithm — classical or deep learning — only decides close cases once the image is right. Get the imaging conditions deterministic first, then choose the processing.</p>
<h3>The three job families</h3>
<ul><li><strong>Inspection</strong> — pass/fail quality decisions: presence, dimension, surface defects, assembly verification. Needs controlled lighting, fixed geometry, and a golden-sample discipline for thresholds.</li><li><strong>Guidance</strong> — telling robots and motion where things are: pick points, alignment, depalletizing. Needs calibration (hand-eye, conveyor tracking) more than resolution.</li><li><strong>Identification</strong> — barcodes, 2D codes, OCR. The most mature family; direct-part-mark reading in harsh conditions is the remaining hard part.</li></ul>
<h3>The stack, bottom to top</h3>
<p>Optics and lighting (telecentric lenses for measurement, structured light for 3D, strobing to freeze motion), cameras and frame grabbers (GigE Vision, USB3 Vision, Camera Link — match bandwidth to trigger rate), processing (smart cameras for fixed jobs, PC-based for multi-camera and deep learning), and integration (fieldbus and OPC UA results upstream, reject gates and robot offsets downstream). Deep learning earns its place on variable defects and unstructured scenes — and demands a labeled dataset, retraining workflow, and drift monitoring that classical rule-based tools skip.</p>
<p>Project discipline: define the defect taxonomy with quality before buying hardware; collect images across shifts, seasons, and tool wear; specify false-accept and false-reject rates numerically; and keep a human override path — vision assists the quality system, it does not replace its accountability.</p>
<h3>References</h3>
<ul><li><a href="https://www.vision-systems.com/">Vision Systems Design</a> — machine vision technology coverage</li><li><a href="https://www.therobotreport.com/">The Robot Report</a> — robotics and guidance applications</li><li><a href="https://www.mmsonline.com/">Modern Machine Shop</a> — machining and precision manufacturing</li></ul>]]></content:encoded><category>Machine Vision</category><category>Industrial AI</category><category>Manufacturing</category></item><item><title>ISA-95 levels, explained without the diagram worship</title><link>https://shopfloor.space/articles/isa-95-levels-explained/</link><guid isPermaLink="false">shopfloor:original:isa-95-levels-explained</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>What levels 0–4 actually mean for MES integration, B2MML exchanges, and conversations between IT and operations.</description><content:encoded><![CDATA[<p>ISA-95 (IEC 62264) is the standard vocabulary for enterprise–control system integration, and its level model is the most photocopied diagram in manufacturing IT. The levels matter less as network tiers than as a way to name who owns which decisions and data.</p>
<h3>The levels in one paragraph each</h3>
<ul><li><strong>Level 0–1: the physical process and its controllers.</strong> Sensors, actuators, PLCs, DCS controllers, robots. Time is measured in milliseconds; data is tags and I/O. Owned by operations and controls engineering.</li><li><strong>Level 2: supervision.</strong> SCADA, HMIs, batch servers, historians. Time is seconds to shifts; data is trends, alarms, and operator actions. Still operations-owned, increasingly IT-adjacent.</li><li><strong>Level 3: operations management.</strong> MES/MOM: scheduling, dispatch, genealogy, quality, OEE. Time is shifts to weeks; data is work orders, lots, and serial numbers. Jointly owned — this is where IT/OT arguments live.</li><li><strong>Level 4: business planning.</strong> ERP: orders, inventory, procurement, finance. Time is weeks to quarters. IT-owned, with master data (materials, routings, customers) that Level 3 must not contradict.</li></ul>
<p>Level 3.5 (the DMZ, historians, integration brokers) is industry slang, not the standard — useful slang, but do not cite it in a specification.</p>
<h3>What the standard actually standardizes</h3>
<p>ISA-95&#x27;s durable contribution is not the pyramid; it is the object models: equipment, personnel, material, and production definitions with consistent attributes and relationships, plus B2MML — XML schemas for exchanging production schedules, performance, quality, and maintenance information between Level 4 and Level 3. When your MES vendor says &quot;ISA-95 compliant,&quot; ask which parts and which exchanges: the claim ranges from &quot;we read the glossary&quot; to tested B2MML interop.</p>
<p>In practice, greenfield MES integrations increasingly use REST/JSON or MQTT payloads shaped by ISA-95 concepts rather than literal B2MML. The standard&#x27;s vocabulary (what counts as a lot, a work center, an operation) still prevents the classic failure where ERP and MES use the same words for different things.</p>
<h3>Using it in conversation</h3>
<p>The levels are a translation layer. &quot;That decision belongs at Level 3&quot; ends debates about whether the ERP or the MES owns dispatching. &quot;Level 2 to Level 3&quot; names the SCADA→MES handoff that needs tag-to-lot context mapping. Learn the nouns, hold the boundaries lightly, and spend your rigor on the interface definitions instead of the diagram.</p>
<h3>References</h3>
<ul><li><a href="https://www.isa.org/standards-and-publications/isa-standards">ISA standards: ISA-95, ISA-88, ISA/IEC 62443</a></li><li><a href="https://www.automationworld.com/">Automation World</a> — MES and operations coverage</li><li><a href="/articles/opc-ua-mqtt-sparkplug-how-they-fit/">OPC UA, MQTT, and Sparkplug B: how they fit together</a> — Shopfloor</li></ul>]]></content:encoded><category>MES</category><category>Manufacturing</category><category>Factory Software</category></item><item><title>A field guide to industrial Ethernet</title><link>https://shopfloor.space/articles/industrial-ethernet-field-guide/</link><guid isPermaLink="false">shopfloor:original:industrial-ethernet-field-guide</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>PROFINET, EtherNet/IP, EtherCAT, and TSN serve different masters. What each was designed for and how to tell them apart.</description><content:encoded><![CDATA[<p>Nearly every new field installation speaks some flavor of Ethernet, but &quot;industrial Ethernet&quot; is a family of incompatible protocols with different timing models, topologies, and vendor ecosystems. Here is how to keep the big four straight.</p>
<h3>PROFINET</h3>
<p>From PROFIBUS &amp; PROFINET International (PI), dominant in process and factory automation, especially where Siemens controllers anchor the architecture. PROFINET RT carries real-time frames over standard Ethernet (prioritized, typically sub-10 ms cycles); PROFINET IRT adds scheduled, hardware-assisted communication for sub-millisecond, jitter-free motion. Conformance classes (A through D) describe which features a device supports — from basic RT over standard switches up to IRT with media redundancy and isochronous cycles. Strengths: enormous installed base, deep device profiles (PROFIdrive, PROFIenergy, PROFIsafe for functional safety), and seamless integration with the Siemens/TIA world. Note it is not routable IP traffic at the RT level — plan your network segmentation accordingly.</p>
<h3>EtherNet/IP</h3>
<p>From ODVA, built on the Common Industrial Protocol (CIP), dominant in North American discrete manufacturing and anywhere Rockwell/Allen-Bradley controllers lead. Standard Ethernet/IP traffic is ordinary TCP/UDP; implicit (I/O) messaging uses UDP with a producer/consumer model over standard switches. Device Level Ring (DLR) provides fast ring redundancy, and CIP Safety handles safety-rated communication. Strengths: uses standard Ethernet infrastructure and IP addressing throughout, huge multi-vendor catalog, and CIP&#x27;s object model gives devices a consistent application layer. For hard-motion determinism it historically leaned on hardware and topology rather than schedule-based Ethernet — which is why CIP Motion and the move toward TSN matter.</p>
<h3>EtherCAT</h3>
<p>From Beckhoff, managed by the EtherCAT Technology Group, dominant in high-performance motion: packaging, robotics, semiconductor equipment, test rigs. Its trick is on-the-fly processing — a single Ethernet frame traverses every node, each reading and writing its data as the frame passes, with distributed clocks keeping axes synchronized to tens of nanoseconds. Cycle times down to tens of microseconds on ordinary Ethernet hardware (master needs a capable NIC; slaves need dedicated controller chips). Topology is flexible — line, ring, star via branch devices — and diagnostics are excellent. Trade-off: slaves require EtherCAT silicon, and the master is typically a soft controller (PC-based) or dedicated hardware rather than a traditional PLC rack, though many PLC vendors now offer EtherCAT masters.</p>
<h3>TSN: the convergence layer</h3>
<p>Time-Sensitive Networking is not a competitor but a set of IEEE 802.1 standards (time sync, scheduled traffic, frame preemption, stream reservation, redundancy) that bring determinism to standard Ethernet. The pitch: one converged network carrying control traffic, safety, and best-effort IT traffic with guarantees. All three protocols above have TSN strategies — PROFINET over TSN, EtherNet/IP with TSN (as part of the ODVA/OPC connectivity push), and EtherCAT&#x27;s coexistence story — and OPC UA FX (Field eXchange) aims to be the vendor-neutral application layer on top. TSN adoption is real but uneven: silicon, switches, and end devices are shipping, while multi-vendor schedule configuration (the hard part) is still maturing.</p>
<h3>How to choose</h3>
<ul><li>Match your controller ecosystem first: Siemens → PROFINET, Rockwell → EtherNet/IP, Beckhoff/soft-control → EtherCAT. Fighting the ecosystem costs more than any protocol advantage.</li><li>Match cycle-time needs second: millisecond class → any of them; sub-millisecond multi-axis motion → EtherCAT or PROFINET IRT; converged IT/OT backbone → TSN-based design.</li><li>Design for the next owner: document topologies, use managed switches with diagnostics, and keep safety (PROFIsafe, CIP Safety, Safety over EtherCAT) in the plan from day one rather than bolting it on.</li></ul>
<p>The honest summary: the protocol wars are mostly over at the field level — each incumbent won its territory — and the interesting engineering has moved up a layer, to TSN convergence and to getting data off all of these networks into software that can use it.</p>]]></content:encoded><category>PROFINET</category><category>EtherNet/IP</category><category>EtherCAT</category><category>TSN</category><category>Industrial Networking</category><category>Motion Control</category></item><item><title>IEC 61131-3 PLC languages: which one to use</title><link>https://shopfloor.space/articles/iec-61131-3-plc-languages-guide/</link><guid isPermaLink="false">shopfloor:original:iec-61131-3-plc-languages-guide</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>Ladder, function block, structured text, and the rest — what each of the five languages is good at and how shops actually mix them.</description><content:encoded><![CDATA[<p>IEC 61131-3 defines five programming languages for PLCs, and nearly every shop uses at least two of them in the same project. The languages overlap deliberately — the same interlock can be written in any of them — so the choice is about readability, maintainability, and who has to troubleshoot the code at 3 a.m.</p>
<h3>The five, briefly</h3>
<ul><li><strong>Ladder Diagram (LD)</strong> — relay-logic rungs. The universal language of electricians and maintenance. Best for discrete interlocks, permissives, and anything the night shift must read. Weak at math, string handling, and complex sequencing.</li><li><strong>Function Block Diagram (FBD)</strong> — wired blocks for signal flow. Natural for process control (PID loops, scaling, filtering) and reusable library blocks. Gets unwieldy for large sequential logic.</li><li><strong>Structured Text (ST)</strong> — Pascal-like text. Best for algorithms, data manipulation, recipes, state machines, and anything over a few dozen lines of logic. The default for engineers comfortable with text; opaque to pure electrical troubleshooters unless documented well.</li><li><strong>Sequential Function Chart (SFC)</strong> — steps and transitions for sequences. Excellent for batch phases, machine cycles, and startup/shutdown sequences — the process reads top to bottom. Each step&#x27;s actions are usually written in LD, FBD, or ST.</li><li><strong>Instruction List (IL)</strong> — low-level accumulator language, deprecated in the third edition of the standard. You will meet it only in legacy programs; do not write new code in it.</li></ul>
<h3>How shops actually mix them</h3>
<p>A healthy convention: LD for safety-adjacent interlocks and motor control, SFC for the machine sequence, FBD for analog processing and device blocks, ST for recipes, data handling, and communication. Put the language choice in the project standard so the next engineer finds LD where they expect LD.</p>
<p>Two portability notes. First, 61131-3 standardizes the languages, not the libraries or the IDE — moving a program between vendors is a rewrite, not a recompile. Second, PLCopen&#x27;s motion control function blocks are the closest thing to portable motion code across vendors; if you do servo work on multiple platforms, learn that library once and reuse the pattern everywhere.</p>
<h3>References</h3>
<ul><li><a href="https://www.plcopen.org/">PLCopen: motion, safety, and IEC 61131-3 libraries</a></li><li><a href="https://theautomationblog.com/">The Automation Blog</a> — PLC tutorials and training</li><li><a href="https://accautomation.ca/">ACC Automation: Master PLC &amp; Industrial Automation</a></li></ul>]]></content:encoded><category>PLCs</category><category>Motion Control</category><category>Factory Software</category></item><item><title>Edge gateway patterns for brownfield connectivity</title><link>https://shopfloor.space/articles/edge-gateway-patterns-connectivity/</link><guid isPermaLink="false">shopfloor:original:edge-gateway-patterns-connectivity</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>Protocol conversion, buffering, and context at the edge — the four gateway patterns that connect legacy equipment to modern platforms.</description><content:encoded><![CDATA[<p>Brownfield plants do not get rewired; they get gatewayed. An edge gateway sits between legacy equipment and modern platforms, translating protocols, buffering through outages, and adding the context (asset IDs, units, quality) that raw device data lacks. Four patterns cover most deployments.</p>
<h3>The four patterns</h3>
<ol><li><strong>Protocol converter</strong> — speaks the device&#x27;s language southbound (Modbus, EtherNet/IP, PROFINET, serial, vendor APIs) and OPC UA or MQTT northbound. Stateless, robust, and the right default when all you need is data movement.</li><li><strong>Store-and-forward buffer</strong> — persists data locally through WAN and broker outages, then replays in order. Non-negotiable for cloud historians and remote sites; size the disk for your longest plausible outage, not your average one.</li><li><strong>Contextualizer</strong> — attaches asset models, engineering units, and ISA-95 hierarchy to raw tags before publishing. This is where a tag becomes information. Sparkplug birth certificates carry this metadata natively; otherwise use a DataOps layer.</li><li><strong>Local actor</strong> — runs logic at the edge: alarming, OEE rollups, vision inference, closed-loop control assists. Keeps latency low and keeps working when the uplink dies. Version and monitor edge applications like production software, because they are.</li></ol>
<h3>Tooling landscape</h3>
<p>Connectivity servers such as <a href="https://www.velotic.com/products/kepware">Kepware</a> — now part of <a href="https://www.velotic.com/">Velotic</a> — remain the workhorse for multi-protocol device access with OPC UA and MQTT/Sparkplug northbound options. DataOps platforms such as <a href="https://www.highbyte.com/">HighByte</a> handle modeling, piping, and governance from edge to cloud. And integration software such as <a href="https://opcrouter.com.tr/">OPC Router</a> covers the awkward middle that pure gateways miss: joining PLC and SCADA data with SQL databases and SAP, with visual project tooling for the mappings that would otherwise become scripts nobody owns.</p>
<p>Whatever the stack, enforce three rules: the gateway never becomes a single point of failure for control (monitor it, fail safe, keep control local), all northbound traffic authenticates (certificates, not anonymous MQTT), and every mapping is versioned and documented — the gateway fleet is infrastructure, not improvisation.</p>
<h3>References</h3>
<ul><li><a href="https://mqtt.org/">MQTT: the standard for IoT messaging</a></li><li><a href="https://sparkplug.eclipse.org/">Eclipse Sparkplug — specification and resources</a></li><li><a href="https://blog.opto22.com/optoblog">OptoBlog</a> — edge and IIoT architecture</li></ul>]]></content:encoded><category>Edge Computing</category><category>Industrial IoT / IIoT</category><category>MQTT</category><category>OPC UA</category></item><item><title>DCS, explained through ABB 800xA and Freelance</title><link>https://shopfloor.space/articles/dcs-explained-abb-800xa-freelance/</link><guid isPermaLink="false">shopfloor:original:dcs-explained-abb-800xa-freelance</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>What distributed control is, how the two ABB flagships differ, and when a DCS beats a PLC/SCADA stack.</description><content:encoded><![CDATA[<p>A distributed control system spreads control across networked controllers while centralizing engineering, operations, and data management in one environment. Where a PLC/SCADA stack assembles controllers, networks, HMI, historian, and alarm management from separate products, a DCS ships them as an integrated system with a single database, consistent alarming, and lifecycle support measured in decades. Process industries — refining, chemical, power, pulp and paper — run on DCS for exactly that integration.</p>
<h3>ABB 800xA: the flagship</h3>
<p>System 800xA is ABB&#x27;s large-scale DCS: redundant controllers (AC 800M family), a unified operations workplace, integrated batch (per ISA-88), historian, asset optimization, and safety (800xA High Integrity for SIL-rated loops) in one engineered environment. Its pitch is scale and lifecycle — thousands of I/O, multi-decade support horizons, and deep integration with ABB drives, motors, instrumentation, and electrical systems. It competes with Emerson DeltaV, Siemens PCS 7/PCS neo, and Honeywell Experion in the flagship tier, and selections turn on installed base, local support depth, and migration paths as much as on features.</p>
<h3>Freelance: the compact DCS</h3>
<p>ABB Freelance targets smaller process applications — skid builders, specialty chemical, food and beverage lines — that need DCS integration without flagship scale: compact controllers with built-in I/O, one engineering tool covering control, visualization, and trending, and a cost profile closer to high-end PLC systems. The honest comparison for Freelance is often &quot;PLC + SCADA + historian quoted separately&quot; rather than another DCS; it wins when engineering hours and integration risk dominate the hardware price.</p>
<h3>DCS vs PLC/SCADA, decisively</h3>
<p>Choose a DCS for continuous and large-batch processes where integrated alarming, historian, batch management, and operator environment outweigh flexibility — and where the vendor&#x27;s lifecycle commitment protects a 20-year asset. Choose PLC/SCADA for discrete manufacturing, skids with heavy customization, multi-vendor best-of-breed strategies, and teams whose skills center on 61131-3. Hybrids are normal: DCS for the process island, PLCs for packaging and utilities, OPC UA between them.</p>
<p>Delivery matters as much as selection. Process automation specialists such as <a href="https://aspotomasyon.com/">ASP Otomasyon</a> — active since 2001 in turnkey automation design, modernization, installation, and commissioning — implement and modernize DCS and PLC installations end to end. ABB&#x27;s portfolio overview lives under <a href="https://new.abb.com/control-systems">ABB Control Systems</a>.</p>
<h3>References</h3>
<ul><li><a href="https://www.isa.org/standards-and-publications/isa-standards">ISA standards: ISA-95, ISA-88, ISA/IEC 62443</a></li><li><a href="https://www.controlglobal.com/">Control Global</a> — DCS and process automation coverage</li><li><a href="https://www.chemicalprocessing.com/">Chemical Processing</a> — process industries publication</li></ul>]]></content:encoded><category>DCS</category><category>Process Automation</category><category>SCADA</category></item><item><title>AMR vs AGV: what the letters actually decide</title><link>https://shopfloor.space/articles/amr-vs-agv-difference/</link><guid isPermaLink="false">shopfloor:original:amr-vs-agv-difference</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>Fixed paths versus autonomous navigation — capabilities, fleet management, safety, and which one your material flow needs.</description><content:encoded><![CDATA[<p>AGV (automated guided vehicle) follows fixed infrastructure: magnetic tape, buried wire, QR grids, or laser reflectors. AMR (autonomous mobile robot) navigates with onboard sensing — lidar SLAM, 3D cameras, safety scanners — planning its own path around obstacles. The letters decide flexibility, deployment cost, and how your facility must change to host the fleet.</p>
<h3>Capability comparison</h3>
<ul><li><strong>Routing</strong>: AGVs run deterministic loops; rerouting means moving infrastructure. AMRs accept goal points from a fleet manager and reroute around blocked aisles in real time.</li><li><strong>Deployment</strong>: AGVs need facility modification and commissioning per path. AMRs need mapping runs and traffic-rule configuration — faster to first vehicle, with the complexity moved into fleet software.</li><li><strong>Traffic</strong>: AGV crossings are engineered (zones, interlocks); AMR crossings are negotiated (fleet manager reservations plus onboard safety fields). Mixed fleets of both types are where traffic design gets genuinely hard.</li><li><strong>Payloads and precision</strong>: heavy AGVs (forklift-class and above) still dominate high-payload and precise docking niches, though heavy AMRs are closing the gap. Docking repeatability depends more on the specific vehicle and target design than on the acronym.</li><li><strong>Safety</strong>: both use laser scanners with protective fields and must satisfy machinery safety requirements (risk assessment per ISO 12100, and mobile-robot-specific standards such as ISO 3691-4 for driverless trucks). Autonomy does not relax the safety case — it moves it into software assurance and validation.</li></ul>
<h3>Choosing</h3>
<p>Choose AGVs for fixed, high-volume, unchanging flows where determinism beats flexibility — and where the facility already has the infrastructure. Choose AMRs for dynamic environments, frequent layout changes, multi-stop workflows, and phased rollouts that start with two vehicles and grow. In both cases, budget more for the fleet manager, WMS/MES integration, and change management than for the vehicles: the robots are the easy part; the traffic rules, charging strategy, and operator trust decide whether the project survives month six.</p>
<h3>References</h3>
<ul><li><a href="https://www.therobotreport.com/">The Robot Report</a> — robotics industry news and analysis</li><li><a href="https://www.ros.org/">ROS: Robot Operating System</a></li><li><a href="https://www.automationworld.com/">Automation World</a> — material handling and manufacturing coverage</li></ul>]]></content:encoded><category>AMRs &amp; AGVs</category><category>Robotics</category><category>Manufacturing</category></item><item><title>OPC Unified Architecture (OPC UA) — technology overview</title><link>https://opcfoundation.org/about/opc-technologies/opc-ua/</link><guid isPermaLink="false">shopfloor:index:https://opcfoundation.org/about/opc-technologies/opc-ua/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>The OPC Foundation&#x27;s overview of the OPC UA architecture: platform-independent, service-oriented, with built-in security and extensible information modeling.</description><category>OPC UA</category><category>Industrial Networking</category></item><item><title>MQTT: the standard for IoT messaging</title><link>https://mqtt.org/</link><guid isPermaLink="false">shopfloor:index:https://mqtt.org/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>The MQTT organization homepage: protocol resources, version history, and links to brokers, clients, and the OASIS standard.</description><category>MQTT</category><category>Industrial IoT / IIoT</category></item><item><title>Eclipse Sparkplug — specification and resources</title><link>https://sparkplug.eclipse.org/</link><guid isPermaLink="false">shopfloor:index:https://sparkplug.eclipse.org/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>The Eclipse Sparkplug project: specification, TCK, compatible products, and working-group resources for MQTT-based OT interoperability.</description><category>Sparkplug B</category><category>MQTT</category><category>Industrial IoT / IIoT</category></item><item><title>Modbus specifications and resources</title><link>https://www.modbus.org/</link><guid isPermaLink="false">shopfloor:index:https://www.modbus.org/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>The Modbus Organization: current specifications for Modbus RTU, ASCII, and TCP, plus conformance and developer resources.</description><category>Modbus</category><category>PLCs</category><category>Industrial Networking</category></item><item><title>ODVA: EtherNet/IP and CIP technology</title><link>https://www.odva.org/</link><guid isPermaLink="false">shopfloor:index:https://www.odva.org/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>ODVA&#x27;s technology pages covering EtherNet/IP, CIP, DeviceNet, and conformance testing for multi-vendor interoperability.</description><category>EtherNet/IP</category><category>Industrial Networking</category></item><item><title>EtherCAT technology introduction</title><link>https://www.ethercat.org/en/technology.html</link><guid isPermaLink="false">shopfloor:index:https://www.ethercat.org/en/technology.html</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>The EtherCAT Technology Group&#x27;s technical introduction: functional principle, distributed clocks, topologies, and performance figures.</description><category>EtherCAT</category><category>Motion Control</category><category>Industrial Networking</category></item><item><title>PROFINET &amp; PROFIBUS International</title><link>https://www.profibus.com/</link><guid isPermaLink="false">shopfloor:index:https://www.profibus.com/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>PROFIBUS &amp; PROFINET International: specifications, profiles (PROFIdrive, PROFIenergy), certification, and technology news.</description><category>PROFINET</category><category>Industrial Networking</category><category>Process Automation</category></item><item><title>ISA standards: ISA-95, ISA-88, ISA/IEC 62443</title><link>https://www.isa.org/standards-and-publications/isa-standards</link><guid isPermaLink="false">shopfloor:index:https://www.isa.org/standards-and-publications/isa-standards</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>ISA&#x27;s standards library, including ISA-95/IEC 62264 (enterprise–control integration), ISA-88 (batch), and ISA/IEC 62443 (OT security).</description><category>MES</category><category>SCADA</category><category>Process Automation</category><category>OT Cybersecurity</category></item><item><title>NIST SP 800-82 Rev. 3: Guide to OT Security</title><link>https://csrc.nist.gov/pubs/sp/800/82/r3/final</link><guid isPermaLink="false">shopfloor:index:https://csrc.nist.gov/pubs/sp/800/82/r3/final</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>NIST SP 800-82 Rev. 3: the current federal guide to OT security — architecture, risk assessment, controls, and incident response for ICS.</description><category>OT Cybersecurity</category><category>SCADA</category><category>Industrial Networking</category></item><item><title>ROS: Robot Operating System</title><link>https://www.ros.org/</link><guid isPermaLink="false">shopfloor:index:https://www.ros.org/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>The Robot Operating System project: ROS 2 documentation, middleware (DDS), packages, and the industrial (ROS-Industrial) consortium.</description><category>Robotics</category><category>Factory Software</category></item><item><title>MTConnect: shop-floor equipment connectivity standard</title><link>https://www.mtconnect.org/</link><guid isPermaLink="false">shopfloor:index:https://www.mtconnect.org/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>MTConnect Institute: the open, read-only standard for shop-floor device data — adapters, agents, schemas, and companion specs.</description><category>CNC / Machining</category><category>Industrial IoT / IIoT</category><category>Factory Software</category></item><item><title>IEEE 802.1 Time-Sensitive Networking (TSN)</title><link>https://www.ieee802.org/1/pages/tsn.html</link><guid isPermaLink="false">shopfloor:index:https://www.ieee802.org/1/pages/tsn.html</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>The IEEE 802.1 working group&#x27;s TSN pages: task group, published standards (Qbv, Qbu, CB, Qcc), and ongoing projects.</description><category>TSN</category><category>EtherCAT</category><category>PROFINET</category><category>EtherNet/IP</category></item><item><title>SEMI: semiconductor equipment and materials standards</title><link>https://www.semia.org/</link><guid isPermaLink="false">shopfloor:index:https://www.semia.org/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>SEMI: standards (E-series, S-series), market data, and programs spanning wafer fab equipment and materials.</description><category>Semiconductor</category><category>Industrial Hardware</category></item><item><title>PLCopen: motion, safety, and IEC 61131-3 libraries</title><link>https://www.plcopen.org/</link><guid isPermaLink="false">shopfloor:index:https://www.plcopen.org/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>PLCopen: IEC 61131-3 motion control libraries, safety, OPC UA function blocks, and coding guidelines.</description><category>PLCs</category><category>Motion Control</category><category>OPC UA</category></item><item><title>AutomationML: vendor-neutral plant engineering data exchange</title><link>https://www.automationml.org/</link><guid isPermaLink="false">shopfloor:index:https://www.automationml.org/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>AutomationML: the open data format for exchanging plant engineering data between tools (topology, geometry, logic, behavior).</description><category>Digital Twins</category><category>Factory Software</category><category>Process Automation</category></item><item><title>Automation.com — news and resources</title><link>https://www.automation.com/</link><guid isPermaLink="false">shopfloor:index:https://www.automation.com/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>Automation.com: industrial automation news, tutorials, and vendor coverage from the ISA-affiliated publication.</description><category>Manufacturing</category><category>PLCs</category><category>SCADA</category></item><item><title>The Automation Blog — PLC &amp; HMI tutorials</title><link>https://theautomationblog.com/</link><guid isPermaLink="false">shopfloor:index:https://theautomationblog.com/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>Shawn Tierney&#x27;s long-running PLC and HMI tutorial site: reviews, training, and plain-spoken controls commentary.</description><category>PLCs</category><category>SCADA</category></item><item><title>HiveMQ Blog — MQTT in depth</title><link>https://www.hivemq.com/blog/</link><guid isPermaLink="false">shopfloor:index:https://www.hivemq.com/blog/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>HiveMQ&#x27;s technical blog: MQTT features, Sparkplug, broker operations, and IIoT architecture at scale.</description><category>MQTT</category><category>Sparkplug B</category><category>Industrial IoT / IIoT</category></item><item><title>OptoBlog — edge &amp; IIoT practices</title><link>https://blog.opto22.com/optoblog</link><guid isPermaLink="false">shopfloor:index:https://blog.opto22.com/optoblog</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>Opto 22&#x27;s OptoBlog: edge devices, Node-RED, MQTT/Sparkplug, and practical IIoT project writeups.</description><category>Edge Computing</category><category>Industrial IoT / IIoT</category><category>MQTT</category></item><item><title>Modern Machine Shop — machining technology</title><link>https://www.mmsonline.com/</link><guid isPermaLink="false">shopfloor:index:https://www.mmsonline.com/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>Modern Machine Shop: CNC processes, tooling, and shop technology for metalworking manufacturers.</description><category>CNC / Machining</category><category>Manufacturing</category></item><item><title>Additive Manufacturing — production 3D printing</title><link>https://www.additivemanufacturing.media/</link><guid isPermaLink="false">shopfloor:index:https://www.additivemanufacturing.media/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>Additive Manufacturing Media: production 3D printing — processes, materials, and end-use part manufacturing.</description><category>Additive Manufacturing</category><category>Manufacturing</category></item><item><title>HighByte — Industrial DataOps platform</title><link>https://www.highbyte.com/</link><guid isPermaLink="false">shopfloor:index:https://www.highbyte.com/</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>HighByte: Industrial DataOps software for modeling, contextualizing, and governing data from edge to cloud.</description><category>Industrial IoT / IIoT</category><category>Edge Computing</category><category>Factory Software</category></item><item><title>Kepware industrial connectivity (Velotic)</title><link>https://www.velotic.com/products/kepware</link><guid isPermaLink="false">shopfloor:index:https://www.velotic.com/products/kepware</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>Kepware (now part of Velotic): industrial connectivity software exposing hundreds of device protocols via OPC UA, MQTT, and more.</description><category>OPC UA</category><category>Industrial IoT / IIoT</category><category>Edge Computing</category></item><item><title>ABB Control Systems — 800xA &amp; Freelance</title><link>https://new.abb.com/control-systems</link><guid isPermaLink="false">shopfloor:index:https://new.abb.com/control-systems</guid><pubDate>2026-09-21T00:00:00+00:00</pubDate><description>ABB Control Systems: the 800xA DCS, Freelance compact DCS, PLC automation, and related lifecycle services.</description><category>DCS</category><category>Process Automation</category><category>PLCs</category></item></channel></rss>
