300+ SCADA Protocol Articles & Guides
Deep dives on Modbus, DNP3, IEC 60870-5-101/104, IEC 61850, OPC UA, Profinet, MQTT, IEC 62443, and substation automation — written for practicing engineers.
CIP Forward_Open Service Explained: How Every EtherNet/IP Connection Starts
Complete guide to the CIP Forward_Open service: request structure, network connection parameters, transport class, electronic keying, and Extended Status.
CIP Data Types Complete Reference: Elementary, String, Time, and Structured Types
Complete reference of CIP data types: BOOL, SINT, INT, DINT, REAL, STRING, EPATH, structured types, type codes, sizes, ranges, and encoding rules.
CIP General Status Codes Reference: Complete List with Troubleshooting
Complete reference of CIP General Status Codes 0x00 through 0x2B with descriptions, common causes, and troubleshooting steps for every code.
CIP Service Codes Complete Reference: Common Services and Object-Specific Codes
Complete reference of CIP service codes: Get_Attribute_Single, Set_Attribute_Single, Forward_Open, Multiple_Service_Packet, and all common services.
DLR Device Level Ring Explained: Ring Redundancy for EtherNet/IP
How DLR delivers 3 ms recovery on EtherNet/IP rings: ring supervisor election, beacon frames, fault detection, topology limits, and troubleshooting.
EtherNet/IP Encapsulation Protocol Explained: The 24-Byte Header That Carries CIP
How EtherNet/IP wraps CIP onto TCP/IP: the 24-byte encapsulation header, commands, session management, Common Packet Format, and status codes.
MQTT 5 Session & Message Expiry Intervals Explained
How MQTT 5 session and message expiry intervals work: bounding stored session lifetime and per-message TTL, with the values, defaults, and broker behavior explained.
MQTT Over WebSockets Explained: Browsers, Ports, TLS
How MQTT over WebSockets works: the WebSocket handshake, MQTT subprotocol negotiation, default ports 80/443, secure WebSockets with TLS, and browser MQTT clients.
What's New in MQTT 5? Features, Changes & Why Upgrade
MQTT 5.0 explained: foundational changes (properties, reason codes, Clean Start, AUTH packet), new features, why the version jumped from 3.1.1 to 5, and migration notes.
CIP Safety vs PROFIsafe: An Honest Comparison of SIL3 Safety Protocols
CIP Safety vs PROFIsafe: real technical differences in addressing, time monitoring, engineering tools, ecosystem, and when to pick which. Vendor-neutral.
CIP Safety Explained: How EtherNet/IP Carries SIL3 Safety Data
How CIP Safety works on EtherNet/IP: the Black Channel principle, Safety Validator objects, SafetyOpen, SNN, Time Coordination, and troubleshooting.
PROFINET vs EtherCAT: An Honest Comparison for Real Projects
PROFINET vs EtherCAT compared without the marketing: wire-level differences, cycle times, topology, real cost, ecosystem, and when each is the right call.
EtherCAT Protocol Explained: The Trick That Makes It Fast
EtherCAT protocol explained end to end: processing on the fly, frame and datagram structure, Distributed Clocks, mailbox protocols, and the state machine.
MQTT Keep Alive & Client Take-Over Explained
How MQTT keep alive works: PINGREQ and PINGRESP packets, the half-open connection problem, the 1.5x detection rule, and client take-over on ClientId reconnect.
MQTT Last Will and Testament (LWT) Explained
How MQTT Last Will and Testament works: the will message, will topic, will QoS and retain, when the broker publishes the will, and the will + retained pattern.
MQTT Retained Messages Explained: Last Known Value
How MQTT retained messages work: the retain flag, storing the last value on a topic, wildcard delivery, QoS interactions, clearing retained messages, and patterns.
MQTT Persistent Sessions & Message Queuing Explained
How MQTT persistent sessions and message queuing work: clean session flag, session present flag, what the broker stores, client state, and MQTT 5 changes.
MQTT QoS Levels Explained: QoS 0, 1 and 2
How MQTT QoS levels work: QoS 0 at most once, QoS 1 at least once, QoS 2 exactly once, the handshakes, QoS downgrade, packet identifiers and choosing a level.