---
title: "Czujnik poziomu cieczy"
description: "Monitorowanie poziomu wody przez Modbus RTU po RS-485. Konfigurowalne jednostki (m, cm) i precyzja dziesiętna. Szablon TapHome dla czujników poziomu."
url: "https://taphome.com/pl/compatibility/liquid-level-sensor/"
language: pl
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["modbus-rtu","sensor","rs485","liquid-level","hydrostatic","water-tank"]
  questions: ["Jak zintegrować czujnik poziomu cieczy Modbus RTU z TapHome?","Jakie jednostki obsługuje szablon TapHome dla czujnika poziomu?","Jak podłączyć zanurzeniowy czujnik poziomu przez RS-485 do TapHome?","Dlaczego czujnik poziomu pokazuje NaN w TapHome?","Jak zmienić adres slave na czujniku poziomu Modbus?","Jak skonfigurować miejsca dziesiętne na czujniku poziomu Modbus?"]
---

# Czujnik poziomu cieczy

Komunikacja: Modbus RTU

## Poradnik integracji

Generyczny zanurzeniowy hydrostatyczny czujnik poziomu cieczy z Modbus RTU do monitorowania poziomu wody w zbiornikach, studniach lub zbiornikach retencyjnych. Czujnik komunikuje się przez RS-485 half-duplex i udostępnia zmierzony poziom przez holding rejestr H:4. Szablon TapHome odczytuje wartość pomiarową z automatyczną konwersją przecinka dziesiętnego, obsługując metry (m) i centymetry (cm) jako jednostki wyświetlania.

Ten szablon jest przeznaczony dla generycznych chińskich przetworników ciśnienia/poziomu, które używają tej samej mapy rejestrów Modbus. Czujnik jest zwykle zasilany napięciem 12–36 V DC i wykorzystuje 2-przewodowe połączenie RS-485 z konwerterem Modbus-LAN (RS-485 na Ethernet).

## Podłączenie sprzętowe

Czujnik wykorzystuje interfejs RS-485 half-duplex do komunikacji Modbus RTU. Podłącz czujnik do konwertera Modbus-LAN:

- **A+** (RS-485 Data+) na czujniku do **A+** na konwerterze Modbus-LAN
- **B-** (RS-485 Data-) na czujniku do **B-** na konwerterze Modbus-LAN
- **GND** do wspólnej masy referencyjnej

Czujnik wymaga również oddzielnego zasilania DC (zwykle 12–36 V DC, w zależności od modelu). Przewody zasilające są oddzielone od przewodów danych RS-485.

> [!WARNING]
> Zapewnij wspólną masę referencyjną między czujnikiem a konwerterem Modbus-LAN. Bez prawidłowego uziemienia komunikacja Modbus może być zawodna lub całkowicie nie działać.

## Konfiguracja

### Domyślne parametry komunikacji

Czujnik dostarczany jest z następującymi domyślnymi ustawieniami portu szeregowego:

| Parametr | Wartość domyślna |
|----------|------------------|
| Prędkość transmisji | 9600 bps |
| Bity danych | 8 |
| Parzystość | Brak |
| Bity stopu | 1 |
| Adres slave | 1 |

Prędkość transmisji można zmienić przez rejestr H:1 (obsługiwane wartości: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200). Po zmianie prędkości transmisji wpisz 0 do rejestru H:15, aby zapisać ustawienie w obszarze użytkownika.

### Wybór jednostki

Jednostka pomiarowa konfigurowana jest przez rejestr H:2. Szablon TapHome obsługuje tylko dwie jednostki:

| Wartość H:2 | Jednostka | Zachowanie |
|-------------|-----------|------------|
| 16 | **m** (metry) | Zwraca wartość surową bezpośrednio (z konwersją przecinka dziesiętnego) |
| 17 | **cm** (centymetry) | Zwraca wartość podzieloną przez 100 |
| Pozostałe | MPa, KPa, bar, itp. | **Zwraca NaN** — nie obsługiwane przez szablon |

> [!WARNING]
> Jeśli czujnik jest ustawiony na jednostkę inną niż m (16) lub cm (17), szablon TapHome wyświetli NaN. Sprawdź ustawienie jednostki przed zaimportowaniem szablonu.

### Precyzja miejsc dziesiętnych

Rejestr H:3 określa, ile miejsc dziesiętnych wykorzystuje surowa wartość pomiarowa:

| Wartość H:3 | Format | Dzielnik |
|-------------|--------|----------|
| 0 | #### | 1 |
| 1 | ###.# | 10 |
| 2 | ##.## | 100 |
| 3 | #.### | 1000 |
| 4 | .#### | 10000 |

Szablon TapHome automatycznie dzieli surową wartość H:4 przez 10^(H:3), aby uzyskać prawidłowy odczyt. Na przykład, jeśli H:3 = 1 (jedno miejsce dziesiętne) i H:4 = 2500, wyświetlana wartość to 250,0.

### Parametry importu

Podczas importu szablonu w TapHome wymagane są dwa parametry:

| Parametr | Opis | Przykład |
|----------|------|---------|
| **Slave Id** | Adres Modbus slave czujnika (prawidłowy zakres Modbus 1–247) | `1` |
| **IP address** | Adres IP konwertera Modbus-LAN | `192.168.1.100` |

## Możliwości urządzenia

### Pomiar poziomu wody

Szablon udostępnia jedno urządzenie typu czujnik (tylko do odczytu) — **Water Level** — które odczytuje holding rejestr H:4 (Int16). Skrypt ReadState stosuje dynamiczną konwersję:

1. Odczytuje surową wartość całkowitą z H:4
2. Dzieli przez 10^(H:3), aby zastosować ustawienie miejsc dziesiętnych
3. Sprawdza H:2 (jednostka): jeśli jednostka = 16 (m), zwraca wartość bezpośrednio; jeśli jednostka = 17 (cm), dzieli przez 100; w przeciwnym razie zwraca NaN

Czujnik jest odpytywany co 15 sekund.

### Diagnostyka serwisowa

Moduł udostępnia cztery atrybuty serwisowe do monitorowania konfiguracji czujnika:

- **Slave Address** — aktualny adres Modbus slave (H:0)
- **Baud Rate** — aktualna prędkość komunikacji, wyświetlana jako rzeczywista wartość prędkości transmisji (np. 9600, nie enum rejestru)
- **Unit** — aktualnie ustawiona jednostka pomiarowa (np. „m", „cm", „MPa")
- **Decimal Points** — aktualny format miejsc dziesiętnych (np. „###.#")

Akcja serwisowa **Rewrite Slave Address** umożliwia zmianę adresu Modbus czujnika (prawidłowy zakres Modbus 1–247) bezpośrednio z TapHome bez zewnętrznych narzędzi. Akcja zapisuje nowy adres i automatycznie go zachowuje w obszarze użytkownika czujnika.

### Dodatkowe możliwości

Czujnik udostępnia również rejestry dla punktu zerowego zakresu (H:5) i pełnej skali (H:6) jako referencje kalibracyjne, rejestr przesunięcia bitu zerowego (H:12) do precyzyjnej regulacji wyjścia pomiarowego, 4-bajtowe wyjście pomiarowe IEEE 754 zmiennoprzecinkowe (H:22-23) oraz konfigurację parzystości portu szeregowego (H:37). Polecenie przywracania ustawień fabrycznych (H:16) może przywrócić wszystkie parametry do wartości fabrycznych. Mogą zostać dodane w przyszłej aktualizacji szablonu.

> [!TIP]
> Jeśli potrzebna jest wyższa precyzja, pomiar zmiennoprzecinkowy na rejestrach H:22-23 dostarcza ten sam odczyt w formacie IEEE 754 (big-endian, kolejność bajtów ABCD) bez zaokrąglania całkowitego H:4.

## Rozwiązywanie problemów

### Czujnik zwraca NaN

1. Sprawdź rejestr H:2 (Unit) — szablon obsługuje tylko jednostkę 16 (m) i 17 (cm). Wszystkie inne jednostki zwrócą NaN
2. Użyj atrybutu serwisowego **Unit** w TapHome, aby zweryfikować aktualne ustawienie
3. Jeśli jednostka jest nieprawidłowa, użyj narzędzia Modbus do wpisania prawidłowej wartości do H:2, następnie wpisz 0 do H:15, aby zapisać

### Brak komunikacji

1. Sprawdź okablowanie RS-485: A+ do A+, B- do B- i wspólna masa
2. Upewnij się, że prędkość transmisji jest zgodna między czujnikiem a TapHome (domyślna: 9600, N, 8, 1)
3. Potwierdź, że prawidłowy Slave ID został podany podczas importu szablonu
4. Sprawdź, czy adres IP wskazuje na właściwy konwerter Modbus-LAN
5. Jeśli przewody są zamienione (A+/B-), zamień je — niektóre czujniki inaczej oznaczają piny

### Nieprawidłowe odczyty

1. Sprawdź, czy ustawienie miejsc dziesiętnych (H:3) odpowiada konfiguracji fabrycznej czujnika
2. Sprawdź ustawienie jednostki (H:2) — tryb cm (17) dzieli przez dodatkowy współczynnik 100
3. W przypadku czujników zanurzeniowych upewnij się, że sonda jest całkowicie zanurzona, a kabel nie jest zagięty

## Dostępne urządzenia 1

Te urządzenia pojawią się w TapHome po imporcie.

Czujnik poziomu cieczy Moduł

Atrybuty serwisowe

|                     |
|---------------------|
| Adres slave         |
| Prędkość transmisji |
| Jednostka           |
| Miejsca dziesiętne  |

Akcje serwisowe

|                      |
|----------------------|
| Przepisz adres slave |

Atrybuty serwisowe

Slave Address

```taphome
modbusr(H, 0, int16);
```

Baud Rate

```taphome
SWITCH(modbusr(H, 1, int16),
	0, 1200,
	1, 2400,
	2, 4800,
	3, 9600,
	4, 19200,
	5, 38400,
	6, 57600,
	7, 115200,
      NaN
);
```

Unit

```taphome
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

```taphome
SWITCH(modbusr(H, 3, int16),
	0, "####",
	1, "###.#",
	2, "##.##",
	3, "#.###",	
	4, "#.###",
	NaN
);
```

Akcje serwisowe

Rewrite the Slave Address

Parametry: Slave Address (1–255 SlaveAddr)

```taphome
modbusw(SH, 0, int16, SlaveAddr);
modbusw(SH, 15, int16, 0);  # Save to user area
```

Poziom wody Zmienna Tylko do odczytu

Pomiar poziomu cieczy w metrach lub centymetrach — odczytuje wyjście hydrostatycznego czujnika ciśnienia z konfigurowalną precyzją dziesiętną

Rejestr: H:4 Int16 Jednostka: dynamic numeric

Odczyt

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

switch(modbusr(H, 2, int16),
	16, val,
	17, val / 100, 
	NaN
);
```

**Połączenie:** Modbus RTU • 9600 baud• 8N1 • Slave ID: $\[SlaveId]

Możliwe ulepszenia (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

## Parametry importu

Te wartości podajesz podczas importu pliku XML.

| Pytanie w aplikacji | Domyślnie     |
|---------------------|---------------|
| Slave Id            | `1`           |
| IP address          | `192.168.1.0` |

## Źródła

- Modbus RTU communication protocol documentation for pressure and level transmitter

## Powiązana dokumentacja

- [Modbus Integration](https://taphome.com/pl/compatibility/modbus-guide/)
- [Modbus](https://taphome.com/pl/docs/integration/modbus/)
- [Prosta konfiguracja za pomocą szablonów](https://taphome.com/pl/docs/integration/modbus/templates/)
- [Skrypty Modbus i prefetch](https://taphome.com/pl/docs/script/modbus-scripts/)
- [Funkcje Modbus](https://taphome.com/pl/docs/script/modbus/)
- [Typy danych Modbus](https://taphome.com/pl/docs/script/modbus-data-types/)

