Moin, hier ist einfach komplex und in der heutigen Folge lernst
du in 45 Minuten würde ich jetzt mal schätzen, alles über modbus
wo es herkommt, was man damit machen kann und ja wie du in der
Praxis damit umgehst und damit Moin auch von mir Gerrit und
Hallo bockhardt. Ja Moin Gerrit, Ja Moin und alle
aus Hamburg. Vielleicht schaffen wir es n
bisschen schneller als 45 Minuten, aber so kompliziert ist
das Modbus nämlich nicht. Gott sei.
Dank, ja, man weiß ja nicht wie lange vorher, ist aber.
Man weiß es vorher nie, deswegen ist es besser, etwas länger
anzusagen, als man tatsächlich braucht, ja.
Modbus ja, wahrscheinlich überhaupt, es zu sagen, aber das
mal nichts mit dem Bus zu tun, ja, also mit dem Bus, an den wir
als erstes denken beim von dem Bus hören, wir sind ja in der
Automatisierungstechnik oder sind wir eigentlich Software, wo
würdest du es immer einordnen modbus?
Ja ne, ja schon ist schon Software so, aber es ist uralt.
Ne ist ein Jahr im Modbus also das ist ja n Protokoll also wir
wir sind hier zwischen wir sind nah an der Hardware dran, an den
sogenannten SPSN oder PLC auf Englisch programmible Logic
Controllers und SPS gerät. Speicherprogrammierbare
Steuerung Oh. Super.
Ich hätte es jetzt nicht aus der Kanone schießen können.
Genau das sind ja die, das sind ja quasi die ja die
Hardwarestücke, die dann irgendwie direkt mal Aktuatoren
und Sensoren im Feld. Kontrollieren typischerweise bis
heute und modbus ist ein Jahr älter als ich.
Ich glaube 79 rausgekommen war so dann lange Zeit, dass der
Klassiker und der Standard um diese PLCS weiter nach oben sag
ich mal. Also in die in die Softwarewelt,
in die Kontrollsysteme, in die Skalawelten und so weiter zu
bringen, also die Verbindung herzustellen zwischen unseren
SPSN oder PLCS und dann der Überliegenden softwarewelt ja
da, da sind wir eingeordnet und da ist natürlich viel
industrieller Kontext, das ist schon so, ja.
Mhm, genau OK. Also ein Kommunikationsprotokoll
in der Industrieautomation, sagen wir es mal so.
Genau. Und was unterscheidet sich jetzt
beim Modbus oder was ist der der Unterschied so n bisschen zu zu
anderen Protokollen, die da im Einsatz sind?
Also zum Beispiel hört man manchmal von Profinet OPCUA
kennen wir natürlich auch ganz gut, also ist das Wort
vergleichbar mit diesen Industrieprotokollen oder
Kommunikationsprotokollen. Ja, aber so, das ist schon
gerechtfertigt, dass man die alle mal vergleicht, weil es
sind wir haben alle irgendwie ne ähnliche Attitüde, nämlich
Kommunikation herzustellen in beide Richtungen wohlgemerkt,
das kann Modpus auch, also lesend und schreibend, wenn man
das jetzt vergleichen will, da da muss man ne sehr lange Folge
machen, aber ich mal kurz gesagt, Modpus ist eines der
einfachsten Protokolle und zwar jetzt für wen, einfach für den
Menschen würde ich mal sagen zu verstehen.
Ja die Definition von Modpus und das die Bytes die man da hin und
her schickt, die Art der Message ist.
Das ist sehr, sehr simpel gehalten.
Ja, und wir haben ja gesagt, Protokoll, ja Protokoll, sind ja
quasi ist ne n Regelwerk wie ich Inhalte verschicke so n bisschen
ne wenn ich n Brief schicke, wie schreibe ich den Text, ist das
irgendwie jetzt mal kurz blödes Beispiel aber schreibe ich da
auf Französisch hin mit mit aus mit ausflügelnder Grammatik oder
schreibe ich irgendwie stenoreien oder irgendwie
Morsezeichen in meinen Brief so ja das ist das Protokoll.
Und dann ist noch die Frage, wie schicke ich den Brief?
Ja, welches Transportmittel? Ja, packe ich den irgendwie auf
das Fahrrad vom Postträger und der fährt los und so war es
früher ne, also der Fahrradfahrer so ganz schlicht,
es war serielles Protokoll, ganz am Anfang, seriell heißt es halt
einfach die Verbindung zwischen dem PLC und dem PC oder dem
Computer der es Halt verarbeitet hat, ne durch ein Kabel synchron
ne und du musstest immer warten konntest.
Es konnte immer nur ein Brief im Kabel sein sage ich mal ne
einmal Anfrage. Und danach kam die Antwort und
dazwischen nix und so weiter das das ist dieses RS 232, das kennt
man, hat man schon mal gehört vielleicht, das ist dieses RS
232 und da gibt es noch das neuere RS 485, das heißt wieviel
kann ich quasi an Byte da durchschieben durch das Kabel,
aber das ist ne uralte Zeit ja und und weil halt quasi
Transportmittel noch nicht so cool waren und weil im Prinzip
die Memories und die Hardware und so weiter 79 ja das war das
ist noch n bisschen überschaubarer.
Wurde das halt ganz schlicht gehalten, dieses Protokoll.
Und im Gegensatz zur OPCUA das ist so OPCUA ist dagegen
irgendwie n akademischer Elfenbeinturm, da kannst du gibt
es strukturierte Daten und was weiß ich nicht alles ja und im
Modpus das kann man vielleicht auch schon mal jetzt schon
ranschieben die Sprache, die da spricht sind Worte, und zwar 16
bit Worte 16 Bit Worte sind jetzt für die Techniker unter
uns die unsigned integer Größe, also damit kannst du dann also
genau 65535 glaube ich. Zahlen, wenn du es im Dezimalen
abbilden würdest, Encodieren und über über Abfolge von diesen 16
Bitworten wurde kommuniziert. Ja, und da gibt es im Prinzip
nicht die Datentypen, müssen sich dann quasi auch wieder auf
der jeweiligen Seite erschossen werden.
Ja, das konnte nichts anderes als diese, als diese Worte durch
die Gegend schicken, ja und insofern komplett schlicht und
die meisten anderen Protokolle sind etwas, ja haben etwas mehr.
Bedingungen, etwas mehr Möglichkeiten und so weiter und
sofort. Ja, obwohl man raus sagen muss,
das MQTT Protokoll ist auch sehr sehr sehr sehr schlicht, ja und
deswegen auch sehr erfolgreich, ja.
Da ist ja die Parallele dann auch ne.
Also Modbus ist total erfolgreich und seit 46 Jahren
hab ich jetzt gehört im Einsatz, ich hab noch gesehen, dass
Modbus von da irgendeiner Firma entwickelt wurde, die die
Modicon hieß, vielleicht kommt daher auch der Name und n Bus
ist ja was was generelles ne also.
Gibt es schon auch für irgendwas, also als Abkürzung,
aber die haben dann den Modbus erfunden bei Modibus und heute
ist das wohl Schneider Electric, also modicon Geräte ah ja
modicon nicht von ich wusste genau.
Ja. Ja, schon später, OK so, und das
ist heute Schneider Electric oder wo du halt Schneider
Electric hast es dann irgendwann gekauft.
So jetzt hast du gerade schon noch so so so n paar
Eigenschaften herausgestellt, also es ist irgendwie einfach,
es ist entsprechend wahrscheinlich günstig.
Ich setze mal auch dann. Erst robust, ja, und, und das
macht es dann eben auch interessant bis heute für
verschiedene Anwendungsfälle. Und du hast gerade also bevor
wir auf die Anwendungsfälle kommen, mit denen welche Geräte
wo steckt, das drin und so noch mal n bisschen genauer.
Du hast gerade schon erwähnt, es gibt es serielle, Modbus und
dann gibt es noch das, was das andere, das digitale, den
digitalen Modbus, dann also was ist.
Ja, es gibt im. Im Prinzip gibt es 3 Modbusse,
wo man das so sagen darf, ich weiß es nicht.
Modbusse Modbusse ja. In 2 Kategorien, wenn man es mal
genau aufteilt. Und zwar gibt es erstmal das
Serielle, das hast du schon gesagt, das serielle Modpus,
also wo der Transportweg ein serielles Kabel ist, hatten wir
gerade schon RS 232 oder RS 485 typischerweise und innerhalb
dieser seriellen Transportübertragung gibt es 2
Möglichkeiten das Modpus aufzuziehen, und zwar einmal als
Aski so was heißt jetzt aski, also also quasi müsste es, dann
sind die oder die Inhalte des Briefs.
Text kodiert Aski ist ja das. Es sind ist, ja ist quasi unser
normales Alphabet. Also das sind lesbare
Buchstaben. Ja, da können Sie ja so, also
das macht dann immer noch keinen Sinn und diesen Briefdienst für
den Normalsterblichen, der jetzt nicht genau weiß, wie Modbus
funktioniert, es ist immer noch Kauderwelsch, aber jemand der
weiß wie Modbus modbus regeln sind, der kann dann eigentlich
schon wenn er den Brief öffnet erkennen, OK, dass und das
passiert, ich hab die in die function gesendet und das in das
Register gesetzt, das wäre aski und genau dafür ist es auch cool
und deswegen gibt es das auch, weil ich das halt besser
debuggen kann. Man muss sich ja mal vorstellen,
heute kann man ja alles n Gott, die Backen hat über ein Terminal
und n Display damals aber vielleicht nicht und da war
irgendwie das reinschauen und einfach mal das das prompten von
von diesen ascii Strings was das Modbus selber ist manchmal
essentiell um rauszufinden funktioniert hier meine
Hardware, Software Kommunikation ne und dann gibt es das
sogenannte auch auf dem seriellen Transportweg das
zweite das RTU, das heißt Remote Terminal Unit glaub ich.
Warte ich spicke ich muss spicken, finde ich es RTU oder
du bist schneller im. Googlen Remote Terminal Unit ja.
Ja, tatsächlich cool hab ich mir richtig bemerkt, warum das so
heißt? Ja, Remote Terminal.
Also wenn man quasi über Remote was also n Terminal hat und
konnte über Remote was Steuern, da kommt komplett der Name her,
ist aber egal wo der Name herkommt, was wichtig ist, dass
quasi der Inhalt jetzt zwar über n serielles Kabel geht, aber
quasi binäre Daten waren also einfach nur Einsen und Nullen
hintereinander. Die, die einer gewissen Regelung
folgen sollten. Aber das war halt nicht mehr
lesbare Zeichen in ASG. Ja, das waren einfach Bits und
Bytes, ja so und damit die Ping ist an und dann gibt es das
dritte Modbus, das ist das Modbus über TCP, das ist auch
das ist zwar eigentlich immer noch das Modbus von den Inhalten
her, also die die grundsätzliche modbus Idee des Protokolls ist
da drinne, das fügt dann zwangsweise dem im im Protokoll
noch so einen m Bub Header heißt das MBAP.
Hinzu, Weil das einfach weil das der Transportweg des TCPS halt
physikalisch was anderes ist. Und da brauch ich noch n paar
mehr Sachen, denn im TCP kann ich halt concurrent asynchron
zum Beispiel auch gleichzeitig mehrere Anfragen an anstellen an
die Hardware. Ich kann also mehrere Sachen
gleichzeitig Anfragen und Krieg asynchron die Antworten zurück
und wenn ich das tue, dann hab ich muss ich das
Zurückkorrelieren da gibt es dann also so ne Anfrage
korrelations ID. Und die wird mir dann auf meine
auf meine Anfrage ne Antwort. Da kommt diese korrelations ID
wieder, weil ich halt irgendwann auf ich hab 33 Anfragen
geschickt und dann krieg ich irgendwann vielleicht als erste
die zweite zurück, dann die erste und dann die dritte oder
so, das weiß ich nicht, also muss ich das also quasi in die
Nachricht mit reinkodieren Wer gehört hier zu wem, welche
Antwort gehört hier zu welcher Anfrage?
Ja solche Sachen und ich muss die IP Adresse noch da
reinkodieren und so weiter weil es dann einfach dann aufs
Protokoll ist ja. Also am Gerät ist es quasi
dadurch erkennbar, dass das eine.
Also das Mod plus OTCP Gerät hat irgendwie so ne Ethernetbuchse
dran, nehm ich an. Ja, brauchst dann ja genau, ob
sie irgendwie so LAN Kabel reinstecken oder NW LAN hast du
weil die kannst du ja auch dran haben direkt haben die weiß und
die ganz modernen Dinger ne richtig ob die dann noch mit das
Mod plus Protokoll nehmen und dann nicht vielleicht gleich
irgendwas so Modernes mit MQTT oder so ist auch ne Frage aber
technisch wird es gehen ne? Theoretisch möglich.
OK, theoretisch möglich. Von RTU und Aski das ist so n
Stecker wie das früher im Drucker war glaub ich ne oder so
ne. Also ja die genau das die das
sind gerne die heißen, die haben auch so n komischen Namen hab
ich auch gerade verbessert also so sieht so n bisschen aus wieso
com Stecker aber genau das sind so polstecker so genau so
serielle Steckverbindungen das typischerweise da gibt es auch
übrigens coole Adapter also man ist nicht n kurz kurzer
Seitenblick man ist nicht komplett verloren wenn man sowas
nicht mehr hat am PC. Die Technologie nennt sich FTDI.
Das kann man auch einfach nur so auf die Tonspur sprechen hier.
Es ist quasi das sieht aus wie n Adapter eigentlich nur der quasi
dieses serielle Polige Portdingel da irgendwie auf NUSB
zum Beispiel Rüberbringt, aber in dem Adapter ist tatsächlich n
Mikrochip drin und der der verwandelt quasi dieses serielle
Protokoll dann in NUSB Protokoll an dieser Stelle.
Ja, da gibt es bestimmt auch welche, die Bebügeln hier quasi
schon den seriell auf TCP oder Irgendsowas ja, also es gibt.
Es gibt so n bisschen Mikrocontroller Adapter die das
machen können. Ne ich mein ist man auch bei
seriell nicht verloren heutzutage, da kann man schön.
Typischerweise macht man seriell auf USB und dann klappt das auch
ganz gut Mhm. OK so und du hast vorhin schon
erwähnt, das wird in der Industrieautomation eingesetzt,
auch für SPS und und so weiter mir kommt es immer entgegen bei
Energiezählern. Also wenn Smart Meter ist ja
voll, das ist immer noch voll im Einsatz.
Stimmt. Ja oder vielleicht gar nicht
mehr so smarte einfach nur. Also die, die einfach nur
gucken, was jetzt für n Verbrauch irgendwo da anlegt.
Also. Na ja, smart in Form von, dass
da nicht sich nur ne Scheibe dreht und irgendwie ne Nummer
anzeigt, die du hinter der Glasscheibe ablegen kannst,
sondern dass der, dass der Halt irgendwie den Energiewert schon
mal raussenden kann. Ne das das das minimal smarte
sag ich mal. Ja, ich denk bei Smart immer an
jemand, also an an an irgendein Gerät was da noch selber n Stück
weit reguliert oder steuerbar ist oder was auch immer.
Aber OK so gesehen n Smart Meter, also was was irgendwo
den. Verbrauch übertragen kann und
das wär dann auch recht einfach. Also da wird dann vielleicht
eine eine Messgröße oder eine ein Datenpunkt aufgenommen und
unmaterial ne. Es kann auch komplizierter
werden. Meinst du bei Modbus oder was so
n typischer Ansatz Ansatz Zweck ja voll.
Ne, also es ist also Energy Monitoring, ist also Energie
Monitoring ist natürlich ein so n Punkt, aber es ist auch ganz
viel in der Gebäudeautomation im Einsatz und in in einfach in den
in den älteren Kontrollsystemen in den größeren also das.
Damit hat man und steuert man noch heute Ventile für
Vakuumsysteme, auch Motoren, also alle möglichen Aktuatoren
und Sensoren. Und das geht auch.
Ja, also man kann, man kann eine ganze Menge machen mit den mit
dieser modbus Steuerung und kann halt auch quasi ein einzelnes
Endgerät sage ich mal steuern, man kann aber auch viele
Steuern, es kommt jetzt drauf an, dass es, man muss ja gucken
das modbus Protokoll geht ja nicht direkt auf die Lampe oder
auf den Motor. Ich habe ja am Anfang gesagt, da
ist ja eine PLC dazwischen eine SPS, das heißt, ich habe noch
ein Stück Firmware Software, wie man es auch nennen will, also
SPS, Steuerung, Software sage ich mal.
Das ist ja auf einem sehr sehr niedrigen Level, sage ich mal,
aber die ist ja dazwischen und es kann so sein, dass ja eine
SPS Steuerung, mehrere Aktuatoren und Sensoren
gleichzeitig bedient, ja oder ich habe halt mehrere SPS und
die dann wieder mehrere Motoren bedienen und so weiter da da
gibt es alles alles und jede Architektur, ja das ist also das
ist das eigene Business von so. Kontrollsystemen wenn du da an
die Hardware guckst, ja, und das kannst du alles realisieren mit
Modbus. Du kannst auch mehrere
Aktuatoren und Sensoren die an einer PLC quasi angeschaltet
sind und kontrolliert werden, dann steuern aber das Modbus ja
warum weil weil das Modbus funktioniert im Prinzip
eigentlich ein bisschen so, im Prinzip werden eigentlich nur
Datenpunkte gelesen und gesetzt in so einer Art Memory Feld und
du kannst dir die eine PLC hat ja quasi auch so eine Art
Arbeitsspeicher oder Speicher sagen wir mal aus den und also
man nennt das Register, das Wort hat man vielleicht auch schon
mal gehört, typischerweise Register, kann halt nen Wert
annehmen und und dann die PLC Logik selber, die dann dann
tatsächlich n Motor anfährt oder stoppt oder n Ventil öffnet oder
schließt, die liest halt n bestimmtes Register aus und wenn
der Wert auf dem Register sag ich mal jetzt ganz ganz ganz
platte 1 steht, ja dann geht das Ventil auf ja und wenn es wenn
der Registerwert auf 0 steht geht es Ventil halt zu.
So was macht jetzt Modpus ist im Prinzip nichts anderes als ne
Möglichkeit. Strukturiert die Werte in diesen
Registern in der PLC zu setzen. Ja, das heißt, ich kann von der
Ferne, also hinter einem nach einem seriellen Kabel oder nach
einem TCP Kabel halt sagen, dieses Register an dieser
Stelle, das setzt du jetzt auf 1.
Und wenn das dann das Richtige war, dann geht zum Beispiel das
Ventil auf ja so, und das setzt Halt voraus, dass die
diejenigen, die den, die den Steuerungscode die
Steuerungslogik geschrieben haben, also die PLC oder die SPS
Programmierung gemacht haben müssen sehr gut dokumentieren.
Was für Register es denn wo gibt und wie die gesetzt werden
dürfen, dürfen die nur ausgelesen werden oder dürfen
die umgesetzt werden, geschrieben werden und so weiter
und das muss man sauber dokumentieren und dann gibt es
so ne Art CSV Fall typischerweise wo genau drin
steht welches Register macht was und welcher Datentyp darf da
rein und das muss man sich dann dieses Handbuch, diese
Beschreibung ist quasi Dokumentation, ja die muss man
sich dann reinziehen und das muss man dann bitte befolgen
wenn man über modbus dann quasi. Ein ganzes Register setzt, weil,
wenn ich das nicht mache und an die falschen Stellen schreibe
und wenn das sicherheitstechnisch geht.
Das kann gut so sein in der Steuerung, dann mach ich wilde
Sachen, die ich eigentlich nicht will.
Ja, also insofern ist es zwar ein sehr einfaches Protokoll,
hat aber halt auch die Gefahr, dass du Quatsch machen kannst.
Also da gibt es nicht mehr viel Eigenschutz oder Irgendsowas,
das ist halt bare Metal, sag ich mal.
Relativ roh wird da einfach knallhart irgendwie memory
umgesetzt und dann ist es dann ist es dabei ja.
Was ich jetzt spannend fand ist, du sagst also Modbus ist jetzt
nicht das Protokoll zwischen Steuerung und Eigentlichem
Aktor? Nein, sondern.
Das macht die PLC, die die an der PLC ist, da da irgendwie, so
sagen wir mal ganz platt formuliert.
Du hast irgendwie 2 Kabel oder Irgendsowas, die kommen aus dem
Sensor raus, die werden in die in die die die steckst du in die
PLC, in die Steuerungslogik und da kommt dann auch Strom drauf
und alles und so weiter das muss dann da irgendwie n richtigen
Strom geben wenn an soll und oder wenn nicht und da gibt es
analog das ist auch wichtig zu sagen, es gibt.
Es gibt ja auch gar nicht so viel verschiedene Devices.
Also wenn man so in der Steuerungstechnik unterwegs ist,
was ich jetzt auch nicht von Hause aus bin, deswegen muss ich
aufpassen, dass ich jetzt kein Quatsch erzähle, aber am Ende
gibt es immer so was wie digitale Eingänge und digitale
Ausgänge, analoge Eingänge und analoge Ausgänge, damit
erschlägst du schon relativ viel.
Ja, und was ist das digitale? Ein aus digital heißt immer, ich
hab quasi nur 1 oder 0 on oder off, das sind so und wenn ich
wenn ich das setze, dann ist es wie ein Schalter, wie ein Button
kannst du dir vorstellen, du hast eine Maschine.
Und dann, dann kennst du auch diese.
Kennst du diese Grünen, diese Grünen und roten runden
Schalter, so sie ist auch beim Skilift, es gibt ja überall so,
ja also so n Knopf einfach so, und das ist zum Beispiel, das
ist dann digitaler Schalter, ja wenn ich den drücke, dann setz
ich halt irgendwo ne 1 oder ne 0 wenn ich noch mal drücke oder
sind es oft 2 Knöpfe oder irgend so was ja und genauso kann ich
dann lesen auch aus einer Hardware digital ob irgendwas an
ist oder aus ist so ja das brauch ich halt ja oder wenn
Thiel ist ganz oft digital geschaltet ja.
Offen oder zu? Wenn das nicht so kompliziertes
Ventil ist, was irgendwie noch so zwischen States haben kann,
ja, auf oder zu digital und die analogen, ja das sind dann halt
analog ganz vieles gibt ganz viele analoge Sensoren,
typischerweise sind Temperatursensoren analog und
die, die die Mappen quasi ihre Temperatur, die sie wirklich
physikalisch messen, auf ein Zahlenspektrum von was weiß ich,
je nachdem wieviel wieviel Auflösung das hat zwischen 0 und
255 zum Beispiel. Zahlen ja, 250 steht dann halt
für 100 Grad und 0 halt für -10 oder was das ist, dass das kann
ja hast du halt so n Mapping und das muss halt eben interpretiert
werden. Ja das sind die analogen Signale
ja und genau und das passiert aber zwischen der PLC und dem
Endaktuator oder Sensor sag ich mal und des Modbus liegt dann 1
drüber, das spricht dann mit der PLC nach oben hin in die
typischerweise in die Steuerungsleitsystem oder
irgendwo hin, ja. Denn ich will ja quasi dann ich,
ich, ich sitze ja da so ne PC ist ja so n kleiner Kasten
direkt an der Maschine aus dem Schaltschrank noch mit drin so
aber da will ich ja nichts drücken, sondern ich sitze ja
bequem im Stuhl und hab n Laptop vor der Nase und wenn ich dann
im Laptop drücke, dann würde quasi über ne TCP Verbindung im
modernen Fall das entsprechende Protokoll abgeschickt mit dem
Signal setzt bitte jetzt in der Steuerung hier das Register auf
1, was dazu führt, dass das Ventil XY aufgeht.
Ja so ist es von der. Vom Setup her, da ist modbus.
Mhm, aber gut, da sitzt ja nicht immer jemand am Laptop, das ist
ja eigentlich. Automatisierung weiß ich gar
nicht. Ja, also wenn du kommt drauf an,
also ganz oft ist es ja so, wenn du jetzt mal so Anlagenbau oder
Kraftwerke denkst. Kohlekraftwerk, da sitzen ja die
Leute schon da vor diesem Bildschirm, das ist dieser
Kontrollraum, den man so kennt, wo er sich also nicht an der
Börse, sondern wo du quasi n Kraftwerk hast.
Da stapeln sich trotzdem 3 Monitore übereinander und 6
nebeneinander und alle gucken sich irgendwas an.
Und das ist der, der, der, der, der.
Der zentrale Kontrollraum wird auch oft genannt, und da musst
du schon ab und zu mal was drücken und regulieren.
Ja, das ist heute auch noch so, wenn du Stromnetze zum Beispiel
Regulierst und so weiter da wird schon noch was gedrückt, das ist
ja nicht alles durch komplett durchautomatisiert am Ende sitzt
ganz oft noch der Mensch, ja, und dann nennt man das HMI Human
Machine Interface, ja, das ist dann die grafische Aufbereitung
von dem was da passiert, wenn ich es gedrückt hab, ja.
Insofern ist das schon, ist das schon eher der der Standard,
dass da noch jemand am Laptop sitzt und dass er dich irgendwas
drückt oder ausliest und aussiehst.
So n Dashboard mäßig, ne so. Müsst doch noch mal bohren,
Burkhard, Ich komm her, bleiben wir bei diesem Energiezähler so,
und der hat ja dann einen modbus Ausgang, wo das jetzt kein Aktor
ist und mein Sensor und hängt dann direkt an einer SPS.
Also. Ich versteh dich, die.
Direkte Verbindung zwischen Sensor und SPS.
Du hast, du hast jetzt das Bild im Kopf gemalt, nachdem was ich
erzählt hab du, wir haben 123 Komponenten irgendwie Hardware.
Steuerung und dann Laptop. Ja und zwischen Steuerung und
Laptop sitzt das Modbus. Jetzt sagst du mir wieso das ist
so n Smart Meter ist doch nur ein Kasten.
Ja und da kommt aber direkt modbus raus so was erzähl ich
hier für n Quatsch stimmt hast ja recht, das ist ja so heute
wenn du die modernen Hardwares hast, moderne Sensoren und so
weiter da ist halt quasi der das Stück was PLC war früher was
immer extra noch da großartig angefertigt wurde sitzt da quasi
schon mit drauf also das ist jetzt.
Eine Personalunion, also Aktor oder Sensor modernen Geräten ist
halt Personalunion von Steuerung und Hardware sag ich mal ne,
also da da ist quasi One to One Mini PLC und dann wird es halt
direkt umgesetzt auf Modpus das kannst du machen.
Ja, das war früher aus aus hardwaretechnischen Gründen und
aus einer Technologie gründen, da konnte man noch nicht so viel
was Computing angeht war das meist nicht der Fall, deswegen
ist das der klassische Aufbau, dass du, dass du das Trennst.
Und heute fließen die Grenzen zusammen.
Und das Gleiche ist dann auch für Aktuatoren der Fall.
Ja, weil es auch ich hab gerade mal kurz geguckt, es gibt
natürlich irgendwie antriebsmotoren oder sowas mit
modbus Interface dann. Das gibt es alles.
Ja, und das ist, das ist auch NN Trend, der passiert.
Wenn du also es gibt schon richtig smarte Geräte und Smart,
also smarte Aktuatoren oder Sensoren, die die sofort die
ganze Steuerung mit drin haben on Board, ja das dann hast du ne
andere Architektur auf dem shopfloor sag ich mal, weil dann
oft sogar die Dinger schon alleine irgendwie.
Wlan können oder Irgendsowas, dann brauchst du halt kein
schaltschranke Kabel mehr und so weiter ja.
Meinst du aber du hast doch aber also stell dir also ich stell
mir jetzt so ne verpackungs Anlage vor oder sowas.
Ja ja was weiß ich, vorne wird Schokolade auf den Band
gekleckst und dann kommt ne Verpackung drum und hinten wird
noch n wird die werden die werden die einzelnen Riegel noch
in Karton geschmissen aber das hab ich schon mal gesehen in
echt dann hast du ja quasi ganz viele kleine Motoren und
Sensoren die die diese ganzen kleinen Förderbänder und die die
Abfüllung und so weiter Steuern und die die Pappe falten und so
weiter. Und dann hast du das Ding, da
sitzt ja keiner und sagt jetzt OK jetzt an, sondern es geht ja
die ganze Zeit werden da ja Regel produziert.
Ja so, das ist ja Automatisierung.
Ja, und das macht die PLC. Aber da wirst du dir, wenn du
dir das anguckst, da hast du ne ne nen ganzen Haufen Kupfer,
kleine Kälbelchen von nämlich deinem Förderband und von deinem
Motor und von deiner Abfüllungsanlage und dem ganzen
Scheiß und die werden die die wenn du denen Hinterherläufst
diesen Kabeln die da wirst du irgendein Schaltschrank finden.
Und da, da sind diese ganzen Hutschienen drinne, so blinkende
LEDS von Beckhoff oder von da gibt es vielleicht 1000 Firmen
ja so und und und diese Hutschienen, die übernehmen
quasi dann diese digitalen oder analogen Signale, die dann von
den Aktuatoren oder Sensoren, nämlich dann Förderband, dann ne
Klecksmaschine und so weiter kommen.
Ja und dann gibt es da die, die die die Denkmaschine davon sind,
immer die sind auch in Hutschienengröße typischerweise.
Da gibt es dann halt quasi die Processing Units.
Das sind die PLCS, da ist das PLC Programm drauf und in dem
PLC Programm wenn das nicht eingestellt wird, dann da wird
die Automatisierung für diese Echtzeitautomatisierung ist die
vorprogrammiert und läuft richtig sauber und
unveränderbar. Das ist ja wichtig auch Tarzan
Pasta auch aus dem Personal Safety zu tun soweit dass der
dich dass der heiße Schokolade nicht ins Gesicht spritzt oder
irgendsowas ja das ist da festgeklemmt, aber das musst du
ja trotzdem bis zu einem gewissen Maß willst du es
erstens mal überwachen von außen weil du n Dashboard haben
willst, ja. Oder du willst dann einfach mal
das ganze Ding abschalten oder sowas?
Ja, das kannst du schon wollen, ne, ohne dass du den Strom aus
Knopf drückst beim Schaltschrank ja ist oder oder du
konfigurieren du hast Rezepte zum Beispiel ganz oft gibt es
Rezepte, ja, das ist tatsächlich so n Ding, wo kommen wir
vielleicht später noch mal zu wo du n Paar mehr Nüsse hast oder
ne wo das die Mischung quasi für den Röhrer festgelegt wird und
so n Rezept möchtest du quasi dann in die Steuerung laden
damit die sich das da rausnimmt und dann entsprechend die Röhre
bewegt das würdest du dann halt mit Modbus in die Steuerung
laden und die gibt es dann weiter.
Mhm. OK, aber theoretisch könnte auch
diese PLC, die eben in der Hutschiene hängt, auch mit den
Aktoren und und Sensoren, die in der Anlage verbaut sind auch mit
Modbus sprechen, wenn auf dem jeweiligen Aktor und Sensor halt
schon so ne kleine Steuerungseinheit drauf.
Ist ja, aber das ist glaub ich eher untypisch.
Aber ja. Glaubst du?
Ja glaub OK. Hab ich n paar Beispiele
gefunden. OK, dann hast du mich an das
besser gelernt, ja. Deswegen frag ich so genau nach,
aber theoretisch geht beides. So hast du ja quasi vorher
technisch erläutert. Das mag sein, dass das geht.
Ja, ich kenne halt Modbus mehr so als die als die Schnittstelle
zwischen Halt der der PLC oder SPS und dann der
Leitsystemsoftware nach oben raus, aber das es mag sein, dass
es Beispiele gibt, dass quasi die die
Untersteuerungsverteilung auch über Modbus läuft.
Ja will ich mal nicht verneinen, verneinen jetzt hier.
Da, wo der, der eigentlich der Feldbus ist oder so, ja genau
auf der genau. Normal ist das Feldbussebene
genau richtig. Ja, ja.
OK, vielleicht hilft es, wenn wir noch mal ganz kurz hier
dieses Master Slave architekturmodell, dann noch mal
reinbringen. Ich glaube das wird ja auch hier
angewendet, ne? Ja, das ist richtig.
Genau. Wie sieht es?
Damit aus. Und wer ist jetzt froh, da
Master on Slave. Ja genau.
Master on Slave ist n altes Wort für das, was ich immer wieder
gerne sag im Client und Server und so muss man sich aufpassen,
wer ist hier wer, also der Master steht für den Client und
der Client ist derjenige der immer die Befehle abschießt.
Und der Slave ist der Server. Das ist derjenige, der dir
Befehle entgegennimmt und die Antwort formuliert, ja.
Witzig. Ich hätte es genau andersrum
gedacht und wenn von der. Ich hätte es auch genau
andersrum gedacht und deswegen habe ich heute bei der
Vorbereitung noch das 10 mal angeguckt, ob das wirklich
stimmt. Aber es ist so ja ich genau,
wenn man das das Wort Master on Slave gibt es nämlich eigentlich
in der Cloud, gibt es das auch und ich würde sagen, du hast es
anders genutzt, da ist es mehr so zentrales Gehirn und
Arbeiter, also Master als zentrales Gehirn, da peitscht
die Slaves also deswegen ist es auch gar nicht mehr so.
Schick das so zu sprechen, aber das meinen wir natürlich nicht
so in der in der Informatik, aber hier ist es tatsächlich so.
Ich spreche es noch mal auf den Tonspur ist wichtig, der Master
ist der Client und der Slave ist der Server, also sitzt der
Slave, der Slave ist quasi die PLC oder der Server ist die PLC
und der Master oder der Client ist der Laptop oder derjenige
der mit der PLC spricht und der die der quasi sagt ich will mal
wissen was es steht im Register irgendwo drin, ja.
Also Master würde sagen Master oder Client würde sagen Hey
Slave 3, gib mir mal dein Inputregister 400040001 oder
Irgendsowas und der Slave 3 würde als Antwort sagen, jo hier
hast du n 16 bit wert. Ja und typischerweise an den
Next irgendwie 1234 oder irgendwas ja sieht er aus ja
genau OK. Und noch mal das feststellende
Laptop jetzt in deinem Beispiel ist ist eigentlich, dass das
Leitsystem, wie du es genannt hast von oder die so ne Art
Steuerungs. Ebene oder wie auch immer, ja.
Irgend irgendwer, irgendwer, der mit der Steuerung sprechen will,
ja. Ja, und unter unserem Rezept
bereitstellt oder das ganze Zeug startet und so weiter und
sofort. Der irgendwas startet mit dem
Skilift, der den ja guten Knopf, der da irgendwas startet, Motor
oder Irgendsowas genau o. KOK genau.
Wenn man jetzt, wenn man das Master und Slave Konzept
verstanden hat, dann muss man im Prinzip als nächsten logischen
Schritt sagen, ich muss ja identifizieren, der muss ja
irgendeine Adresse haben. Mein Server ja sowieso wie im
Internet Server ne IP Adresse haben.
Ne ich muss ja irgendwo antelefonieren das muss der
Client wissen weil der weil der Client, der kann ja
typischerweise mit mehreren Sprechen mit mehreren Servern
oder Slaves, in diesem Falle übrigens beides fängt das mit S
an, so kann man, so kann man es als Eselbrücke zusammenbringen,
Server und Slave in für den Modbusfall und das passiert
tatsächlich im Modbus auch und es gibt so ne Art, das nennt
sich Adress Adresse im Prinzip oder Unit ID im TCP.
TCP Modbus heißt das dann, Unit ID, und das ist quasi die
Adresse des des Servers und das ist halt nicht ne IP Adresse,
sondern das ist im Prinzip nur ne Nummer.
Also wieder ne 16 bit Nummer. Ja die wir einfach
durchnummeriert 0123456789 ja so und jetzt kommen wir nämlich n
bisschen zum Aufbau des Protokolls, das ist nämlich der
erste Teil des Protokolls, wenn wenn wenn nämlich ne Anfrage
losgeht, dann steht in dem ersten in dem ersten Feld quasi
von dem Brief der geschickt wird.
Erstmal die Adresse an wen geht denn der Brief ja zu zu wem, zu
welchem Slave soll ich Ihnen den schicken, zu welchem Server?
Ja und als Nächstes kommt der sogenannte Function Code und in
der Function Code davon gibt es gar nicht so viele.
Ich glaube es gibt 12345678 standardmäßige und dann beliebig
viele Customized Ones, aber im Standard gibt es glaube ich nur
8. Jetzt muss erstmal gucken was
ist ein function Code, das ist was sehr spezielles jetzt jetzt
sind wir bei Modbus ja und und und seine Spezifika.
Dieses function Code, das kenn ich eigentlich nur von Modbus,
das siehst du so nicht bei OBCUA und siehst du auch nicht bei
einem QTT und das das Macht auch noch mal so ne Kennung aus,
wofür das Modbus spezifisch ist und wo es herkommt, weil es ist
nämlich nicht so urgenerisch, sondern es kommt schon aus
dieser Industrie, aus diesen analogen und digitalen Dingern,
und wenn ich es jetzt vorlese, werdet ihr merken, was dass das
wirklich industrienah ist. Denn die function Codes, da gibt
es den. Den die Discrete Outputs, die
Coils quasi ja es heißen Coils ja das das erklär ich sogar
jetzt gleich. Warum heißt das Coils?
Also Coils sind erstmal Werte Two oder false 0 oder 1.
Das sind die Dinger digital was ich immer gesagt hab, ich
schalte irgendwas an oder aus oder ich lese ist ist
angeschaltet oder ausgeschaltet und die function Codes dazu sind
1 und 5 also. Mod Plus wenn ich es lesen will,
ob irgendwas an oder aus ist, dann ist es function Code 1 und
wenn ich es setzen will ob irgendwas angeht oder ausgeht,
ja dann ist es function Code 5. Ja muss ich vorher definieren,
danach kommt das Register, danach kommt die Adresse quasi,
wo ja im Prinzip ist der function Code so ne Art wenn
wenn man jetzt ich hatte ja vorher gesagt so ne Art Memory
Map wenn man sich das Memory einfach vorstellt wie ne riesige
Tabelle, ja dann hat die quasi. Strukturen ja, und die fangen
schon kurzen Bereiche in dieser Tabelle, die ich lege.
Also vorher einmal n Bereich fest und dann darf ich in dem
Bereich was schreiben. Ja das macht das hat sich Mod
bloß so ausgedacht. Also ich muss nicht jedes jede
Adresse selber kennen um da reinzuschreiben und jetzt könnte
man sich fragen warum warum ja was ist wieso muss ich das
aufteilen und so weiter ja weil weil wir die Zahlen klein halten
wollen hab ich. Also ich, ich hab ja schon n
bisschen memory, n bisschen Adressierung.
Ja wenn ich jetzt, wenn ich das jetzt alles in einem adressieren
will, dann muss ich halt zählen bis ich weiß nicht, war es ja
vielleicht mehr als 65000 irgendwas und dann dann reichen
mir meine 16 bitworte aber nicht mehr aus, weil Modbus hat ja
aber gesagt, hab ich ganz am Anfang gesagt 16 bit ja das ist
meine Wortgröße und damit würd ich alles adressieren können und
damit ich das gut tun kann fang ich halt immer wieder bei 0 an
zu zählen, sag aber in welchem Adressbereich ich mich befinde
ja. Und dieser function Code ist
quasi so ne Art Adressbereich in der PLC und der ist der ist
nicht arbiträr gewählt, sondern der hat halt auch n
funktionales, funktionales ne funktionale Meinung sag ich mal.
Und da gibt es als ersten Mal diese Coils und in den Coils
kann ich halt nur so digitale Werte, also 0 oder 1 setzen
quasi und entweder les ich die oder schreib ich die und das
Coil kommt tatsächlich von Coil, heißt ja Spule auf Deutsch oder
Wicklung. Und tatsächlich kommt das da aus
der Idee, dann ganz früher. Hab ich halt, wenn ich was an
oder ausgemacht hab, ganz oft im elektromagnetischen Relais
einfach also Spannung an, dann zieht sich das an und der
Kontakt wird hergestellt. Ne Spannung aus der Kram geht
wieder auf und es ist unterbrochen Coil Coil Coil an
Coil aus so ja und deswegen heißt das Coil ja es ist an aus
ja. Aus der Praxis inspirierte
Namensgebung einfach. Richtig, und das find ich zum
Beispiel n bisschen schwierig. Also also.
Das ist ja, wenn du in so n. Also wenn du jetzt so als
Informatiker reinkommst und dann sagt dir jemand, das ist
irgendwie der FC Keul, sag ich so ja was für n Huhn so ich also
das ist halt immer blöd, wenn du so krass, also weil eigentlich n
generisches Protokoll hast und dann so ja so sehr komische
Namen da dran, das macht es nicht einfacher sag ich mal ja
gut und dann haben wir die den zweiten Memory Bereich, das
nennt sich die die die Discrete Inputs.
Also das ist quasi zum Auslesen von auch digitalen Werten.
Aber jetzt von sensorischen Werten, also von keinen die
irgendwas hin und her schalten, sondern wo du sagst ist an oder
aus einfach als lesendes Ding. Ja das ist ist FC 2, dann können
wir, dann haben wir die sogenannten Holding Registers.
Also von diesen Kategorien gibt es 4 sag ich mal ja und dann
haben wir noch mehr function Codes, weil die dann sagen, ob
ich die lesen kann oder lesen und schreiben oder schreiben
kann. So das wird, das wird auch noch
mal unterschieden. Ja also ich hab die Calls, die
Descreet Inputs und dann kommen als Nächstes die Holding
Registers die Holding Register sind im Prinzip so, das ist so
das was wir am meisten kennen, das ist einfach frei
definierbares Krams, also da sind einfach 16 bit
registereinträge, da kann ich reinschreiben oder lesen.
Die machen erstmal nichts und und da Speicher ich
typischerweise modbus so Settings ab.
Ja wie irgendwas abläuft ist irgendwas insgesamt n bisschen
schneller oder auch hier so rezeptgedöns und so weiter ja wo
halt quasi die PLC sich quasi Werte rausnehmen kann um dann
die Steuerung zu beeinflussen, ja oder wo sie die Sachen
reinschreibt die so konfigurativer Art sind so ja
was weiß ich ja und dann hast du noch die die Input Registers als
vierte Gruppe, die sind auch noch mal speziell rausgetrennt
das sind quasi die analogen Sensoren die.
Die im Prinzip fast ohne PLC Logik durchgeschliffen werden.
Ne also direkt der der Wert des Sensors der dann so rauskommt.
Ja und dann gibt es noch 2 spezielle wo du dann quasi in in
einem Go mehrere mehrere Coils setzen kannst oder mehrere
Register Holdings reinbringen kannst, damit du damit du quasi
optimierst. Diese request response Dinger,
denn jetzt muss man auch noch wissen im Seriellen, das ist ja
alles nicht so schnell. Ja das so, man kennt ja von
früher noch diese Modems und so weiter das piepst und piepst und
so weiter und. Mal hier muss aber so ne
Steuerung auch n bisschen schneller sein und ich hab ja
immer nur ein request Response oder das kann schon mal ne
Sekunde dauern oder 2 auch je nach lang wie je nachdem was für
ne Hardware ist wie lang das Kabel ist oder was und dann kann
es sich lohnen, dass man dann in einem in einem Go quasi mehrere
Aktionen sagt wo man sagt OK schalt an alle 6 Motoren jetzt
hier gleichzeitig die brauch ich so oder so ja muss ich nicht 6
einzelne Dinge abschicken und auf 6 Antworten warten ne ist
quasi zum Badging quasi. 115 Kilobit pro Sekunde kann das
sein? Das mag sein Thema weiß ich
nicht. Also es ist die sogenannte
Boutrate. Ne, das ist noch nicht
festgelegt. Wenn du, wenn du seriell
sprichst, dann kannst du die sogenannte Boutrate einstellen,
das muss dann halt passen, das hat alles mit Timing zu tun und
das das das sagt Halt quasi wieviel Bytes gehen dadurch pro
Zeiteinheit übrigens spannend, auch wir haben ja gesagt, das
ist ein Message Protokoll, es wird immer eine Nachricht, das
ist fast so wie wie http irgendwie noch viel einfacher,
aber es werden ja Nachrichten geschickt und antworten und
jetzt muss ja so ein System auch wissen wann ist eine Nachricht
zu Ende. Also wann?
Wann ist der Brief zugeklebt und wann kommt die nächste
Nachricht? Weil ich schicke ja ziemlich
viele Briefe die ganze Zeit hin und her, das wird bei dem RTU
Protokoll tatsächlich über n Timing gemacht, also wenn wenn
es länger als dreieinhalb mal so lang dauert wie normalerweise
Zeichen aufeinander folgen, dann wird erkannt, oh das ist scheint
ne neue Nachricht zu sein, ne ist übrigens einer der
Kritikpunkte von wenn du so harsche Umgebung hast.
So viel Interferenz ist und so weiter und irgendwie mal was
stockt und so weiter dann können die ja schon mal durcheinander
kommen, weil es gibt kein Zeichen auf dem Protokoll das
Ende ist. Der Nachricht jedenfalls beim
RTU nicht, sondern es geht über ne Zeit ja so und so lange
nichts mehr kam über die Leitung, dann wird es wohl ne
danach ne neue Nachricht sein, ne also muss man das so
programmieren einstellen wie auch immer das alles passiert
relativ genau levelig nee das ja die Bibliotheken übernehmen das,
aber man muss das schon ab. Ursprünglich müssen wir das mal
so programmieren, genau das ist so ja ja.
Beim Aski basierten Seriellen ist es anders, da hast du
tatsächlich ne nen nen nen Carriage return und n linefeed
als Endzeichen. Das wird ganz oft genommen.
Kennst du das und das gibt es ja auch im Windows immer noch ne
Carriage Return und New Line dieses Slash R Slash n Backslash
r backslash n sind die aski Zeichen dafür.
Ich weiß nicht ob du das mal gesehen hast.
Das hab ich bestimmt mal gesehen, aber da.
Gibt es ja auch. So ne kleine Anekdote dazu, das
ist nämlich, das ist nämlich so, dass es schon immer so war, dass
im Windows. Eine neue Zeile, und das gilt
jetzt für jedes Word Dokument und jeden textuellen Inhalt
tatsächlich beendet wurde mit einem Carriot Return and New
Line, also slash r, slash n. Diese 2 hintereinander und wo
kommt das her ist auch lustig, das erzähl ich mal, weil das
alles diese Modbus das ist diese Zeit ne da kommt das da da
kommen diese Begrifflichkeiten ja auch her, Keule und so weiter
passt ja auch, ja und das kommt aus der Schreibmaschine her, du
hattest ja auf der Schreibmaschine typischerweise n
Schlitten oben drauf wenn du getippt hast bewegt sich ja
dieser Schlitten immer weiter, damit das Papier quasi.
Also der, der die Schläge von der Schreibmaschine haben wir an
die gleiche Stelle gedonnert, so fixiert.
Ja, und mit dem Schlitten hast du das Papier bewegt, ja, und
dann bist du halt mit dem Schlitten immer weiter Tipp,
Tipp, Tipp, Tipp, Tipp und irgendwo macht es das Kling
normalerweise n schönes Kling für den dann war die Zeile zu
Ende und jetzt gibt es 2 Aktionen die du machen musst.
Du musst den Schlitten zurückschieben an die
Anfangsposition, das ist das Carriage Return, das ist
backslash Air was es immer noch gibt in Windows und wenn du
jetzt wieder tippst dann überschreibst du aber die Zeile.
Die du gerade getippt hast. Das passiert auch echt in der
Informatik noch. Also es gibt so aski Art,
manchmal siehst du das so geil auf der Konsole, wo sich der
Kram steht irgendwie und es überschreibt sich so ja dann
dann machen die immer nur carriereturn aber keine New
Line, denn die New Line ist wenn du dann den ganzen den ganzen
Blatt Papier an dieser Rolle in der Seite Klick auf die nächste
Zeile tackerst ja, das sind nämlich eigentlich 2 Aktionen,
Tisch zurück und nächste Zeile. Und Windows dann auch ganz
akribisch und Modbus auch im aski Protokoll.
Da sind dies genau diese 2 Zeichen, die auch im Aski
Alphabet tatsächlich in diesem Ding dranhängen.
Ja, das kommt da her, ja und im Linux haben sie sich immer schon
gesagt, diese Scheiße machen wir nicht mit dem Carrier Tweet
Turn, das sind ja keine Schreibmaschine, die haben
gesagt OK ein Zeichen reicht und die haben einfach nur das New
Line gemacht, was implizit den Tisch zurück quasi.
Mit in involviert ja, das das Slash R backslash r gibt es auch
im Linux, das heißt dann aber auch tatsächlich nur schieb
zurück und mach das ja aber wenn du nen wenn du n alleiniges
Zeilenvorschub siehst, dann ist es halt quasi zurück und nächste
Zeile ja in einem ne kann man mal ist ne schöne Anekdote muss
man wissen, gab früher ganz viel Stress mit dem zwischen Linux
und Windows ja Kopierer heute kennen das die Programme alleine
ja das ist aber der Unterschied ist immer noch so und die die
die Codeditoren die kriegen das Weggekst ja aber.
Und es ist echt lustig, wenn du, wenn du Code source Code in den
Repository hinterlegst, dann musst du gucken, ob du das von
Windows ausmachst oder vom Linux, weil die Zeilenendungen
unterschiedlich sind. Wenn das nicht deine Idee das
für dich nicht ausgleicht, ja ja.
Spannend. Das sind so Sachen.
Aber in der. Welt bist du bewusst als
Anwender? Ne ja.
Hast du gesagt, das willst du eigentlich alles gar nicht
wissen? Ja, ja.
Ja, aber witzig. Und weil wir über Motto
sprechen, müssen wir da eigentlich auch noch n ganz
klein bisschen ausruhen. Das hab ich auch vorbereitet.
Wenn du Bock hast, Gerrit weil. Aus.
Dann haben wir gleich die 45 Minuten.
Na ja, dann haben wir es und dann bin ich auch durch.
Ja, shit verdammt, ich dachte, wir sind schon wieder da.
OK pass auf, ich hab ja erzählt, dass es, dass es immer nur diese
16 Bitwörter gibt, ja die im Prinzip unzahlend Integers
entsprechen und das heißt auch im Umkehrsinn, dass ich also,
dass ich schon so bei so einfachen Dingern wie nen
Floating Point value. Also sowas wie 123,456 könnte
ja, ich könnte ja ich es könnte ja sein, dass ich das schicken
will, als die weiß ja, dann hab ich schon n Problem weil weil
weil ich das nicht über das Kabel Krieg ging einfach nicht
ja weil weil Floating Point Werte lauter i Triple I halt 32
bit Wörter sind ja bin ich angeflickt also jetzt muss ich
jetzt muss ich quasi als Anwender in der Anwendungslogik
als Programmierer wenn ich das Modbus habe also.
Der Hardware Hersteller sagt ich schick dir n Float und ich
kodiere dir das in 2 Wörter in 2 * 16 bit.
Dann werden die 16 bit zusammen 32 Bit und ich muss die zusammen
auslesen um logisch den richtigen Floating Point wert zu
kriegen. So und jetzt fängt die Scheiße
erst an beim Odbus und das ist tatsächlich das ist wahnsinniger
Krieg das aber ich muss das einmal hier auf die Tonspur
bringen, weil das ist was was wir Softwareentwickler uns
befassen, wir sind mit so einem Schwachsinn, es kommt nämlich
aniness und Bibetshopping und Wordshopping und so weiter dazu
ich nehm es mal kurz an teasern ja.
Also diese 123,456 was 123.456 ist das, das wird erstmal
typischerweise dargestellt in Hex hex ist ja die
Darstellungsweise hat n Hex zähl ich einfach bis 16 ja das ist
die Basis 16, denn sonst wenn wir dezimal haben wir die Basis
10 hatten wir schon mal ne Folge ganz am Anfang muss ich da mal
hören, das will ich jetzt nicht wieder auf Aufrühren so aber in
Hex sieht diese Zahl aus 42 f 6 e 979 immer n zweier Päckchen,
weil weil 2 zweier Päckchen sind quasi 16 bit.
Und 4 zweier Päckchen sind meine 32 bit, die ich brauche.
Ja, so und jetzt ist es überhaupt noch gar nicht klar,
in welcher Reihenfolge kommen denn diese zweier Päckchen?
Also ich hab ja quasi 2 vierer Päckchen, also wenn ich 16 bit
Wörter hab und hab 2 und 30er Informationen brauch ich ja 2
Wörter richtig jetzt schon die Frage lese ich die Wörter von
links nach rechts oder von rechts nach links beides geht
beides implementiert beides ist draußen in der Welt und im Feld
ja. Das ist so wie arabisch und und
und und und andere Sprachen. Manche liest du halt von von
links nach rechts, andere vielleicht sogar von oben nach
unten, also weil im Coding ist es wenigstens nur von links nach
rechts ja und es heißt andianess, das ist das
Stichwort, beschreibt quasi die Leserichtung meiner Wörter, wenn
sie mehr als quasi ein Wort haben, dann muss ich ja
definieren, lese ich sie von links nach rechts, um den
größeren Sinnzusammenhang, hier das Floating Wert auszulesen,
ja. Und Big Andian wäre, wenn ich
das quasi so lasse, wie ich es, wenn ich es von links nach
rechts lese, quasi 42 f 6 e 979. Das ist Big Andian und Little
Andian ist quasi da sind jetzt die Vierer Pakete getauscht, da
habe ich also in den letzten in E 979 habe ich zuerst und dann
kommt der 42 f 6 so das das ist schon mal die Andiness, die muss
mit dokumentiert werden und die kann sogar innerhalb einer
Steuerung. Auch pro Ding irgendwie sich
sich wechseln, das ist Ungeil, das ist auch sehr selten, aber
kann passieren. Das ist also in, aber
dokumentiert in irgend so einer generellen Dokumentation.
Das wird jetzt nicht immer mitgeschickt, diese Info über
den über den. Das ist Pro PLC und pro Gerät
unterschiedlich. Das muss jeder Hersteller quasi
mitschicken. Provariable im Notfall ne und
das ist also die Herstellerimplementierung dieses
Protokolls, das genau aber das Protokoll legt das nicht fest
und deswegen gibt es das halt alles ja.
Und dann gibt es quasi noch, jetzt haben wir ja die
Viererpakete, die wir entweder von rechts nach links lesen und
als das nicht reichen würde, kannst du noch innerhalb der
dieser Wörter quasi die Durcheinander swapen und dann
auch noch mal von rechts nach links lesen.
So hast du noch 2 Möglichkeiten hast das nennt dann Byte Swaped
und Word Byte Swaped, die gibt es auch noch die Variante, das
heißt du hast alleine um float darzustellen, da haben wir ja
noch nicht viel geschafft, sag ich mal ja so von also
heutzutage float wir sicken Jason durch die Gegend ist für
Lack ist gefährlich so ja. Aber alleine um float richtig zu
interpretieren, musst du die Richtige von den 4 möglichen
Kombinationen zum Dekodieren irgendwie wählen.
Ja, also auf dem Level ist Modbus und deswegen werden da
auch nicht ganz so viele Daten und schon gar nicht irgendwelche
Komplexen hier so von wegen hier irgendwie n Objekt n Key Value
und n Array von zahlen oder sowas das wirst du da nicht
finden. Ja das ist weil da kriegst du
nerven wenn du das irgendwie zurückdekodierst, dafür ist das
nie gemacht, man hat also sehr simple simple Daten quasi durch
die Gegend geschickt ja und man hält sich zurück, ja.
Und das letzte, was ich sagen will, ist, dass man das war cool
bei meiner alten Firma war das immer die das die
Aufnahmeprüfung für wenn du anfangen wolltest als
Softwareentwickler tatsächlich im Modbus zu optimieren, denn
ganz oft hast du Interesse an vielen Registern.
Jetzt hab ich erzählt die es gibt diese Sektion und so weiter
und ich hab auch erzählt es ist sehr teuer quasi nen Aufruf zu
machen und mir da was zu entgegenzunehmen kannst du
modbus immer sagen ich fang irgendwo an und dann lese ich
einfach nach rechts alle Bytes die da so kommen ja.
Und jetzt kann man nämlich, und das muss man auch, man muss
optimieren, les ich quasi n paar mehr Bytes mit erwischt dann
aber 3 von denen, die ich eigentlich sehen will, die
restlichen schmeiß ich weg, hab aber nur einen Lesevorgang und n
bisschen mehr, quasi ne größere Nachricht ja dafür aber weniger
requests und so weiter und das ist n ziemlich schwieriges
Problem, tatsächlich gar nicht so einfach das so zu optimieren,
dass ich n gutes Mittel hab zwischen nicht zu vielen
Requests und auch nicht zu viel Memory, dass ich nicht brauch,
ja. Das heißt, auch diese, dieses
dieses Zugreifen auf Modbus muss man auch selber auf der
Anwendungsebene steuern. Ne, das zeigt noch mal wie Low
Level im Prinzip dieses modbus Protokoll ist.
Das ist in anderen später kommenden Industrieprotokollen
alles Zweck abstrahiert, da muss ich mich als Entwickler
überhaupt keine Gedanken mehr machen, ne?
OK, krass, das sind wieder so Details da, da hätte ich lange
recherchieren können, bis da irgendwas zu finde.
Das ist ganz cool ich. Ich finde so ich, also ich muss
da auch wieder n bisschen recherchieren, ich hab ja auch
schon mal modbus gut geschrieben und hab das Gott sei Dank wieder
vergessen gehabt. Das ist auch so was was man
nicht unbedingt andauernd im Gehirn braucht, aber für so n
Podcast kann man uns da mal rauskramen.
Ja mega cool du, ich hab noch ne Frage, dann auch die letzte von
meiner Seite. Wie sieht es denn aus mit
Security und Sicherheit, also gibt es nicht modbus.
Nicht nicht vorgesehen ist, wie keine Verschlüsselung, gar
nichts plain, du brauchst n Port und ne IP Adresse und dann
machst du. Du kannst auch im Wireshark, es
gibt so n es gibt so n Tool, das heißt Wireshark, da kannst du
quasi direkt auf die Netzwerkkarte gucken was fliegen
da für Bytes vorbei, da ist Modbus tatsächlich als
Filteroption drin, dann kannst du live den Modbus Krams
mitlesen und das dekodiert ja auch sowohl das das das Binäre
als auch das Aski und so weiter da ist nichts geschützt, du
musst Netzwerksegmentierung machen, du musst andere über
VPNS oder irgendsowas, du musst das quasi drumherum schützen, du
kannst es intrinsisch nicht schützen, du kannst auch dich
die Daten kodieren oder irgendwas und das gibt es alles
nicht, das ist einfach, damals war Sicherheit noch kein Thema.
Ja, und jetzt gibt es sowohl so n ne Entwicklung, die nennt sich
dann modbus TLS, wo tatsächlich NTLS Tunnel aufgeht.
Ja und sich dann Geräte gegenseitig per Zertifikat
irgendwie authentifizieren oder sowas vorstellbar, oder?
Total vorstellbar gibt es bei OPCUA ja dann auch schon, die
haben das quasi mit eingebaut in ihren Standard.
Das ist n Klassiker, das ist also OPCUA kannst du komplett
absichern über Zertifikate jetzt kann man nachträglich auch so n
modbus einhängen, aber das ist also im Standard nie vorgesehen
gewesen, ne und also ich kenne also das mag es geben, ich hab
es noch nie gehört, vielleicht jetzt bei den ganz modernen
Devices, aber ich würd sagen alles was normalerweise modbus
ist hat nichts mit TLS, das geht einfach so ich.
Hab n bisschen geguckt, das sind wohl also n paar Geräte die
sowas ermöglichen. Ne.
Also Zertifikatsmanagement ist einfach muss dann.
Im Feature Set des Geräts vorhanden sein.
Ja, genau, und das musst du dann vorbereiten.
Ne, das kann das geht auch nicht von alleine, da musst du quasi
ja vorher so n ja die Zertifikate quasi hinterlegen,
austauschen und so weiter und dann dann sind wir noch mal der
ganzen. Ach Entschuldigung, aber.
Dafür hättest du ja wirklich dann die Frage, ob man da nicht
dann vielleicht was anderes nehmen sollte, wenn sowieso n
neues Gerät ist, was entwickelt wird, ne, aber wer weiß, die die
ganzen Automatisierer kennen sich halt aus mit dem Kram.
Ne, das ist wahrscheinlich aus dem Hintergrund.
Ne, das heißt ja nicht, dass es also.
Das es ist zwar unsicher an der Stelle oder nicht gesichert, das
heißt ja aber nicht, dass du es nicht sicher machen kannst.
Ja, also es gibt ja Mittel und Wege, vielerlei ja, also wenn du
es, wenn du das halt tunnelst zum Beispiel über NVPN oder wenn
du das Netzwerk quasi absegmentierst und da keiner
dran kommt und n Gateway hast und so, da kannst du schon n
paar Sachen machen. Ja und normalerweise wie gesagt,
es ist ja n Protokoll, da werden ja jetzt auch nicht gigantische
Daten übertragen und es ist Client Server, du sprichst halt
auch nicht mit der ganzen Factory, sondern.
Ja, mit 12 1517 PLCS, es kann schon n Mist sein so man muss,
man muss, man muss das wissen, dass Modbus nicht sicher ist.
Man muss das Absichern, aber das ist ja deswegen trotzdem kein
Grund würd ich sagen um es zu verdrängen.
Ja, das ist schon OK, ja es hat seine, es hat seine
Anwendungsdinger. Du dann tu mir noch einen
Gefallen und sag noch n bisschen was dazu, wie wir Integration
von Modbus bei Heiseware möglich machen.
Ich glaube wer jetzt noch dabei ist hat auch Bock sich das noch
mal ganz kurz anzuhören, vielleicht in einer Minute oder
so. Was was kann man mit Modbus
Devices und und Heisenware einstellen?
Ja, also wenn wenn man modbus device hat, dann kann man sich
den den Heisenware Edge Connector raus unter das
sprechende Protokoll. Wir unterstützen ne ganze Menge
von diesen Industrieprotokolls, also auch OPCOA und MQTT und
Siemens s 7 und so weiter und modbus hat 1 davon und über TCP
sowieso gar kein Problem. Dann bin ich ja quasi auf dem
Internet Stack, dann kann ich mein modbus Gerät direkt damit
konfigurieren, auslesen und so weiter und natürlich ohne dass
ich es coden muss, weil. Und ich kann es auch live
angucken, was da ankommt auf dem Kabel.
Das ist immer ganz schick bei uns.
Manchmal weiß man ja nicht ganz genau, passt die, oft passt auch
die Dokumentation nicht ganz zu dem, wie die Hardware reagiert,
dann kann ich mir das aber alles anzeigen lassen und wie gesagt,
seriell geht auch cool, das mach ich dann immer über so n die die
kann man kaufen die Dinger, das ist einfach so USB zu seriell
und dann kann man auch mal wenn man irgendwas serielles ganz
altes noch mal hat erstmal über den Laptop das Auslesen testen
oder aber und dann gibt es ja so diese ganzen Gateway Dinger.
Die ja auf zig Kommunikationskabel dann können.
Dann stell ich mir halt so n kompetentes Gateway hin, dann
mach ich quasi PLC oder Hardware direkt, je nach dem Gerät wie es
aufgebaut ist steck ich das Kabel quasi in so n Gateway von
da und von da angeht es weiter Richtung Internet über TCP
Protokoll, aber in diesem Gateway kann zum Beispiel der
Eisenverage Connector drinne sein, der dann quasi dieses über
das serielle Kabel kommende Verbindung aufbaut und versteht
und dann schicken wir das direkt in die in die Cloud und dann
kann man ja, dann kann man das so wie man das hat, so schön
kann bei uns. Einfach direkt in so einer
Backend Logik mit einem möglichen Mannheim verknoten und
coole Sachen bauen, ne. OK, gut, Burkhard, dann lass ich
dich in den Feierabend, den wohlverdienten.
Ich schneid jetzt noch n bisschen du armer alles cool.
Ja dann danke Euch fürs Zuhören und wir hören uns in 2 Wochen
wieder bei einfach komplex macht es gut tschau.
So sieht es aus. Tschüss aus Hamburg.
Einfach komplex wird präsentiert und produziert von Heiseware.
Wir freuen uns auf deine Fragen und
deinfeedbackanpodcast@heiseware.com vielen Dank fürs Hören dieser
Folge bis Dienstag in 2 Wochen und Tschüss aus Hamburg.