Updated: Jun 1, 2020
I've been talking about models and prototypes, "on the fly" testing, Hardware-in-the-Loop (HIL), Rapid Control Prototyping (RCP), and real-time target machines a lot (which makes sense given the nature of this blog). However, I never went into any detail on how the different components of a system exchange data. All I said was that they're "connected". I suppose it's time to talk about communication protocols! Why is this important? Well, computer networks can't exist without them.
There are specific industry protocols that engineers use to establish communication between computing systems, which are required (without the exchange of data/messages you have zero to work with). Communication protocols are formal descriptions of digital message formats and rules, covering pivotal aspects such as authentication, signaling, and error detection and correction. In order to cover all of these functionalities and for the devices to agree on physical aspects at the same time, there has to be a predefined and rule-defining transmission concept, a so-called communication protocol. It probably doesn't come as a surprise to you, that there are many different properties of transmission a protocol can define. This goes from packet size, error correction types, handshaking and synchronization techniques, to flow control, address formatting, and transmission speed, and many more (to get a more technical definition of communication protocol, click here).
So Why Are There So Many Communication Protocols?
Given the explanation above, this is a fair question. If we say, that depending on the industry, the properties of transmission vary, then maybe it's not so much about the industry and more about the use-case, the application. Would you agree?
I asked an expert and this is what she told me: most communication protocols are really uniquely made to the industry and use case, which is why there are so many. Furthermore, communication protocols were invented and implemented over a long period of time and at various locations around the world (different companies, universities, and so on). Some protocols are now established (for instance ISO), others didn't make the cut. Why? Well, some protocols are too specific, only serving a very specific niche, which when the technology it was designed for goes out of fashion, the communication protocol dies with it.
The World of Movies
Let's compare communication protocols to the world of movies. Imagine this: there are several production studios, authors and stakeholders, who create movies for all different types of genres. There might be movies that gross huge revenue at the box office, because they have a strong fan base, or simply because they are good. There are movies that are only watched by few people, being too specific or just badly made. Some of the movies get continued, while others are busts. Some of them win an Oscar and thereafter are held as measuring stick for upcoming movies, which makes them a classic (in terms of communication protocols one would say a standard). And finally, there are movies, which attract viewers across different genres and/or work for different genres at the same time (for instance a Rom-Com). This analogy does not fully follow through – gladly we don’t have as much communication protocols as movies, but there are some parallels we can point out.
However, there is a multifold of other aspects to consider, when asking why a certain communication protocol is looked upon as a standard communication protocol. So what makes a communication protocol stand out from the crowd?
CAN a Standard, Ethernet a Rom-Com?
A standard protocol usually originates from a need of company or university with some prominence within the specific field the communication protocol was designed for. This is probably also why communication protocols still remain quite industry-specific. Up to this day not much work has been going into leveraging proctocols across different industries. This is sometimes also understandable, considering aspects such as security: in aerospace for example, there are much higher requirements than in building automation. Why use a sledgehamer for cracking a nut?
There are communication protocol standards, such as CAN or its successor FlexRay in the automotive industry. Ethernet is not only a standard protocol to work with, but is used across different industries, making it a multi-industry communication protocol. Here are some further important protocols I'd like to add:
ARINC 429, Dshot and many more are widely used in the aerospace industry.
EtherCAT, PROFINET among others are standards in industrial automation.
... and many more!
There is so much more to add and talk about when it comes to communication protocols (and trust me, I will follow up on this post). But for now, I think you got the gist. Next time, we'll take a quick glimps into I/O connectivity and figure out, if its the technical underlining for communication protocols, or something out of this world! As always: stay tuned, cute, and curious!
I have already linked to the page, but here you can find everything on Programmable Logic Controllers (PLCs) and key words in industrial automation (remember the post on digital twin?). This field is very interesting, and I will definitively talk more about SCADA in a future post. Anyway, here you go.
If you want to get lost in a flood of information about communication protocols and how different scientific papers touch on them - et voilà click here.