Der Timberwolf Server unterstützt ab Firmware 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 RTU Gateways: Bei “echten” Modbus Gateways gibt es einen Anschluss für einen RS-485 Bus zur Nutzung mit Modbus RTU Geräten. Hier können also serielle RTU Geräte angeschlossen werden, der Timberwolf Server spricht hier mit dem Gateway per Modbus TCP und das Gateway setzt diese Kommunikation auf den RS-485 Bus mit Modbus RTU um. Da an Modbus RTU theoretisch bis zu 248 Geräte angeschlossen werden können, muss eine Adressierung der RTU Geräte möglich sein. Dies erfolgt durch die im Modbus TCP mit angebbare Modbus Unit ID Adresse. Diese dient dann als ID in Modbus RTU. Geben Sie hier im Timberwolf Server dann unter ID die entsprechende ID im RTU System an.Modbus wird vom Gateway dannn als Modbus RTU ID umgesetzt und auf den Bus mit gesendet. Auf diese Weise kann ein das Gateway abfragender Client jedes einzelne Gerät auf dem hinter dem Gateway liegenden RTU Bus adressieren.
Hinweis: Im Timberwolf Server müssen Sie bei Nutzung von Modbus TCP nicht angeben, ob es sich um einen normalen Modbus TCP Server handelt oder um ein Modbus TCP Gateway. Geben Sie einfach - soweit für die Adressierung nötig - die zu nutzende ID an, diese wird dann immer mitgesendet und von Gateways entsprechend beachtet (und von normalen Servern nicht). Damit können Sie auch Modbus RTU Geräte, die z.B. sich in einem Nebengebäude befinden, mit dem Timberwolf Server verbinden, wenn Sie nur eine IP Verbindung (LAN/WLAN) zum Nebengebäude (oder weiter entfernt über VPN) verbinden.
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 , die über die Unit ID angesteuert werden. Bei z.B. Wechselrichtern / Batterien können die einzelnen Funktionseinheiten damit zwar mit einer IP angesprochen werden, aber 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 dann die einzelne Funktionseinheit adressiert werden.Unser Rat: 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. |
Rollen: Modbus Client und Modbus Server
...
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”).
...
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.
...