---
title: "ComWinTop CWT-ULS Ultraschall-Füllstandssensor"
description: "ComWinTop CWT-ULS per Modbus RTU (RS-485): berührungslose Messung von Füllstand, Abstand und Temperatur, dazu 2 virtuelle Relais mit Hysterese."
url: "https://taphome.com/de/compatibility/comwintop-ultrasonic-level-sensor/"
language: de
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["modbus-rtu","sensor","rs485","level-measurement","ultrasonic","relay"]
  questions: ["Wie integriert man den ComWinTop CWT-ULS Ultraschall-Füllstandssensor mit TapHome?","Was misst die ComWinTop Ultraschall-Füllstandssensor-Vorlage in TapHome?","Wie verbindet man den ComWinTop CWT-ULS über RS-485 mit TapHome?","Wie konfiguriert man die Montagehöhe für die Füllstandsberechnung?","Wie stellt man die Relaisschwellenwerte am ComWinTop Ultraschall-Füllstandssensor über TapHome ein?","Was ist die Blindzoneneinschränkung des CWT-ULS Ultraschallsensors?"]
---

# ComWinTop CWT-ULS Ultraschall-Füllstandssensor

Kommunikation: Modbus RTU

- [ComWinTop CWT-ULS Produktseite](https://store.comwintop.com/products/non-contact-ultrasonic-transmitter-ultrasonic-level-sensor-liquid-fuel-integrated-smart-level-measurement-indicator-4-20ma-rs485)

## Integrationsanleitung

Der ComWinTop CWT-ULS ist ein berührungsloser Ultraschall-Füllstandssensor, der über Modbus RTU per RS-485 mit TapHome verbunden wird. Der Sensor misst den Abstand zur Flüssigkeitsoberfläche mittels Ultraschallimpulsen und berechnet den Füllstand anhand einer konfigurierbaren Montagehöhe. Zwei Modelle sind verfügbar: CWT-ULS-I-10M (integriert) und CWT-ULS-S-10M (getrennte Sonde mit Kabel).

Die TapHome-Vorlage stellt die Füllstandshöhe, den Abstand zur Oberfläche, einen integrierten Temperatursensor und zwei virtuelle Relais mit konfigurierbaren Hysterese-Schwellenwerten bereit. Alle Registerwerte verwenden 32-Bit IEEE 754 Gleitkomma-Kodierung, wobei jeder Wert zwei Modbus-Register belegt.

## Hardware-Anschluss

### Technische Spezifikationen

| Parameter | Wert |
|-----------|------|
| **Messbereich** | 0,5–20 m |
| **Blindzone** | 0,35–0,5 m |
| **Genauigkeit** | 0,5 % |
| **Auflösung** | 1 mm |
| **Spannungsversorgung** | 12–28 VDC |
| **Leistungsaufnahme** | < 0,6 W |
| **Betriebstemperatur** | -40 °C bis +80 °C |
| **Schutzart** | IP65 |
| **Protokoll** | Modbus RTU Slave, RS-485 |
| **Baudrate** | 9600 (Standard), konfigurierbar 600–115200 |
| **Gewinde** | G2, Durchmesser 60 mm |

### RS-485-Verdrahtung

Der Sensor verwendet einen 4-Draht-Anschluss mit farbcodierten Kabeln:

| Drahtfarbe | Funktion | Klemmenpaar |
|------------|----------|-------------|
| **Braun** | Versorgung + (12–28 VDC) | 05–06 |
| **Schwarz** | Versorgung - (GND) | 05–06 |
| **Gelb/Grün** | RS-485 A+ | 01–02 |
| **Blau** | RS-485 B- | 01–02 |

Verbinden Sie die RS-485-Drähte mit TapHome:

- **A+** (Gelb/Grün) → A+/D+ am TapHome RS-485
- **B-** (Blau) → B-/D- am TapHome RS-485

Der Sensor hat außerdem zwei Relaisausgänge, jeder an einem eigenen Klemmenpaar:

| Klemmenpaar | Funktion |
|-------------|----------|
| **08–09** | Relaisausgang 1 |
| **10–11** | Relaisausgang 2 |

> [!WARNING]
> **Blindzonen-Einschränkung**
>
> Der Sensor kann keine Abstände kürzer als 0,35–0,5 m von der Sensorfläche messen (Blindzone). Montieren Sie den Sensor so, dass die Oberfläche auch beim maximalen Füllstand mindestens 0,5 m unter der Sensorfläche bleibt.

### Installationshinweise

- Positionieren Sie den Sensor abseits von Tankeinläufen, um Turbulenzstörungen zu vermeiden
- Vermeiden Sie Hindernisse im Ultraschall-Messkegel
- Berücksichtigen Sie die Tankgeometrie — konische oder kugelförmige Formen können die Messwerte beeinflussen
- Wenn die Flüssigkeitsoberfläche Verunreinigungen oder Turbulenzen aufweist, verwenden Sie ein Führungsrohr mit einem Durchmesser größer als 120 mm

## Konfiguration

Die Modbus RTU-Kommunikation ist auf der RS-485-Schnittstelle immer aktiv — es sind keine Aktivierungsschritte erforderlich.

### Slave-ID und Baudrate

Die Standard-Slave-ID ist **1** und die Standard-Baudrate ist **9600** (8N1). Beide Werte können über TapHome-Serviceaktionen am Modul nach dem Import der Vorlage geändert werden:

- Serviceaktion **Slave-ID** — schreibt H:20 (Float), Bereich 1–254
- Serviceaktion **Baudrate** — schreibt H:22 (Float), konfigurierbar 600–115200

Die aktuelle Slave-ID und Baudrate sind als Serviceattribute auf Modulebene auslesbar.

> [!WARNING]
> Nach der Änderung der Slave-ID oder Baudrate über Serviceaktionen antwortet der Sensor sofort auf der neuen Adresse/Geschwindigkeit. Aktualisieren Sie die Verbindungseinstellungen des TapHome-Moduls entsprechend.

### Einrichtung der Montagehöhe

Zur Aktivierung der Füllstandsberechnung muss die Montagehöhe (Abstand von der Sensorfläche zum Tankboden) konfiguriert werden:

1. Öffnen Sie das Gerät **Füllstandshöhe** in TapHome
2. Gehen Sie zu den Serviceeinstellungen
3. Verwenden Sie die Serviceaktion **Montagehöhe**, um die Installationshöhe in Metern einzustellen (0–11 m)

Ohne konfigurierte Montagehöhe zeigt das Gerät **Füllstandshöhe** eine Warnung an und gibt 0 zurück. Das Gerät **Abstand zur Oberfläche** meldet den Roh-Anzeigewert aus H:0, bis die Montagehöhe eingestellt ist; danach gibt es die Montagehöhe minus den Anzeigewert zurück.

## Gerätefunktionen

### Füllstandsmessung

Die Vorlage stellt zwei ergänzende Messgeräte bereit:

- **Füllstandshöhe** (H:0 + H:10, Float) — berechneter Flüssigkeitsstand in Metern. Der Sensor liest den Anzeigewert aus H:0 und die Montagehöhe aus H:10 und gibt den berechneten Füllstand zurück. Wenn die Montagehöhe nicht eingestellt ist (H:10 = 0), wird eine Warnung generiert und der Wert gibt 0 zurück. Die Montagehöhe kann als Serviceattribut angezeigt und über eine Serviceaktion konfiguriert werden.

- **Abstand zur Oberfläche** (H:0 + H:10, Float) — Abstand vom Sensor zur Flüssigkeitsoberfläche in Metern. Wenn die Montagehöhe nicht eingestellt ist, wird der Roh-Anzeigewert zurückgegeben. Wenn die Montagehöhe eingestellt ist, wird die inverse Berechnung zurückgegeben (Montagehöhe minus Anzeigewert).

### Temperatursensor

- **Temperatursensor** (H:2, Float) — integrierter Temperatursensor in °C. Der Sensor verwendet diesen Wert intern zur Kompensation der Ultraschall-Schallgeschwindigkeit, er wird aber auch als lesbarer Temperaturwert bereitgestellt. Nützlich zur Überwachung der Umgebungstemperatur am Sensorstandort.

### Relaisausgänge

Die Vorlage stellt zwei virtuelle Relais mit Hysteresesteuerung bereit:

- **Relais 1** (H:0 vs H:28/H:30, Float) — aktiviert oder deaktiviert sich basierend auf der Überschreitung konfigurierbarer Ein- und Aus-Schwellenwerte durch den gemessenen Abstand
- **Relais 2** (H:0 vs H:32/H:34, Float) — gleiche Logik wie Relais 1 mit unabhängigen Schwellenwerten

**Hysterese-Logik:** Das Relaisverhalten hängt vom Verhältnis zwischen Ein- und Aus-Schwellenwert ab:

- Wenn **Ein-Schwellenwert < Aus-Schwellenwert** — das Relais aktiviert sich, wenn der Messwert unter den Ein-Schwellenwert fällt, und deaktiviert sich, wenn er über den Aus-Schwellenwert steigt. Verwenden Sie dies für Niedrigstand-Alarme (z. B. Pumpe aktivieren bei niedrigem Tankstand).
- Wenn **Ein-Schwellenwert > Aus-Schwellenwert** — das Relais aktiviert sich, wenn der Messwert über den Ein-Schwellenwert steigt, und deaktiviert sich, wenn er unter den Aus-Schwellenwert fällt. Verwenden Sie dies für Hochstand-Alarme (z. B. Ventil schließen, wenn der Tank fast voll ist).

Jedes Relais hat zwei Serviceattribute, die die aktuellen Ein- und Aus-Schwellenwerte in Metern anzeigen, und zwei Serviceaktionen zu deren Konfiguration (Bereich 0–10 m).

> [!TIP]
> Die Relaisschwellenwerte vergleichen immer mit dem Anzeigewert in H:0. Ohne Montagehöhe ist H:0 der Abstand zur Oberfläche; sobald die Montagehöhe eingestellt ist, enthält H:0 den berechneten Füllstand. Stellen Sie die Schwellenwerte entsprechend ein.

### Weitere Funktionen

Der CWT-ULS-Sensor stellt außerdem Register zur Überwachung der Versorgungsspannung, kumulative Betriebszeit, Auswahl des Modus Flüssigkeitsstand vs. Objektstand, Messmedientyp (Luft, Wasser, Benutzerdefiniert) für die Schallgeschwindigkeitsberechnung, Messperiode, Blindzonen-Konfiguration und Signalfilterstufen (Keine, Sehr schnell, Schnell, Normal, Stabil) bereit. Der 4–20 mA Analogausgangsbereich kann über Start-/Endpunkt-Register kalibriert werden. Diese Funktionen können in einem zukünftigen Vorlagen-Update hinzugefügt werden.

## Fehlerbehebung

### Keine Modbus-Kommunikation

1. **RS-485-Kabel prüfen** — überprüfen Sie, dass A+ (Gelb/Grün) mit A+/D+ an TapHome und B- (Blau) mit B-/D- an TapHome verbunden ist. Vertauschte Drähte sind die häufigste Ursache für Kommunikationsfehler
2. **Spannungsversorgung prüfen** — der Sensor benötigt 12–28 VDC an den Klemmen 05–06
3. **Slave-ID prüfen** — Standard ist 1. Wenn sie über das Sensordisplay oder einen früheren Modbus-Schreibvorgang geändert wurde, stellen Sie sicher, dass TapHome mit der passenden Adresse konfiguriert ist
4. **Baudrate bestätigen** — Standard ist 9600 Baud, 8 Datenbits, keine Parität, 1 Stoppbit. Überprüfen Sie, ob die TapHome-Bus-Einstellungen übereinstimmen
5. **Bus-Terminierung** — bei langen Kabelstrecken oder mehreren Geräten stellen Sie eine korrekte RS-485-Bus-Terminierung sicher (120 Ω Widerstand an jedem Bus-Ende)

### Füllstand zeigt 0 mit Warnung

Die Montagehöhe wurde nicht konfiguriert. Öffnen Sie das Gerät Füllstandshöhe → Serviceeinstellungen → stellen Sie die Montagehöhe über die Serviceaktion ein. Der Wert muss größer als 0 sein.

### Instabile oder schwankende Messwerte

1. **Hindernisse prüfen** — stellen Sie sicher, dass der Ultraschall-Messkegel frei von Hindernissen ist
2. **Turbulenzen reduzieren** — wenn die Flüssigkeitsoberfläche aufgewühlt ist, erwägen Sie die Verwendung eines Führungsrohrs (Durchmesser > 120 mm) oder die Anpassung des Filtermodus über Register H:70 (0=Keine bis 4=Stabil)
3. **Medientyp prüfen** — wenn durch ein anderes Medium als Luft gemessen wird, muss die Schallgeschwindigkeitseinstellung (Register H:54) möglicherweise angepasst werden
4. **Blindzone prüfen** — wenn das Ziel näher als 0,35–0,5 m von der Sensorfläche ist, sind die Messungen unzuverlässig

## Verfügbare Geräte 5

Diese Geräte erscheinen nach dem Import in TapHome.

ComWinTop CWT-ULS Modul

Serviceattribute

|          |
|----------|
| Slave-ID |
| Baudrate |

Serviceaktionen

|          |
|----------|
| Slave-ID |
| Baudrate |

Serviceattribute

Slave ID

```taphome
modbusr(H, 20, float)
```

Baud rate

```taphome
modbusr(H, 22, float)
```

Serviceaktionen

Slave ID

Parameter: ID (1–254 ID)

```taphome
modbusw(H, 20, float, ID)
```

Baud rate

Parameter: baud (1–500000 baud)

```taphome
modbusw(H, 22, float, baud)
```

Relais 1 Reed-Kontakt Nur lesen

Virtuelles Relais mit Hysterese — aktiviert sich bei Überschreitung des Ein-Schwellenwerts durch die gemessene Distanz, deaktiviert sich beim Aus-Schwellenwert

Register: H:0 Float numeric

Serviceattribute

|                 |
|-----------------|
| Relais EIN \[m] |
| Relais AUS \[m] |

Serviceaktionen

|            |
|------------|
| Relais EIN |
| Relais AUS |

Lesen

```taphome
if D < H
	if X < D
		return(1);
	elseif X > H
		return(0);
	else
		return(Rc);
	end
elseif D > H
	if X > D
		return(1);
	elseif X < H
		return(0);
	else
		return(Rc);
	end
else
	return(0);
end
```

Lesen (Modul)

```taphome
D := modbusr(H, 28, float);
H := modbusr(H, 30, float);
X := modbusr(H, 0, float);
```

Serviceattribute

Relé ON \[m]

```taphome
D
```

Relé OFF \[m]

```taphome
H
```

Serviceaktionen

Relé ON

Parameter: Vzdialenost (0–10 m)

```taphome
modbusw(H, 28, float, m)
```

Relé OFF

Parameter: Vzdialenost (0–10 m)

```taphome
modbusw(H, 30, float, m)
```

Relais 2 Reed-Kontakt Nur lesen

Virtuelles Relais mit Hysterese — aktiviert sich bei Überschreitung des Ein-Schwellenwerts durch die gemessene Distanz, deaktiviert sich beim Aus-Schwellenwert

Register: H:0 Float numeric

Serviceattribute

|                 |
|-----------------|
| Relais EIN \[m] |
| Relais AUS \[m] |

Serviceaktionen

|            |
|------------|
| Relais EIN |
| Relais AUS |

Lesen

```taphome
if D < H
	if X < D
		return(1);
	elseif X > H
		return(0);
	else
		return(Rc);
	end
elseif D > H
	if X > D
		return(1);
	elseif X < H
		return(0);
	else
		return(Rc);
	end
else
	return(0);
end
```

Lesen (Modul)

```taphome
D := modbusr(H, 32, float);
H := modbusr(H, 34, float);
X := modbusr(H, 0, float);
```

Serviceattribute

Relé ON \[m]

```taphome
D
```

Relé OFF \[m]

```taphome
H
```

Serviceaktionen

Relé ON

Parameter: Vzdialenost (0–10 m)

```taphome
modbusw(H, 32, float, m)
```

Relé OFF

Parameter: Vzdialenost (0–10 m)

```taphome
modbusw(H, 34, float, m)
```

Temperatursensor Temperatursensor Nur lesen

Register: H:2 Float Einheit: °C numeric

Temperatur lesen

```taphome
MODBUSR(H, 2, float)
```

Füllstandshöhe Variable Nur lesen

Berechneter Füllstand — erfordert die Konfiguration der Montagehöhe über eine Serviceaktion

Register: H:0 Float Einheit: m numeric

Serviceattribute

|                  |
|------------------|
| Montagehöhe \[m] |

Serviceaktionen

|             |
|-------------|
| Montagehöhe |

Lesen

```taphome
var mnt := MODBUSR(H, 10, float);
var val := MODBUSR(H, 0, float);
if mnt = 0
	addwarning("Montážna výška nie je nastavená");
	return(0);
else
	return(val);
end
```

Serviceattribute

Montážna výška \[m]

```taphome
MODBUSR(H, 10, float)
```

Serviceaktionen

Montážna výška

Parameter: Výška (0–11 m)

```taphome
modbusw(H, 10, float, m)
```

Abstand zur Oberfläche Variable Nur lesen

Abstand vom Sensor zur Flüssigkeitsoberfläche — Rohmessung wenn die Montagehöhe nicht eingestellt ist, inverse Berechnung andernfalls

Register: H:0 Float Einheit: m numeric

Lesen

```taphome
var mnt := MODBUSR(H, 10, float);
var val := MODBUSR(H, 0, float);
if mnt = 0
	return(val);
else
	return(mnt - val);
end
```

**Verbindung:** Modbus RTU • 9600 baud• 8N1 • Slave ID: $\[SlaveId]

Mögliche Verbesserungen (13)

- H:4 Supply Voltage — Read-only supply voltage — useful for remote power monitoring and diagnostics
- H:6 Operating Time — Read-only cumulative operating time — useful for maintenance scheduling
- H:8 Liquid Level / Object Level Mode — 1=Liquid level, 0=Object level — determines measurement interpretation
- H:14 Open/Closed State — 1=Open, 0=Closed — relay output mode configuration
- H:16 Output Starting Point — 4–20mA analog output starting point calibration
- H:18 Output End Point — 4–20mA analog output end point calibration
- H:44 Units — Display unit selection — 0 for mm
- H:54 Media Type — 0=Air, 1=Water, Custom — affects sound velocity calculation
- H:56 Custom Sound Velocity — Custom sound velocity value — used when Media Type is set to Custom
- H:60 Measurement Period — Measurement cycle period in milliseconds
- H:62 Blind Area — Minimum measurable distance from sensor face (0.35–0.5m typical)
- H:70 Filtering — Signal filtering level: 0=None, 1=Rapid, 2=Fast, 3=Normal, 4=Stable
- H:76 Range — Maximum measurement range in meters

## Importparameter

Diese Werte geben Sie beim Import des XML ein.

| In der App abgefragt | Standard      |
|----------------------|---------------|
| Slave Id             | `1`           |
| IP address           | `192.168.1.0` |

## Quellen

- CWT-ULS Ultrasonic Level Meter Protocol
  
  2026-03-27
  
  [PDF](https://taphome.com/compatibility/devices/comwintop-ultrasonic-level-sensor/manufacturer/protocol-manual.pdf)
- ComWinTop Store — CWT-ULS Product Page
  
  [store.comwintop.com](https://store.comwintop.com/products/non-contact-ultrasonic-transmitter-ultrasonic-level-sensor-liquid-fuel-integrated-smart-level-measurement-indicator-4-20ma-rs485) 2026-03-27
- TapHome Hardware — Ultrasonic Level Sensor
  
  [hardware.taphome.com](https://hardware.taphome.com/en/ultrasonic-liquid-level-sensor/) 2026-03-27

Herstellerdokumente sind © ihrer jeweiligen Eigentümer. Sie werden so bereitgestellt, wie der Hersteller sie veröffentlicht hat, nur zur Information.

## Verwandte Dokumentation

- [Modbus Integration](https://taphome.com/de/compatibility/modbus-guide/)
- [Modbus](https://taphome.com/de/docs/integration/modbus/)
- [Einfache Konfiguration mit Vorlagen](https://taphome.com/de/docs/integration/modbus/templates/)
- [Modbus-Skripte und Prefetch](https://taphome.com/de/docs/script/modbus-scripts/)
- [Modbus-Funktionen](https://taphome.com/de/docs/script/modbus/)
- [Modbus-Datentypen](https://taphome.com/de/docs/script/modbus-data-types/)

