Zakaria El Intissar

I've spent 13 years in power system automation, electrical protection, and SCADA communication, as an automation and industrial computing engineer. ScadaProtocols.com is where I turn what I've learned on site into plain guides and working tools — so other engineers can decode, analyze, and troubleshoot industrial communication protocols without the guesswork.

Author Archives: Zakaria El Intissar

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) »

Modbus TCP on the Siemens S7-1500 (TIA Portal): MB_CLIENT and MB_SERVER

The S7-1500 talks Modbus TCP straight out of its PROFINET port. No CP module, no license, no third-party library. You drop in two instructions — MB_CLIENT and MB_SERVER — point them at a connection structure, and you have a working Modbus link. That said, the part that trips people up isn’t dropping the block in. It’s the connection… Read More: Modbus TCP on the Siemens S7-1500 (TIA Portal): MB_CLIENT and… »

NERC CIP Compliance: Complete Guide to All CIP Standards

The North American power grid is the largest interconnected machine on the planet. A cyberattack that disrupts it does not just affect one company — it affects millions of people who depend on electricity for hospitals, water treatment, communications, and daily life. NERC CIP exists to prevent that. It is a set of mandatory cybersecurity standards that every… Read More: NERC CIP Compliance: Complete Guide to All CIP Standards »

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 »