1. Einleitung
Modbus ist ein Request-Response-Protokoll, das auf einer Master/Slave- oder Client/Server-Architektur basiert. In einer Master-Slave-Beziehung erfolgt die Kommunikation paarweise. Ein Gerät muss eine Anfrage stellen und anschließend auf eine Antwort warten. Das initiierende Gerät (Master genannt) ist für die Initiierung jeder Interaktion verantwortlich. Typischerweise ist das Master-Gerät ein HMI- oder SCADA-System und die Slave-Geräte Sensoren, speicherprogrammierbare Steuerungen (SPS) oder programmierbare Automatisierungssteuerungen (PACs). In einem Standard-Modbus-Netzwerk gibt es ein Master-Gerät und bis zu 247 Slave-Geräte. Jedes Slave-Gerät hat eine eindeutige Slave-Geräteadresse von 1 bis 247. 2. Modbus-Protokoll im Detail
Derzeit wird das Modbus-Protokoll hauptsächlich für serielle und Ethernet-Verbindungen verwendet. Für serielle Verbindungen wird es in Modbus RTU und Modbus ASCII unterteilt, die sich in den Daten- und Protokolldetails geringfügig unterscheiden. Für Ethernet-Verbindungen wird Modbus TCP verwendet.
2.1 Modbus-Datenübertragungsmodi
1) Modbus RTU wird für die serielle Kommunikation verwendet und nutzt Binärdaten für die Protokollkommunikation. Das RTU-Format nutzt zyklische Redundanzprüfsummen als Fehlerprüfmechanismus, um die Zuverlässigkeit der Daten zu gewährleisten. Modbus RTU ist die gängigste Implementierung von Modbus. Eine Modbus-RTU-Nachricht muss kontinuierlich einzeln und ohne Zeichenpausen übertragen werden. Modbus-Nachrichten sind durch Ruhephasen getrennt.
2) Modbus ASCII wird auch für die serielle Kommunikation verwendet, wobei ASCII-Zeichen für die Protokollkommunikation verwendet werden. Das ASCII-Format verwendet eine Längsredundanzprüfsumme. Modbus-ASCII-Nachrichten werden durch einen Doppelpunkt (:) und einen abschließenden Zeilenvorschub (CR/LF) als Kopf- und Fußzeile gekennzeichnet.
3) Modbus TCP wird für die TCP/IP-Netzwerkkommunikation auf Modbus verwendet und verbindet sich über Port 502. Prüfsummen müssen nicht berechnet werden, da TCP/IP bereits in der darunterliegenden Schicht einen Prüfsummenschutz bietet.
2.2 Unterschiede zwischen Modbus ASCII, RTU, TCP
Modbus RTU und Modbus ASCII verwenden dasselbe Protokoll. Der einzige Unterschied besteht darin, dass die übertragenen Bytes bei RTU binär und bei ASCII als lesbarer Text dargestellt werden. Beachten Sie, dass RTU-Nachrichten kein Start-of-Text-Flag haben und der Empfänger der Nachricht eine Ruhezeit verwendet, um den Beginn einer neuen Nachricht zu bestimmen, während ASCII ein Start-of-Text-Flag hat. Binäre Nachrichten sind kürzer als ASCII, daher ist RTU theoretisch schneller zu senden/empfangen als ASCII.
Modbus TCP kann grundsätzlich als das über Ethernet TCP/IP übertragene Modbus-RTU-Protokoll verstanden werden. Modbus-Datenstrukturen werden mithilfe der Anwendungsschicht des TCP/IP-Protokolls definiert. Das TCP-Protokoll stellt den korrekten Empfang und Versand der Daten sicher, während das IP-Protokoll Adress- und Routing-Informationen enthält. Die Modbus-TCP-Befehle werden über das TCP/IP-Protokoll übertragen. Modbus-RTU-Befehle werden für die Übertragung verpackt. Der Vorteil von Modbus TCP liegt in der Möglichkeit, generische Ethernet-Geräte zu verwenden.
3. ModBus-Anwendungen in Jincan-Netzwerkgeräten
Jincan Network DTU-, RTU- und Industrieroutergeräte können das ModBus-Protokoll unterstützen, um Sensor- oder Gerätedaten zu erfassen, die über das 5G/4G-Kommunikationsnetzwerk auf den Remote-Server hochgeladen werden, und unterstützen Passthrough und Protokollkonvertierung.