TapHome

Flüssigkeitsstandsensor

Modbus RTU
Eingereicht von
Zuletzt aktualisiert: 04. 2026

Erfordert externes Gateway

TapHome Modbus Gateway — Produktseite

Flüssigkeitsstandsensor

Ein generischer hydrostatischer Tauchfüllstandssensor mit Modbus RTU zur Überwachung des Wasserstands in Tanks, Brunnen oder Rückhaltebecken. Der Sensor kommuniziert über RS-485 im Halbduplex-Betrieb und liefert den gemessenen Füllstand über Holding-Register H:4. Die TapHome-Vorlage liest den Messwert mit automatischer Dezimalkomma-Umrechnung und unterstützt Meter (m) und Zentimeter (cm) als Anzeigeeinheiten.

Diese Vorlage ist für generische chinesische Druck-/Füllstandstransmitter konzipiert, die dieselbe Modbus-Registerkarte verwenden. Der Sensor wird typischerweise mit 12–36 V DC versorgt und nutzt eine 2-Draht-RS-485-Verbindung zum TapHome Modbus Gateway.

Hardwareanschluss

Der Sensor nutzt eine RS-485-Halbduplex-Schnittstelle für die Modbus RTU-Kommunikation. Verbinden Sie den Sensor mit dem TapHome Modbus Gateway:

  • A+ (RS-485 Data+) am Sensor mit A+ am TapHome Modbus Gateway
  • B- (RS-485 Data-) am Sensor mit B- am TapHome Modbus Gateway
  • GND an eine gemeinsame Massebezugslinie

Der Sensor benötigt zusätzlich eine separate DC-Stromversorgung (typischerweise 12–36 V DC, je nach Modell). Die Versorgungsleitungen sind von den RS-485-Datenleitungen getrennt.

Stellen Sie eine gemeinsame Massebezugslinie zwischen dem Sensor und dem TapHome Modbus Gateway sicher. Ohne ordnungsgemäße Erdung kann die Modbus-Kommunikation unzuverlässig sein oder vollständig ausfallen.

Konfiguration

Standard-Kommunikationsparameter

Der Sensor wird mit folgenden seriellen Standardeinstellungen ausgeliefert:

ParameterStandardwert
Baudrate9600 bps
Datenbits8
ParitätKeine
Stoppbits1
Slave-Adresse1

Die Baudrate kann über Register H:1 geändert werden (unterstützte Werte: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200). Nach Änderung der Baudrate schreiben Sie 0 in Register H:15, um die Einstellung im Benutzerbereich zu speichern.

Einheitenauswahl

Die Messeinheit wird über Register H:2 konfiguriert. Die TapHome-Vorlage unterstützt nur zwei Einheiten:

H:2-WertEinheitVerhalten
16m (Meter)Gibt den Rohwert direkt zurück (mit Dezimalkomma-Umrechnung)
17cm (Zentimeter)Gibt den Wert geteilt durch 100 zurück
AndereMPa, KPa, bar, usw.Gibt NaN zurück — von der Vorlage nicht unterstützt

Wenn der Sensor auf eine andere Einheit als m (16) oder cm (17) eingestellt ist, zeigt die TapHome-Vorlage NaN an. Überprüfen Sie die Einheiteneinstellung vor dem Import der Vorlage.

Dezimalstellengenauigkeit

Register H:3 legt fest, wie viele Dezimalstellen der Rohmesswert verwendet:

H:3-WertFormatTeilungsfaktor
0####1
1###.#10
2##.##100
3#.###1000
4.####10000

Die TapHome-Vorlage teilt den Rohwert H:4 automatisch durch 10^(H:3), um den korrekten Messwert zu erhalten. Beispiel: Wenn H:3 = 1 (eine Dezimalstelle) und H:4 = 2500, ist der angezeigte Wert 250,0.

Importparameter

Beim Import der Vorlage in TapHome sind zwei Parameter erforderlich:

ParameterBeschreibungBeispiel
Slave IdModbus-Slave-Adresse des Sensors (1–255)1
IP addressIP-Adresse des TapHome Modbus Gateway192.168.1.100

Gerätefunktionen

Wasserstandsmessung

Die Vorlage stellt ein einzelnes Nur-Lese-Sensorgerät bereit — Water Level — das Holding-Register H:4 (Int16) liest. Das ReadState-Skript wendet eine dynamische Umrechnung an:

  1. Liest den ganzzahligen Rohwert aus H:4
  2. Teilt durch 10^(H:3) zur Anwendung der Dezimalstelleneinstellung
  3. Wertet H:2 (Einheit) aus: bei Einheit = 16 (m) wird der Wert direkt zurückgegeben; bei Einheit = 17 (cm) wird durch 100 geteilt; andernfalls wird NaN zurückgegeben

Der Sensor wird alle 15 Sekunden abgefragt.

Servicediagnose

Das Modul stellt vier Serviceattribute zur Überwachung der Sensorkonfiguration bereit:

  • Slave Address — aktuelle Modbus-Slave-Adresse (H:0)
  • Baud Rate — aktuelle Kommunikationsgeschwindigkeit, angezeigt als tatsächlicher Baudratenwert (z. B. 9600, nicht der Register-Enum)
  • Unit — aktuell eingestellte Messeinheit (z. B. „m", „cm", „MPa")
  • Decimal Points — aktuelles Dezimalstellenformat (z. B. „###.#")

Eine Serviceaktion Rewrite Slave Address ermöglicht das Ändern der Modbus-Adresse des Sensors (1–255) direkt aus TapHome ohne externe Werkzeuge. Die Aktion schreibt die neue Adresse und speichert sie automatisch im Benutzerbereich des Sensors.

Weitere Funktionen

Der Sensor stellt auch Register für den Nullpunkt des Messbereichs (H:5) und den Endwert (H:6) als Kalibrierungsreferenzen bereit, ein Nullbit-Offset-Register (H:12) zur Feinjustierung des Messausgangs, einen 4-Byte IEEE 754 Gleitkomma-Messausgang (H:22-23) und die Konfiguration der seriellen Parität (H:37). Ein Werksreset-Befehl (H:16) kann alle Parameter auf Werkswerte zurücksetzen. Diese können in einem zukünftigen Vorlagen-Update ergänzt werden.

Falls höhere Genauigkeit benötigt wird, liefert die Gleitkommamessung an den Registern H:22-23 denselben Messwert im IEEE 754-Format (Big-Endian ABCD-Bytereihenfolge) ohne die Ganzzahlrundung von H:4.

Fehlerbehebung

Sensor gibt NaN zurück
  1. Prüfen Sie Register H:2 (Unit) — die Vorlage unterstützt nur Einheit 16 (m) und 17 (cm). Alle anderen Einheiten geben NaN zurück
  2. Verwenden Sie das Serviceattribut Unit in TapHome zur Überprüfung der aktuellen Einstellung
  3. Wenn die Einheit falsch ist, verwenden Sie ein Modbus-Tool zum Schreiben des korrekten Werts in H:2, dann schreiben Sie 0 in H:15 zum Speichern
Keine Kommunikation
  1. Überprüfen Sie die RS-485-Verdrahtung: A+ zu A+, B- zu B- und gemeinsame Masse
  2. Stellen Sie sicher, dass die Baudrate zwischen Sensor und TapHome übereinstimmt (Standard: 9600, N, 8, 1)
  3. Bestätigen Sie, dass die korrekte Slave-ID beim Vorlagenimport eingegeben wurde
  4. Überprüfen Sie, dass die IP-Adresse auf das richtige TapHome Modbus Gateway zeigt
  5. Falls Leitungen vertauscht sind (A+/B-), tauschen Sie diese — einige Sensoren beschriften Pins anders
Falsche Messwerte
  1. Überprüfen Sie, ob die Dezimalstelleneinstellung (H:3) der Werkskonfiguration des Sensors entspricht
  2. Prüfen Sie die Einheiteneinstellung (H:2) — der cm-Modus (17) teilt durch einen zusätzlichen Faktor 100
  3. Stellen Sie bei Tauchsensoren sicher, dass die Sonde vollständig eingetaucht ist und das Kabel nicht geknickt ist

Verfügbare Geräte

Flüssigkeitsstandsensor Modul
Serviceattribute
Slave-Adresse
Baudrate
Einheit
Dezimalstellen
Serviceaktionen
Slave-Adresse umschreiben

Liquid level sensor - retenčná nádrž

Serviceattribute
Slave Address
modbusr(H, 0, int16);
Baud Rate
SWITCH(modbusr(H, 1, int16),
	0, 1200,
	1, 2400,
	2, 4800,
	3, 9600,
	4, 19200,
	5, 38400,
	6, 57600,
	7, 115200,
      NaN
);
Unit
switch(modbusr(H, 2, int16),
	0, "MPa",
	1, "KPa",
	2, "Pa",
	3, "bar",
	4, "mbar",
	5, "Kgcm2",
	6, "PSI",
	7, "mH2O",
	8, "mmH2O",
	9, "inH2O",
	10, "H2O",
	11, "mHg",
	12, "mmHg",
	13, "inHg",
	14, "atm",
	15, "Torr",
	16, "m",
	17, "cm",
	18, "mm",
	19, "Kg",
	20, "°C",
	21, "PH",
	22, "°F",
	NaN
);
Decimal points
SWITCH(modbusr(H, 3, int16),
	0, "####",
	1, "###.#",
	2, "##.##",
	3, "#.###",	
	4, "#.###",
	NaN
);
Serviceaktionen
Rewrite the Slave Address
Parameter: Slave Address (1–255 SlaveAddr)
modbusw(SH, 0, int16, SlaveAddr);
modbusw(SH, 15, int16, 0);  # Save to user area
Wasserstand Variable Nur lesen

Messung des Flüssigkeitsstands in Metern oder Zentimetern — liest den Ausgang des hydrostatischen Drucksensors mit konfigurierbarer Dezimalgenauigkeit

Register: H:4 Int16 Einheit: dynamic numeric

Wasserstand

Lesen
VAR val := MODBUSR(H, 4, Int16)/power(10, modbusr(H, 3, int16));

switch(modbusr(H, 2, int16),
	16, val,
	17, val / 100, 
	NaN
);
Verbindung: Modbus RTU • 9600 baud• 8N1 • Slave ID: $[SlaveId]
Mögliche Verbesserungen (6)
  • H:5 Range Zero Point — Int16, transmitter range zero point — factory calibration reference
  • H:6 Range Full Point — Int16, transmitter range full scale point — factory calibration reference
  • H:12 Zero Bit Offset — Int16 (R/W via 0x06), zero-bit offset value — pressure output = calibration + offset. Factory default 0
  • H:22 Floating Point Measurement — 4-byte float (IEEE 754, big-endian ABCD), 2 registers starting at 0x0016 — same measurement as H:4 but in float format
  • H:37 Serial Check Bit — Int16 (R/W via 0x06); enum: 0=None, 1=Odd, 2=Even — serial parity configuration
  • H:16 Restore Factory Parameters — Write 1 to 0x0010 to restore factory defaults — resets address, baud rate, and calibration. Requires re-searching for transmitter

Quellen

  • Modbus RTU communication protocol documentation for pressure and level transmitter