Modbus TCP-Integration
Modbus TCP verbindet HyperVisu mit Industrie- und Energiegeräten: Solarwechselrichtern, Ladegeräten für Elektrofahrzeuge, Wärmepumpen, Lüftungsgeräten und SPS. HyperVisu ist der Modbus-Client — es fragt die Geräteregister ab und schreibt in sie, wenn Sie ein Widget bedienen.
Benötigte Angaben: die IP-Adresse des Geräts, der Modbus-Port (üblicherweise 502), die Registertabelle (aus der Modbus-Dokumentation des Herstellers) und die Slave-/Unit-ID.
Verbindungen. Aktivieren Sie zuerst Modbus TCP Protocol auf der Seite Services (siehe „Dienste und Protokolle“); auf einem neuen Server ist es deaktiviert. Modbus TCP unterstützt mehrere Verbindungen: Erstellen Sie auf der Seite Connections eine Verbindung pro Modbus-Server (pro IP/Port) (siehe „Verbindungen“). Wählen Sie in Add connection die Karte Modbus TCP und geben Sie einen Instance Name, die Server IP Address und ein Poll Interval (seconds) ein — wie oft HyperVisu alle Objekte dieser Verbindung liest. Geben Sie das Intervall ein: Die graue 30 ist nur ein Hinweis; ein leeres Feld lässt den Server alle 5 Sekunden abfragen.
Der Dialog hat kein Portfeld: Die Verbindung wird auf Port 502 erstellt. Lauscht das Gerät auf einem anderen Port, wählen Sie die neue Verbindung, ändern Sie Modbus TCP Port und klicken Sie auf Save connection.
Eine Modbus-Verbindung hat keine Schaltfläche Test. Zur Kontrolle dienen der Status Connected auf der Seite Connections und der aktuelle Wert eines gebundenen Objekts.
Ein Objekt binden. Binden Sie Modbus-Register an Widgetobjekte im Arbeitsbereich Devices. Stellen Sie je Objekt Folgendes ein:
| Einstellung | Bedeutung |
|---|---|
| Slave ID | Die Gerätekennung, 1–247. |
| Register type | Coil, diskreter Eingang, Eingangsregister oder Holding-Register. |
| Register address | Die Registeradresse aus der Registertabelle des Geräts, von 0 bis 65535. Sie wird genau wie eingegeben an das Gerät gesendet: Geben Sie die Protokolladresse ein, keine Referenznummer 4xxxx oder 3xxxx. Achten Sie auf eine Verschiebung um eins: Manche Hersteller dokumentieren Adressen ab 1, Modbus zählt ab 0. |
| Data type | Wie die Rohregister dekodiert werden (16/32-Bit-Ganzzahl mit/ohne Vorzeichen, Gleitkommazahl, …). |
| Byte order | Die Wort-/Byte-Reihenfolge für Werte über mehrere Register — sie steht in der Herstellerdokumentation. Das Feld erscheint nur bei Datentypen über zwei oder mehr Register (32-Bit, 64-Bit und Gleitkomma). |
| Write Function | Nur Holding-Register. Lassen Sie Automatic (FC6 / FC16) eingestellt, außer das Gerät implementiert FC6 nicht; wählen Sie dann Always FC16 (write multiple). |
| Scaling | Scale, Offset, Decimal Places und Units. Die Zeile Formula zeigt Display = (Raw × scale) + offset mit einem festen Beispielrohwert, nicht mit dem Messwert des Geräts. Ein Skalierungsfaktor von 0 wird als 1 gelesen. |
📘 Hinweis: Skalierungsfaktor und Offset des Objekts werden vor jeder Transformation desselben Objekts angewendet (siehe „Werttransformationen und Funktionszustand“). Fügen Sie keine zusätzliche Skalierungstransformation hinzu, sonst wird der Wert zweimal skaliert.
Praxisbeispiel — Wechselrichterleistung in einem Zähler
Die Wechselrichterdokumentation nennt: Wirkleistung, Eingangsregister 32080, 32-Bit-Ganzzahl mit Vorzeichen, Verstärkung 1, Einheit W, Unit-ID 1.
- Erstellen Sie eine Modbus TCP-Verbindung für den Wechselrichter: Server IP Address
192.168.1.120, Poll Interval (seconds)10(siehe „Verbindungen“). Die Verbindung wird auf Port502erstellt. - Fügen Sie unter Devices ein Meter-Widget „Solarproduktion“ hinzu, Raum Technik, Kategorie Energie. Wählen Sie unter Protocol die Verbindung des Wechselrichters, die mit dem vergebenen Namen aufgeführt wird.
- Öffnen Sie das Leistungsobjekt und geben Sie ein: Slave ID
1, Register type Input register, Register address32080, Data type INT32, Byte order gemäß Dokumentation. - Stellen Sie Scaling ein: Skalierungsfaktor
0.001, Offset0, Dezimalstellen2, EinheitenkW. Ein Rohwert von5230wird zu5.23 kW. - Klicken Sie auf Save object, dann auf Apply changes in der Seitenleiste und bestätigen Sie. Verbindung, Gerät und dessen Objekte werden in diesem Moment gemeinsam aktiv.
- Warten Sie mindestens ein Abfrageintervall. Der aktuelle Wert erscheint in der Widgetzeile; vergleichen Sie ihn mit der Anzeige des Wechselrichters.
💡 Tipp: Aktivieren Sie die Protokollierung am Objekt (siehe „Objekteinstellungen, Protokollierung und Benachrichtigungen“), damit der Zähler Diagramme und einen Verlauf in der App erhält.

Modbus-Bindung
Modbus-Objekte werden im Dialog für die Objekteinstellungen konfiguriert (öffnen Sie das Objekt mit Edit, siehe „Objekteinstellungen, Protokollierung und Benachrichtigungen“). Die Modbus-Bereiche sind:
Connection
| Feld | Beschreibung |
|---|---|
| Slave ID | Die ID des Modbus-Slavegeräts (1–247). |
Data Configuration
| Feld | Beschreibung |
|---|---|
| Register Type | Welche Registertabelle gelesen oder beschrieben wird (z. B. Holding- oder Eingangsregister). |
| Register Address | Die Registernummer. |
| Data Type | Wie die Registerbytes interpretiert werden (Ganzzahlgrößen, Gleitkommazahl, …). |
| Byte Order | Die vom Gerät verwendete Wort-/Byte-Reihenfolge. |
Scaling & Conversion
| Feld | Beschreibung |
|---|---|
| Scale | Multipliziert den Rohwert mit diesem Faktor (z. B. 0.1 zum Teilen durch 10). |
| Offset | Wird nach der Skalierung addiert (z. B. -273.15 für Kelvin → Celsius). |
| Decimal Places / Units | Anzeigegenauigkeit und Einheit. |
Der Dialog zeigt die aktuelle Formel — Display = (Raw × scale) + offset — mit einem Rechenbeispiel, damit Sie die Umrechnung vor dem Speichern prüfen können.

💡 Tipp: Registernummern, Funktionscodes und ein vollständiges Praxisbeispiel finden Sie im Modbus-Kapitel.