Category Archives: Communication Protocols

MQTT 5 Reason Codes, Reason Strings, and Negative Acknowledgements

If you have ever debugged an MQTT 3.1.1 deployment where a client mysteriously refuses to connect, or where a publish silently fails to reach its subscribers, you have run into MQTT 3.1.1’s biggest weakness: it tells you almost nothing about what went wrong. The handful of CONNACK return codes are vague, most other packets carry no failure indicator… Read More: MQTT 5 Reason Codes, Reason Strings, and Negative Acknowledgements »

CIP Connection Manager Object Explained (Class 0x06)

Behind every Forward_Open is one object. Behind every Forward_Close, every Unconnected_Send, every “connection timeout,” every “out of connections” error — one object. The Connection Manager Object (Class 0x06) is the CIP object that allocates and manages all the connection resources in a device. If Forward_Open is the service, the Connection Manager Object is what answers the door. This… Read More: CIP Connection Manager Object Explained (Class 0x06) »

CIP Connection Types Explained: Transport Class 0, 1, 2, and 3

Every CIP I/O connection has a transport class — a single nibble in the Forward_Open Transport Class Trigger byte that decides how the connection behaves. Class 0, Class 1, Class 2, Class 3 — engineers see these terms in Studio 5000, in Wireshark captures, in product documentation — but rarely with a clear explanation of what each one… Read More: CIP Connection Types Explained: Transport Class 0, 1, 2, and… »

CIP Identity Object Explained: How Every EtherNet/IP Device Identifies Itself

Every CIP device has one. Every browse of an EtherNet/IP network reads from it. Every Forward_Open validates against it. Every “what is this device” query touches it. The Identity Object (Class 0x01) is the most-accessed object on every CIP device — yet most articles barely cover it. This article fixes that. If you have ever wondered where Studio… Read More: CIP Identity Object Explained: How Every EtherNet/IP Device Identifies Itself »

EDS Files Explained: How EtherNet/IP Devices Describe Themselves

Open Studio 5000, browse the network, find a third-party EtherNet/IP device, and click “Add Module.” If the device’s EDS file is registered, the configuration tool already knows the device’s Vendor ID, Product Code, supported connections, assembly sizes, and parameter ranges. If the EDS isn’t registered, you get a generic device entry with very little to work with. EDS… Read More: EDS Files Explained: How EtherNet/IP Devices Describe Themselves »

CIP Forward_Open Service Explained: How Every EtherNet/IP Connection Starts

Every CIP I/O connection in the world starts with one service: Forward_Open. The PLC sends it to a remote drop, the drop validates it, and if everything checks out, the cyclic exchange begins. If something does not check out, the Forward_Open returns an error and the connection never opens — the device is invisible to the PLC until… Read More: CIP Forward_Open Service Explained: How Every EtherNet/IP Connection Starts »