Modbus Broadcast Function Codes: Address 0 Explained

Does anyone actually use Modbus broadcast? Some do. Most engineers go their whole careers without touching it. Broadcast is one of those Modbus features that lives in the corner of the spec, gets one or two paragraphs in most books, and shows up unexpectedly when you have to commission a large multi-drop bus at 3 AM. This article… Read More »

Zakaria El Intissar

Modbus TCP MBAP Header Explained: 7 Bytes Byte by Byte

Every Modbus TCP packet starts with 7 bytes called the MBAP header (Modbus Application Protocol header). Those 7 bytes are what turn Modbus from a serial protocol into a network protocol. Get them right and everything works. Get them wrong, and the server may ignore the request, close the connection, or return an exception. This article decodes a… Read More »

Zakaria El Intissar

Modbus TCP Security Explained: TLS on Port 802

Standard Modbus TCP has zero security. No authentication. No encryption. No integrity checks. Anyone who can reach TCP port 502 can issue Modbus requests. Depending on the device configuration, this may allow reading registers, writing coils or registers, changing operating parameters, or disrupting industrial processes. For decades, the answer was “put it behind a firewall and hope for… Read More »

Zakaria El Intissar

Modbus Byte Order and Word Order: Fix Your 32-Bit Values

You read a float from a Modbus device. The value should be 25.3 degrees Celsius. You get 1.3 × 10³⁸. Or maybe -8.5 × 10⁻⁴¹. Or something that swings wildly between reasonable and absurd every time you re-read. Welcome to Modbus byte and word order. It is the single most common headache when you connect a new device.… Read More »

Zakaria El Intissar

How to Configure CIP (EtherNet/IP) on Allen-Bradley Controllers

On an Allen-Bradley controller, “CIP” and “EtherNet/IP” are the same conversation. CIP is the protocol — the object model, the services, the way data is named. EtherNet/IP is CIP running on top of standard Ethernet. When you configure a Rockwell PLC to talk to a drive, a remote I/O block, a camera, or another controller, you’re configuring EtherNet/IP,… Read More »

Zakaria El Intissar

Free FTP Clients: Which One Fits the Job You Do

Every FTP client on this list is free. Not free trial. Not free with locked features. Free. So the question is not “which one costs nothing.” It’s “which one fits the work you do.” A tech pulling event records from relays needs a different tool than someone running nightly backup scripts. This guide sorts the clients by job,… Read More »

Zakaria El Intissar

FTP Explained: How File Transfer Protocol Works

FTP is the oldest protocol you will still find running in a substation. It moves files between two machines over TCP. That is the whole job. But the way it does the job — two separate connections, plain-text commands, a server that calls you back — trips up more engineers than any other legacy protocol. This article walks… Read More »

Zakaria El Intissar

MQTT 5 Request Response Pattern Explained: RPC Over MQTT

MQTT was born as a publish/subscribe protocol — messages flow from many publishers to many subscribers with no expectation of a response. This model fits telemetry perfectly: sensors publish, dashboards subscribe, nobody waits for anyone. But when you need one client to ask another client a specific question and get one specific answer back, pub/sub alone falls short.… Read More »

Zakaria El Intissar

MQTT 5 Maximum Packet Size Explained: Property 0x27

Every MQTT packet has a size — from a tiny 2-byte PINGREQ to a large PUBLISH carrying a firmware update. In MQTT 3.1.1, receivers had no way to tell senders what maximum packet size they could handle. A memory-constrained embedded gateway would just crash when a 10 MB PUBLISH arrived. A publisher had to guess: is this Server… Read More »

Zakaria El Intissar

MQTT 5 Correlation Data Explained: Request/Response Pattern

MQTT was designed for publish/subscribe — fire-and-forget messaging from many publishers to many subscribers. For two decades, that’s what MQTT did. If you wanted classic request/response (“send a query, get back exactly one answer for that query”), you had to use HTTP, AMQP, or roll your own correlation scheme on top of MQTT topics. MQTT 5 added native… Read More »

Zakaria El Intissar