Are these protocols: RS-232, Ethernet, OPC UA, PROFINET, MQTT?
What is a protocol, specifically a network protocol? Merriam Webster says “a set of conventions governing the treatment and especially the formatting of data in an electronic communications system <network protocols>”
This seems incomplete to me, so here’s Techopedia’s definition: “Network protocols are formal standards and policies comprised of rules, procedures and formats that define communication between two or more devices over a network. Network protocols govern the end-to-end processes of timely, secure and managed data or network communication.”
I think the important part is the end-to-end part. Many “protocols” only cover part of the journey. All this reminds me of a PROFIblog post I wrote over 10 years ago, Why Use Industrial Ethernet? Here’s the key part:
Carl: How will you communicate with this piece of equipment?
Customer: It has an RS-232 port.
Carl: Good. What protocol does it use?
Customer: It has an RS-232 port.
Carl: RS-232 just defines what happens on the wire. There also needs to be a protocol that defines how the data is communicated. What protocol does it use?
Customer: It has an RS-232 port.
Carl: ARGH! [Followed by counting to ten and a phone call to the equipment manufacturer in the fervent hope that the protocol will be the Semiconductor Equipment Communications Standard. I like SECS.]
Now repeat this conversation substituting Ethernet, OPC UA, PROFINET, and MQTT for RS-232. The ARGH is still the result for Ethernet and MQTT; they only get you part of the way. As an example, the creators of MQTT are proud to have used MQTT for Facebook Messenger. If MQTT were an end-to-end protocol I could connect my robot to Messenger and expect them to communicate. Not happening! But PROFINET robot to controller communicates. And OPC UA robot to HMI or historian communicates. PROFINET and OPC UA are end-to-end network protocols.
PROFINET is a protocol! End-to-end communications, fast, and deterministic.
–Carl Henning