Der Timberwolf Server unterstützt ab Firmware V 2.0 die beiden Protokolle Modbus RTU und Modbus TCP in der Rolle als der steuernde Client (“Master”).
...
Table of Contents | ||
---|---|---|
|
...
Einsatzbereich
Die Protokollsammlung Modbus wird seit 40 Jahren in der Industrie und der Gebäudeautomatisierung für Sensornetze, Messwertaufbereitung und zur Anlagensteuerung verwendet.
Modbus ist der De-Facto Standard für den Datenaustausch mit Wärmepumpen, vielen Systemen der HKL-Technik, zur Steuerung von Wechselrichtern an Photovoltaikanlagen, Hausbatteriesystemen und Ladestationen für Elektrofahrzeuge. Darüber hinaus existiert ein umfangreiches Angebot für Modbus Sensoren und Modbus Smartmeter.
Haupteinsatzbereiche für Modbus ist:
Smartmeter: Für Modbus stehen teils äußerst preisgünstige Smartmeter und Zähler zur Verfügung
E-Mobility: Die meisten Wandladestationen sind Modbus fähig
Photovoltaik: Praktisch alle PV-Wechselrichter können den Status per Modbus ausgeben
Hausbatterien: Eine Vielzahl von Batterie-Steuerungen lassen sich per Modbus einbinden
Heizungssteuerungen: Viele Heizungs- und Wärmepumpensteuerungen sind ebenfalls per Modbus ansteuerbar
Sensoren: Für Modbus existiert sowohl ein breites Angebot an sehr günstigen Sensoren als auch für den professionellen Einsatz in der Industrie
Industrie: Sammeln, Umrechnen und Zusammenfassen von Messwerten inkl. Langzeitaufzeichnung und grafischer Auswertung sowie , Umrechnung von Modbus Systemen für übergeordnete SCADA Systeme
Übersicht
Historisches: Modbus wurde 1979 von dem Unternehmen Modicon als serielles Kommunikationsprotokoll zur Verwendung mit seinen speicherprogrammierbaren Steuerungen (SPS) veröffentlicht. Die Protokollsammlung Modbus dient der Übertragung von Informationen zwischen elektronischen Geräten. Modicon wurde 1988 zunächst durch die Daimler AG (AEG) und schließlich 1994 von der Schneider Electric SE übernommen. Der Modbus Standard wird von der “Modbus Organization, Inc”, einer in den USA registrierten unabhängigen, nur von den Mitgliedern getragenen non-profit Organisation, verwaltet.
...
Implementierung im Timberwolf Server: Der Timberwolf Server ist ab Firmware 2.0 mit einer umfassenden Modbus Implementierung ausgestattet. Die von jedem Browser auf jedem Endgerät nutzbare Benutzeroberfläche (“Web-APP”) ermöglicht eine besonders einfache und flexible Konfiguration der Leistungsmerkmale. Diese grafische Webschnittstelle ermöglicht eine interaktive Konfiguration, so dass die Parametrisierung nicht „blind“ vorgenommen werden muss. Alle Daten von Modbus Geräten können in Intervallen ab 10 ms abgefragt werden. Zusätzlich lassen sich alle Werte automatisch auf Plausibilität prüfen, mit freien Formeln umrechnen und in die Datentypen des Objekt-Systems konvertieren. Diese Objekte können anschließend dauerhaft aufgezeichnet und / oder (fast) beliebig mit allen anderen unterstützten Bussystemen n:m verknüpft werden.
Protokolle: Modbus RTU vs. Modbus TCP
Das Modbus Protokoll steht für zwei Übertragungsmedien zur Verfügung: Über serielle RS-485 Bussysteme sowie über TCP/IP Netzwerke. Die Verwendung von Modbus über RS-485 Bussysteme wird als „Modbus RTU“ bezeichnet. Die Protokollvariante, welche über TCP/IP Netze kommuniziert, wird als „Modbus TCP“ bezeichnet.
...
Modbus RTU basiert elektrisch auf dem sehr robusten RS-485 Bussystem.
Info |
---|
Bussysteme RS-485 RS-485 wurde 1983 von der Electronic Industrie Alliance ("EIA") entwickelt um die - erheblichen - Limitationen der seriellen RS-232 Schnittstelle zu überwinden. Der Standard wurde später von der Telecommunications Industry Association ("TIA") übernommen, die EIA löste sich 2010 auf. Deswegen wird RS-485 auch als EIA-485 bzw. als TIA-485-A, selten auch als TIA/EIA-485-A bezeichnet. Wir verwenden in unseren Dokumentationen und Beschreibungen die übliche Bezeichnung RS-485. Die Buchstabenfolge "RS" stand für "Radio Selector", nach manchen Quellen auch als "Recommended Standard". Der Standard beschreibt nur die elektrischen Schnittstellenbedingungen, es werden darin weder Stecker, Kabel oder die Übertragungsprotokolle definiert. RS-485 ist damit ein Industriestandard für eine physikalische Schnittstelle für die asynchrone Datenübertragung mit differenzieller Übertragung. Die wesentlichen Merkmale von RS-485
|
...
Modbus TCP “to intern” Gateways: Daneben gibt es auch “unechte” Modbus TCP Gateways, bei denen es zwar keinen nach außen geführten RTU Bus gibt, aber dennoch sich mehrere Funktionsmodule im Gerät befinden oder über einen herstellereigenen Bus geführt werden. Letzteres findet sich bei modularen HKL-Anlagen sowie modularen Wechselrichter- und Batterieanlangen. Die einzelnen Funktionseinheiten werden dann über die Unit ID adressiert, da der gemeinsame Controller über eine IP-Adresse angesprochen wird..
Info |
---|
Prüfen Sie die Dokumentation bei Modbus TCP Geräten auf Unit-ID Vorgaben Bitte prüfen Sie bei Modbus TCP Geräten - ohne erkennbar herausgeführten RTU Bus - daher, ob diese als normaler Modbus TCP Server implementiert sind (welche die Unit ID nicht beachten) oder als Modbus TCP Gateway und daher zusätzlich die Angabe der richtigen Unit ID für die vollständige Adressierung erforderlich ist. |
...
Modbus ist ein Client-Server-Protokoll (früher als “Master-Slave” bezeichnet). Der Client (früher “Master”) steuert die Kommunikation im Bus und fragt die Modbus Geräte ab, die als Modbus Server (früher als “Slave” bezeichnet) agieren. Der Client fragt (“Master”) fragt nun von den Servern (“Slaves”) entweder die einzelnen Register ab („lesen“) oder überträgt Werte an dessen Register („schreiben“).
Ein die gesamte Kommunikation am Bus steuernder Client (aka “Master”) kann auch mehrere Server (aka “Slave”) ansprechen. Im Timberwolf Server legen Sie die Intervalle fest, welche Register welcher Server angesprochen werden und wie Lese- und / oder Schreib-Register angesprochen und konvertiert sowie mit dem Objektsystem verknüpft werden.
Zu Unterscheiden sind ZWEI verschiedene Ausführungen des “Modbus”:
Modbus RTU: In einem Modbus RTU Bus (serieller zweidraht Bus) darf es nur einen steuernden Client geben und bis zu 248 angesprochene Slaves adressierbare Server pro Modbus System (das ist ein auf RS-485 basierender serieller Bus mit Modbus Protokoll).
Modbus TCP: In Modbus TCP (TCP Netzwerk) ist die Zahl der Clients, die einen Server (gleichzeitig) abfragen nicht durch das Protokoll selbst begrenzt. Üblich ist es jedoch durchaus, dass in der jeweiligen Implementierung eines Modbus TCP Servers die Anzahl der gleichzeitigen Verbindungen durch Clients limitiert ist. Dies entnehmen Sie bitte der Anleitung des fremden Modbus TCP Servers bzw. Gateways.
Status | ||||
---|---|---|---|---|
|
Datenaustausch: Register, Registersets und Functioncode
Modbus Geräte können jeweils über bis zu vier Sets zu jeweils 65.536 Register verfügen. Zwei dieser Sets sind nur für 1-Bit Register vorgesehen (jeweils in der Variante “Nur-Lesen” sowie “Lesen- und Schreiben”), die anderen beiden Sets ausschließlich für 16 Bit Register (ebenfalls jeweils einmal als “Nur-Lesen” sowie einmal als “Lesen- und Schreiben”).
...
Für die Zuordnung der Functionscodes zu Registerset gilt die folgende Tabelle:
REGISTER | FUNCTIONCODES & ERRORCODES | |||||
---|---|---|---|---|---|---|
Register-Adresse | Datagram-Adresse | Registerset | Breite | (Multiple) | Single | Multiple |
00001 bis | 0x0000 bis | Set 0 | 1 Bit R/W | FC: 0x01 (01) | FC: 0x05 (05) | FC: 0x0F (15) |
00001 bis | 0x0000 bis | Set 1 | 1 Bit RO | FC: 0x02 (02) | ||
00001 bis | 0x0000 bis | Set 3 | 16 Bit RO | FC: 0x04 (04) | ||
00001 bis | 0x0000 bis | Set 4 | 16 Bit R/W | FC: 0x03 (03) | FC: 0x06 (06) | FC: 0x10 (16) |
Status | ||||
---|---|---|---|---|
|
In der Gerätedokumentation werden Registeradressen jedoch meist zur Basis 1 angegeben (erste nutzbare Adresse beginnt mit 1) obwohl diese zur Basis 0 über den Bus übertragen werden. Der Unterschied zur Darstellung in der Dokumentation wird auch manchmal als “Offset” bezeichnet. Details hierzu weiter unten.
Die Errorcodes werden vom Timberwolf Server automatisch ausgewertet.
Status | ||||
---|---|---|---|---|
|
Registeradressierung: Base 0 oder Base 1 / Dezimal oder Hex
Damit wird bezeichnet, ob die Zählweise einer Adressierung bei 0 oder bei 1 beginnt. In der Computertechnik starten Adressen und Zähler bei dem Wert “0”, der Mensch ist gewohnt ab “1” zu zählen.
...