Spielregeln der industriellen Kommunikation

April 11, 2021
8 min.
Industrie 4.0
Credits to Gerd Altmann from Pixabay

Vorwort

Dieser Beitrag soll ausschließlich Grundlagen vermitteln. Es werden keine expliziten Industrie 4.0–Themen behandelt. Wenn Ihr mit dem Themengebiet der Kommunikationsprotokolle vertraut seid, dann könnt ihr den Artikel ruhig überspringen und zum nächsten Beitrag gehen. Für alle, die mit dem Thema nicht so vertraut sind und sich den Beitrag trotzdem durchlesen wollen, hier ein kleiner Einschub:

Wenn man einem Informationstechniker sagen würde, dass man das Thema „Basics von Kommunikationsprotokollen“ in einem einzigen Blogbeitrag, mit unter 2.000 Wörtern, zu erklären versucht, so würde man vermutlich ausgelacht werden. Es gibt zahllose Bücher die sich mit dem Thema befassen. In diesem Beitrag gehe ich wirklich nur sehr oberflächlich auf das Thema ein. Unten bei den Referenzen verlinke ich auf interessante Inhalte die über die Basics hinausgehen 😉.

Daten in der Pipeline

„Daten sind das Öl des 21 Jahrhunderts“. Diese Floskel wird häufig verwendet, wenn hervorgehoben werden soll, welchen Stellenwert Daten in diesem Jahrhundert haben. Auch wenn diese Floskel bereits etwas abgenutzt wirkt, eignet diese sich dennoch für die Überleitung zu dem Thema dieses Beitrags.

Jeder Autofahrer kennt die Sorge, eines Tages versehentlich den falschen Kraftstoff zu tanken. Hierfür gibt es (in den allermeisten Fällen) von Seiten der Tankstelle eine Art Hilfestellung. Wenn man beim Betanken seines PKWs versehentlich zur falschen Zapfpistole gegriffen hat, sollte man spätestens beim Einführen der Zapfpistole in den Tankstutzen skeptisch werden. Zapfpistolen weisen unterschiedliche Durchmesser auf. Eine Diesel-Zapfpistole hat einen Durchmesser von 25 mm, wogegen eine Benzin-Zapfpistole einen Durchmesser von 21 mm besitzt. Die Durchmesser der Tankstutzen am Auto haben die jeweils äquivalente Größe dazu. Es ist also sehr schwierig, eine Diesel-Zapfpistole, die einen Durchmesser von 25 mm hat, in einen Benzin-Tankstutzen, der für eine 21 mm Zapfpistole konstruiert wurde, einzuführen. Andersherum passt natürlich eine Benzin-Zapfpistole in einen Diesel-Tankstutzen. Diese Verbindung wäre aber sehr wackelig was wiederum ein Hinweis auf eine Verwechslung ist.

Man hat sich bei Zapfpistolen also auf gewisse Regeln geeinigt. Hersteller von Zapfpistolen konstruieren Ihre Produkte diesen Regeln entsprechend und Auto-Hersteller nutzen diese Regeln um die Schnittstelle - den Tankstutzen - dementsprechend anzufertigen.

Nach dieser langen Einleitung kann an dieser Stelle nun auch die gedankliche Brücke zu dem Thema dieses Beitrags geschlagen werden. Die Darstellung und der Transport von Daten unterliegen ebenfalls definierten Regeln. Diese Regeln werden in so genannten „Kommunikationsprotokollen“ festgehalten.

Ein jeder von uns nutzt tagtäglich verschiedenste Kommunikationsprotokolle. Sobald wir unser Smartphone nutzen, das Radio einschalten oder die Zentralverriegelung unseres Autos aktivieren. Jedes Mal werden Daten nach definierten Regeln kommuniziert und verarbeitet. Es ist möglich Kommunikationsprotokolle, abhängig von deren Einsatzgebiete, in unterschiedliche Gruppen zu unterteilen. Bevor es jedoch um die Gruppierung von Kommunikationsprotokollen geht, werden im Folgenden zwei beispielhafte Kommunikationsprotokolle erläutert.

Hypertext Transfer Protocol

Die Abkürzung für das Hypertext Transfer Protocol - „http“ - wird jedem schonmal begegnet sein. Meistens findet man diese Abkürzung in der Browserzeile. Dies kann dann wie folgt aussehen: http://www.tecislava.com.

Das Einsatzgebiet des Hypertext Transfer Protocols leitet sich schon aus dem Namen ab. Es ist dafür verantwortlich, sogenannte Hypertexte zu transferieren/übertragen. Hypertexte sind Texte, die Informationen in einer netzartigen Struktur bereitstellen. Netzartig bedeutet hierbei, dass der Text nicht wie dieser Text als Fließtext interpretiert wird, sondern Texte als verschiedene Blöcke interpretiert werden müssen. Mit dem Beispiel in der Folgenden Abbildung wird der Unterschied vermutlich deutlicher.

Vergleich eines Fließtexts mit einem Hypertext
Vergleich eines Fließtexts mit einem Hypertext

Rechts in der Abbildung ist ein Hypertext in der Ausdrucksprache HTML (Hypertext Markup Language) zu sehen. In dieser Ausdrucksprache werden Webseiten beschrieben. (Wenn ihr euch dafür interessiert, und das hier gerade nicht am Handy lest, könnt ihr ja mal mit der rechten Maustaste auf diese Website klicken. Die meisten Browser bieten eine Option die in etwa „Seitenquelltext anzeigen“ heißt. Wenn Ihr dies öffnet, bekommt Ihr diese Website im HTML-Format angezeigt).

Das Hypertext Transfer Protocol ist also dafür verantwortlich, dass ein Browser eine HTML-Datei abgerufen bekommt. Wie ein solcher Kommunikationsvorgang beispielsweise aussehen kann ist in Folgendem GIF dargestellt.

HTTP-Kommunikation zwischen einem Browser und einem Server im World Wide Web
HTTP-Kommunikation zwischen einem Browser und einem Server im World Wide Web

Ein Browser nutzt die http-GET Methode, um ein HTML-Dokument von einem Server im World Wide Web abzurufen. Hat der Browser das http-Dokument erhalten, teilt der Browser dies dem Server noch über den Statuscode „200 OK“ mit. Dieser Code ist einer von vielen Statuscodes die im http-Kommunikationsprotokoll hinterlegt sind. Vielleicht ist es dem ein oder anderen schonmal passiert, dass ein Browser anstatt einer Website den Statuscode „400 Bad Request“ angezeigt hat. Dies bedeutet, dass der Browser den Server im World Wide Web nicht erreichen konnte. Die folgenden Punkte listen die Regeln auf, die in den vorherigen Sätzen beschrieben wurden:

·       Es gibt einen http-GET Befehl, welcher ein Hypertext-Dokument anfordern kann

·       Bei erfolgreicher Übertragung wird der Status-Code „200 OK“ übermittelt

·       Kann der Server, der das Hypertext-Dokument zur Verfügung stellen soll, nicht erreicht werden, wird der Status-Code „400 BadRequest“ ausgelöst

Das Kommunikationsprotokoll http definiert noch sehr viel mehr Regeln als in diesem Absatz beschrieben. Es gibt alleine über 30 Statuscodes und verschiedenste Alternativen zum http-GET Befehl (POST, PUT, DELETE …) [1]. Abschließend der Versuch das Einsatzgebiets des http-Protokolls in einem Satz zu beschreiben:

Mit Hilfe des http-Protokolls werden hypertext-Dokumente zwischen verschiedenen Computer-Instanzen hin- und hergeschickt.

Einschub:

Meistens findet man in der Browserzeile anstatt „http“ die Buchstaben „https“. https ist eine Erweiterung von http. Das zusätzliche „s“ ist lediglich ein Hinweis darauf, dass die Informationen verschlüsselt transportiert werden. Den Security-Aspekt habe ich in diesem Beitrag außen vorgelassen.

CAN-Bus

Der CAN-Bus (Controller Area Network – Bus) ist ein serielles Bussystem. Dieser Satz muss eventuell etwas näher erläutert werden.

Eine „serielle“ Kommunikation bedeutet, dass Signale in Form von Bits übertragen werden. Ein Bit kann generell immer nur die zwei Zustände 0 oder 1 annehmen. Bei einer seriellen Kommunikation werden diese Einsen oder Nullen durch unterschiedlich starke Stromsignale erzeugt. Beim CAN-Bus ist es so, dass ein Stromsignal von über 3,5 Volt als „1“ und unter 1,5 Volt als „0“ interpretiert wird. Man kann sich eine serielle Datenübertragung also so vorstellen, dass sehr viele, sehr kurze Stromsignale nacheinander folgen.  Daraus ergibt sich dann eine Aneinanderreihung von Einsen und Nullen. Folgender Signalverlauf fasst das vorherige nochmal zusammen und beschreibt wie acht Bits bei einem CAN-Bus übertragen werden können.

Beispiel für eine serielle Datenübertragung eines CAN-Bus
Beispiel für eine serielle Datenübertragung eines CAN-Bus

Diese 8 Signale würden zu der Bitreihenfolge „01110100“ führen. Nach dem ASCII-Code kann diese Bitreihenfolge als der Buchstabe „t“ interpretiert werden. Es ist also möglich, mit Hilfe von sehr vielen Bits, Buchstaben oder ganze Begriffe zu übertragen.  

Um den ersten Satz dieses Kapitels vollständig zu erklären fehlt noch eine Erläuterung des Begriffs „Bussystem“. Für die Erklärung dieser Technologie ist es hilfreich die Problematik zu beschreiben, die früher ohne Bussysteme existiert hat. Wenn in einem Auto ein Signal von A nach B transportiert werden musste, wurde dafür ein Kabel verlegt. Die Schaltung war dann relativ simpel. Wenn Beispielsweise ein Fenster geöffnet werden sollte, dann hat man auf einen Knopf gedrückt. Durch dieses Drücken wurde ein Stromfluss freigegeben, der den Fenstermotor mit Energie versorgt hat und das Fenster konnte geöffnet werden. Solange es noch wenig Elektronik in den Autos gab, war das ganze halb so wild. In den 80er Jahren wurde aber vermehrt Elektronik in die Autos eingebaut. Dadurch wurden die Kabelbäume in den Autos schonmal bis zu 2 km lang. Dies hat sich vor allem im Gewicht der Fahrzeuge niedergeschlagen. Es musste also erreicht werden, dass weniger Kabel in Autos verbaut wurden. Bei einem Bussystem werden anstatt zwei Teilnehmer im Stromkreis mehrere Teilnehmer eingebunden. Dafür ist es dann notwendig keinen klassischen Stromfluss mehr zu haben, sondern Bussignale. Bezogen auf das Beispiel mit dem Fenster bedeutet dies, dass alle Fenstermotoren und alle Knöpfe zum Bedienen der Fenster in einem Stromkreis sind. Über das Stromsignal wird dann mitgeteilt, welcher Teilnehmer welche Aktion durchführen soll.  Ein Bussignal muss also Informationen enthalten wie bspw.:

·       Von welchem Teilnehmer kommt das Bussignal

·       An welchen Teilnehmer soll das Bussignalgeschickt werden

·       Inhalt/Befehl des Bussignals

Ein Bussystem ist also ein Zusammenschluss mehrerer Geräte die sich über elektrische Signale gegenseitig austauschen.

Durch die Erklärung der beiden Begriffe „seriell“ und „Bussystem“ wurden schon verschiedene Regeln erklärt, die in dem Kommunikationsprotokoll CAN-Bus festgelegt sind.

·       Ein Stromsignal über 3,5 V kann als 1interpretiert werden

·       Ein Stromsignal unter 1,5 V kann als 0interpretiert werden

·       Aus dem gesamten Signal müssen der Absender und der Empfänger hervorgehen

Ein Bussystem ist also ein Zusammenschluss mehrerer Geräte die sich über elektrische Signale gegenseitig austauschen [2].

Auch bei dem CAN-Bus Kommunikationsprotokoll habe ich sehr viele Inhalte vereinfacht und bin bei weitem nicht auf alles eingegangen was bei einem CAN-Bus konformen Signal übertragen wird. Wie bereits mehrfach in diesem Beitrag betont, soll tatsächlich nur ein grundlegendes Verständnis zu Kommunikationsprotokollen vermittelt werden.

Gruppierung von Kommunikationsprotokollen

Die beiden zuvor beschriebenen Kommunikationsprotokolle haben zwei sehr unterschiedliche Einsatzgebiete. Während http sich mit der Kommunikation zwischen Applikationen beschäftigt, kümmert sich der CAN-Bus um die physische/elektrische Datenübertragung. Um Kommunikationsprotokolle in Gruppen unterteilen zu können gibt es das sogenannte ISO/OSI-Modell. Dieses besteht aus sieben Schichten. Jedes Kommunikationsprotokoll kann (mindestens) einer dieser Schichten zugeordnet werden. http befindet sich in der obersten Schicht. Die sogenannte Applikationsschicht. Das CAN-Bus Kommunikationsprotokoll ist eher in den unteren beiden Schichten zu finden. Auf den untersten Ebenen werden Daten also physisch verarbeitet. In den mittleren Schichten werden diese dann über Netzwerke etc. verteilt und von den oberen Schichten für Applikationen bereitgestellt [3].

Die sieben Schichten des ISO/OSI-Referenzmodells. Quelle: https://int0x33.medium.com/day-51-understanding-the-osi-model-f22d5f3df756 [abgerufen am 10.04.2021]
Die sieben Schichten des ISO/OSI-Referenzmodells. Quelle: [4, abgerufen am 10.04.2021]

Kommunikationsprotokolle müssen eigentlich immer in Interaktion mit anderen Kommunikationsprotokollen betrachtet werden. In den aller seltensten kommt es vor, dass bei einer Datenübertragung nur ein einzelnes Kommunikationsprotokoll verwendet wird. Um dies anhand der beiden beispielhaften Protokolle zu erklären kann man sagen:

Die Information die letztendlich in einem Hypertext-Dokument drin steht, kann durchaus vorher mit Hilfe einer CAN-Bus Signals übertragen worden sein.

Was passiert in den folgenden Beiträgen?

In der Welt von Industrie 4.0 zeichnet sich immer deutlicher ab, welche Kommunikationsprotokolle eine übergeordnete Rolle spielen werden. Grund genug, hierzu demnächst eigene Beiträge online zu stellen. Wir werden drei der derzeit am meisten diskutierten Kommunikationsprotokolle thematisieren.

OPC UA, welches seine Stärken in der Informationsdarstellung besitzt. MQTT, dass eine hervorzuhebende Variante der Netzwerkkommunikation ermöglicht. Und zu guter Letzt natürlich eins der größten Buzzwords der letzten Jahre. 5G!

Referenzen
Portrait of Blogger
Björn Kämper
<  Previous
Next  >

Kommentare