---
title: "SolaX X1/X3-Hybrid G4 — corrected monitoring (Modbus RTU)"
description: "SolaX X1/X3-Hybrid G4 przez Modbus RTU (RS-485): SOC baterii, moc PV, oddawanie do sieci, energia, kody błędów. Poprawiona wersja oficjalnego szablonu."
url: "https://taphome.com/pl/compatibility/solax-x3-hybrid-gen4-corrected-modbus-rtu/"
language: pl
lastmod: 2026-11-12
generator: hugo
ai:
  topics: ["modbus-rtu","rs485","inverter","solar","battery-storage","3-phase","energy-monitoring"]
  questions: ["Jak zintegrować falownik SolaX X1/X3-Hybrid G4 z TapHome przez Modbus RTU?","Co poprawia szablon społeczności SolaX Gen 4 w porównaniu z oficjalnym szablonem?","Jak podłączyć port COM falownika SolaX Gen 4 przez RS-485 do TapHome?","Jakiej prędkości baud rate używa falownik SolaX Gen 4 dla Modbus RTU?","Dlaczego z oficjalnym szablonem SolaX Total Energy jest 100 razy za mała albo Battery Temperature pokazuje 65535 °C?","Jak zaimportować szablon społeczności z portal.taphome.com do jednostki sterującej Core?","Czy TapHome może zmienić tryb ładowania lub ustawienia ładowania nocnego falownika SolaX?"]
---

# SolaX X1/X3-Hybrid G4 — corrected monitoring (Modbus RTU)

Komunikacja: Modbus RTU

## Poradnik integracji

SolaX X1-HYBRID i X3-HYBRID Gen 4 to falowniki hybrydowe do magazynowania energii z PV i baterią, dostępne w wersjach jednofazowych (3–7,5 kW) i trójfazowych (5–15 kW). Ten szablon społeczności to oficjalny szablon TapHome dla SolaX Gen 4 z odczytami poprawionymi według protokołu SolaX Modbus (V3.21 i V001.02). Komunikuje się przez Modbus RTU po RS-485 i odczytuje stan naładowania oraz temperaturę baterii, moc łańcuchów PV, przepływ mocy sieciowej, sumy energii, tryb ładowania i SOC ładowania nocnego. Nazwy urządzeń są takie same jak w oficjalnym szablonie, więc starszy import można porównać urządzenie po urządzeniu. Wszystkie skrypty zapisu pozostają zakomentowane, tak jak w oficjalnym szablonie, dlatego szablon działa tylko do odczytu.

Moduł analizuje również 32-bitowy kod błędu falownika i 16-bitowy kod błędu menedżera i zgłasza każdą usterkę w TapHome z własnym kodem błędu.

## Jak zdobyć szablon

Szablony społeczności nie są oferowane na liście szablonów w aplikacji TapHome. Zaloguj się na portal.taphome.com, pobierz XML tego szablonu i zaimportuj go do jednostki sterującej Core. Moduł zaimportowany wcześniej z oficjalnego szablonu [SolaX Hybrid X1/X3 Gen 4](https://taphome.com/pl/compatibility/solax-hybrid-x3-gen-4/) nie aktualizuje się sam — zaimportuj ten szablon jako nowy moduł albo popraw skrypty starego modułu tak, jak pokazuje tabela w sekcji „Co poprawia ten szablon” poniżej.

## Podłączenie sprzętu

Falownik SolaX Gen 4 ma na dolnym panelu port COM RS-485 do komunikacji Modbus RTU. Port COM wykorzystuje złącze RJ45.

![Dolny panel SolaX X3-HYBRID G4 — układ terminali z połączeniami COM, BMS, Meter/CT, PV, BAT i GRID](https://taphome.com/images/compatibility/solax-x3-hybrid-gen4-corrected-modbus-rtu/system-overview_hu_369f8976dd0be2fb.jpg)

Przypisanie pinów terminala COM (RJ45):

| Pin | Przypisanie | Opis |
|-----|-----------|------|
| 1 | Drycontact_A(in) | Podłączenie wyłącznika systemowego |
| 2 | Drycontact_B(in) | Podłączenie wyłącznika systemowego |
| 3 | +13V | — |
| 4 | **485A** | RS-485 data+ (dla TapHome) |
| 5 | **485B** | RS-485 data− (dla TapHome) |
| 6 | GND | Masa |
| 7 | Drycontact_A(out) | Podłączenie generatora |
| 8 | Drycontact_B(out) | Podłączenie generatora |

Podłącz TapHome do portu COM falownika:

- **Pin 4 (485A)** na porcie COM falownika do **A+/D+** na RS-485 TapHome
- **Pin 5 (485B)** na porcie COM falownika do **B-/D-** na RS-485 TapHome
- **Pin 6 (GND)** — podłączenie zalecane dla niezawodnej komunikacji

Instrukcja SolaX wymaga kabla sieciowego CAT5E zaciśniętego we wtyk RJ45 dostarczony z falownikiem oraz długości kabla COM nie większej niż 30 m.

> [!WARNING]
> Pinów 3 (+13V) i 6 (GND) nie wolno łączyć ze sobą. Zaizoluj nieużywane piny.

> [!WARNING]
> Sam falownik nie obsługuje natywnie Modbus TCP. Modbus TCP jest dostępny wyłącznie przez moduł monitorowania SolaX (dongle Wi-Fi) i nie jest używany przez ten szablon.

> [!TIP]
> W instalacjach, w których okablowanie RS-485 nie jest praktyczne, szablon [SolaX Inverter (Cloud API)](https://taphome.com/pl/compatibility/solax-inverter/) zapewnia monitoring przez platformę SolaxCloud za pośrednictwem HTTPS — bez fizycznego połączenia. Obsługuje wszystkie typy falowników SolaX, nie tylko Gen 4 Hybrid.

> [!WARNING]
> Tryb ładowania i ustawienia ładowania nocnego to rejestry EEPROM w falowniku (oznaczone przez SolaX symbolem ★, około 1 miliona cykli zapisu). Nadmierne operacje zapisu mogą spowodować nieodwracalne uszkodzenie sprzętu — nigdy nie włączaj na nich zapisu, który działa cyklicznie. Ten szablon ma wszystkie skrypty zapisu wyłączone.

## Konfiguracja

### Włączanie komunikacji Modbus

Modbus RTU jest domyślnie dostępny na porcie COM RS-485 falownika. Następujące parametry muszą być zgodne między falownikiem a modułem TapHome:

1. **Slave ID** – domyślnie 1, konfigurowalny na wyświetlaczu falownika. Szablon pyta o niego jako o jedyny parametr importu, **Modbus Slave ID** (domyślnie 1)
2. **Baud rate** – **19200 baud**, ustawienie fabryczne SolaX; szablon również używa 19200. Jeśli falownik ustawiono na inną prędkość (na przykład 9600), zmień ustawienie falownika albo prędkość interfejsu TapHome, aby obie były zgodne
3. **Format danych** – 8 bitów danych, brak parzystości, 1 bit stopu

Konfiguracja na wyświetlaczu falownika: **Menu > Setting > Advance Setting > Modbus**. Ustaw adres slave i baud rate. Ustawienia zaawansowane wymagają hasła instalatora, które udostępnia sprzedawca. Baud rate można też odczytać z rejestru holding H:0x00B0 i zapisać przez rejestr 0x00CA (wartości: 0=115200, 1=57600, 2=56000, 3=38400, 4=19200, 5=14400, 6=9600).

W TapHome szablon importuje się następnie na interfejsie RS-485 Modbus RTU jednostki sterującej Core, ustawionym na tę samą prędkość i format danych, z Slave ID falownika.

### Taktowanie komunikacji

Protokół wymaga minimalnego odstępu **1 sekundy** między kolejnymi instrukcjami Modbus oraz limitu czasu przerwy między znakami wynoszącego co najmniej 100 ms. Limit czasu odpowiedzi wynosi 1 sekundę. Szablon używa indywidualnych interwałów odpytywania dla każdego urządzenia (od 2,5 s do 150 s), które spełniają te wymagania.

### Funkcja portu COM RS-485

Rejestr H:0x013E (485CommFunSelect) określa, czy port RS-485 służy do komunikacji Modbus (wartość 0), czy do komunikacji z ładowarką EV (wartość 1). Upewnij się, że do integracji z TapHome jest ustawiony na **0 (Modbus 485)**.

## Możliwości urządzenia

### Monitorowanie baterii

- **Bateria (SOC)** – odczytuje stan naładowania baterii (A:0x001C) jako procent, co 15 sekund. Surowa wartość rejestru w jednostkach 1% jest dzielona przez 100 dla zakresu wejścia analogowego TapHome 0–1 (np. 85% staje się 0,85)
- **Battery Temperature** – odczytuje temperaturę baterii (A:0x0018) w stopniach Celsjusza jako wartość ze znakiem (Int16), więc temperatury poniżej 0 °C są wyświetlane poprawnie. Odpytywanie co 80 sekund

### Moc solarna PV

- **PV1** – moc wyjściowa DC łańcucha PV 1 (A:0x000A), wyświetlana w kW po przeliczeniu z watów (/1000)
- **PV2** – moc wyjściowa DC łańcucha PV 2 (A:0x000B), wyświetlana w kW po przeliczeniu z watów (/1000)

PV1 i PV2 to zwykłe wartości bez typu energii, więc w Energy Dashboard nie są liczone podwójnie.

### Moc sieciowa i pomiar energii

- **Purchase/Feed to Grid** – chwilowa moc sieciowa (A:0x0046–0x0047, LittleEndianInt32) w kW, zwykła wartość bez typu energii. Wartości dodatnie oznaczają oddawanie energii do sieci, wartości ujemne pobór z sieci. Falownik pobiera tę wartość z podłączonego do niego licznika lub przekładnika prądowego (CT)
- **Daily/Actual Energy** – licznik produkcji PV dla Energy Dashboard. Jego moc to PV1 + PV2 (A:0x000A + A:0x000B) w kW, a jego suma to całkowita energia PV (A:0x0094–0x0095, SolarEnergyTotal, jednostki 0,1 kWh) w kWh. Wbrew nazwie suma nie zeruje się w nocy
- **Total Energy** – całkowita skumulowana energia oddana przez port AC falownika od początku pracy (A:0x0052–0x0053, LittleEndianUint32, jednostki 0,1 kWh), wyświetlana w kWh

### Tryb ładowania i ładowanie nocne

- **Charger Use Mode** – odczytuje aktywny tryb ładowania solarnego (H:0x008B): Self Use Mode (0), Feedin Priority (1), Backup Mode (2) lub Manual Mode (3). Rejestr zapisu (H:0x001F) istnieje w szablonie, ale jest zakomentowany, dlatego wartość jest tylko do odczytu
- **SelfUse Night Charge** – odczytuje górny docelowy SOC ładowania nocnego w trybie Self Use (H:0x0094) jako procent. Rejestr zapisu (H:0x0063) i rejestr włączania (H:0x0062) są oba zakomentowane, więc konfiguracji ładowania nocnego nie można zmienić przez TapHome

### Wykrywanie usterek

Skrypt odczytu modułu monitoruje tryb pracy falownika (A:0x0009) i dwa rejestry błędów. Każda usterka ma własny kod błędu:

- Usterki **Run mode** – błąd 1, gdy tryb pracy wynosi 3 (Fault), błąd 2, gdy wynosi 4 (Permanent Fault)
- **Kod błędu falownika** (A:0x0040–0x0041, LittleEndianUint32) – 30 pojedynczych usterek z kodami 100–131 (100 + numer bitu), w tym usterki napięcia i częstotliwości sieci, usterki napięcia PV, usterki baterii, usterki izolacji, przegrzanie, zabezpieczenie nadprądowe, usterki przekaźnika i błędy komunikacji. Nazwy usterek odpowiadają tabeli X3 protokołu SolaX
- **Kod błędu menedżera** (A:0x0043) – kody 200–211 (200 + numer bitu) dla usterek typu mocy, błędów EEPROM, problemów z czujnikami NTC, za niskiej/za wysokiej temperatury baterii, usterek licznika, przekaźnika bypass i wentylatora. **Port OC Warning** (201) jest zgłaszany jako ostrzeżenie, pozostałe jako błędy

Atrybut serwisowy Run mode w module wyświetla bieżący stan falownika jako tekst: Waiting, Checking, Normal, Fault, Permanent fault, Update, Off-grid waiting, Off-grid, Self testing, Idle lub Standby.

## Co poprawia ten szablon

Oficjalny szablon TapHome [SolaX Hybrid X1/X3 Gen 4](https://taphome.com/pl/compatibility/solax-hybrid-x3-gen-4/) błędnie odczytuje kilka rejestrów (sprawdzone na podstawie protokołu SolaX Modbus V3.21 i V001.02). Ten szablon je poprawia:

| Gdzie | Oficjalny szablon | Ten szablon | Skutek błędu w oficjalnym szablonie |
|-------|-------------------|-------------|-------------------------------------|
| Moduł — skrypt odczytu | `var x3 := MODBUSR(A, 0x0040, Uint32);` | `VAR inv := MODBUSR(A, 0x0040, LittleEndianUint32);` | Dwie połowy 32-bitowego kodu błędu są zamienione: usterka w bicie 1 (Grid Lost Fault) jest zgłaszana jako bit 17 (Bat Power Low) |
| Total Energy | `MODBUSR(A, 0x52, LittleEndianInt32) / 1000` | `MODBUSR(A, 0x0052, LittleEndianUint32) / 10` | Wartość 100× za mała (rejestr liczy w jednostkach 0,1 kWh) |
| Daily/Actual Energy — suma | `MODBUSR(A, 0x50, UInt16) /10` | `MODBUSR(A, 0x0094, LittleEndianUint32) / 10` | 0x0050 to dzienny licznik portu AC falownika, który każdej nocy spada do 0; 0x0094 to całkowita energia PV |
| Daily/Actual Energy — moc | `MODBUSR(A,0x02, Int16)/1000` | `(MODBUSR(A, 0x000A, UInt16) + MODBUSR(A, 0x000B, UInt16)) / 1000` | 0x0002 to moc sieciowa jednofazowych modeli X1, a nie produkcja PV; w wielu urządzeniach X3 odczytuje 0 |
| Battery Temperature | `MODBUSR(A,0x0018, UInt16)` | `MODBUSR(A, 0x0018, Int16)` | Poniżej 0 °C oficjalny szablon pokazuje około 65535 °C |
| Prędkość interfejsu | 9600 baud | 19200 baud | 19200 to ustawienie fabryczne SolaX |

Z poprawionymi skryptami licznik Daily/Actual Energy mierzy produkcję PV (PV1 + PV2), czyli to, czego oczekuje jego typ energii w Energy Dashboard. PV1, PV2 i Purchase/Feed to Grid nie mają już typu energii — są zwykłymi wartościami. Wszystkie zapisy pozostają wyłączone, tak jak w oficjalnym szablonie.

## Rozwiązywanie problemów

### Brak komunikacji z falownikiem

1. Sprawdź połączenia kabla RS-485: A+ do A+, B- do B-, GND do GND
2. Sprawdź, czy rejestr H:0x013E jest ustawiony na 0 (tryb Modbus 485, nie EV Charger)
3. Potwierdź, że baud rate jest zgodny między falownikiem a TapHome – szablon używa 19200, wartości domyślnej falownika; falownik ustawiony na 9600 wymaga zmiany po jednej ze stron
4. Sprawdź, czy Modbus Slave ID w TapHome odpowiada ustawieniu falownika (domyślnie: 1)
5. Upewnij się, że do tej samej magistrali RS-485 nie jest podłączony żaden inny master Modbus – Modbus obsługuje tylko jednego mastera

### Wartości wyglądają jak w oficjalnym szablonie

Gdy Total Energy jest 100× za mała, Daily/Actual Energy spada do 0 każdej nocy albo Battery Temperature pokazuje około 65535 °C poniżej zera, moduł nadal wykonuje skrypty oficjalnego szablonu. Moduł nie aktualizuje się sam z nowszego szablonu — zaimportuj ten szablon jako nowy moduł albo popraw skrypty tak, jak pokazuje tabela powyżej.

### Nieprawidłowy odczyt Bateria (SOC)

Rejestr Bateria (SOC) (A:0x001C) raportuje wartości w jednostkach 1%. Szablon dzieli przez 100 dla zakresu wejścia analogowego TapHome 0–1. Jeśli wyświetlana wartość wydaje się błędna, sprawdź, czy urządzenie TapHome jest skonfigurowane jako wejście analogowe (zakres 0–1, nie 0–100).

### Konwencja znaku mocy sieciowej

Purchase/Feed to Grid (A:0x0046) używa konwencji znaku, w której wartości dodatnie oznaczają oddawanie energii (eksport do sieci), a wartości ujemne pobór (zużycie z sieci). Falownik otrzymuje tę wartość ze swojego licznika lub przekładnika prądowego (CT), dlatego zależy ona od prawidłowo podłączonego licznika lub przekładnika.

### Różnice między X1 a X3

Szablon odczytuje moc PV (A:0x000A i A:0x000B) zamiast rejestru mocy sieciowej X1, więc licznik Daily/Actual Energy działa tak samo w modelach X1 i X3. Nazwy usterek odpowiadają tabeli X3 protokołu SolaX. W falowniku X1 niektóre bity usterek oznaczają inne usterki — bit 9 i większość bitów od bitu 15 w górę (na przykład bit 15 to w X1 Missed CT Fault, a w X3 Off-grid Overload).

## Dostępne urządzenia 9

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

SolaX X3-Hybrid G4 Moduł

Atrybuty serwisowe

|          |
|----------|
| Run mode |

Odczyt (moduł)

```taphome
VAR mode := MODBUSR(A, 0x0009, UInt16);
IF(mode = 3, ADDERROR(1, "Inverter fault (run mode 3)"));
IF(mode = 4, ADDERROR(2, "Inverter permanent fault (run mode 4)"));
VAR inv := MODBUSR(A, 0x0040, LittleEndianUint32);
IF(GETBIT(inv, 0) = 1, ADDERROR(100, "TZ Protect Fault"));
IF(GETBIT(inv, 1) = 1, ADDERROR(101, "Grid Lost Fault"));
IF(GETBIT(inv, 2) = 1, ADDERROR(102, "Grid Volt Fault"));
IF(GETBIT(inv, 3) = 1, ADDERROR(103, "Grid Freq Fault"));
IF(GETBIT(inv, 4) = 1, ADDERROR(104, "PV Volt Fault"));
IF(GETBIT(inv, 5) = 1, ADDERROR(105, "Bus Volt Fault"));
IF(GETBIT(inv, 6) = 1, ADDERROR(106, "Bat Volt Fault"));
IF(GETBIT(inv, 7) = 1, ADDERROR(107, "AC10mins Volt Fault"));
IF(GETBIT(inv, 8) = 1, ADDERROR(108, "DCI OCP Fault"));
IF(GETBIT(inv, 9) = 1, ADDERROR(109, "DCV OCP Fault"));
IF(GETBIT(inv, 10) = 1, ADDERROR(110, "SW OCP Fault"));
IF(GETBIT(inv, 11) = 1, ADDERROR(111, "RC OCP Fault"));
IF(GETBIT(inv, 12) = 1, ADDERROR(112, "Isolation Fault"));
IF(GETBIT(inv, 13) = 1, ADDERROR(113, "Temp Over Fault"));
IF(GETBIT(inv, 14) = 1, ADDERROR(114, "BatConnDir Fault"));
IF(GETBIT(inv, 15) = 1, ADDERROR(115, "Off-grid Overload"));
IF(GETBIT(inv, 16) = 1, ADDERROR(116, "Overload"));
IF(GETBIT(inv, 17) = 1, ADDERROR(117, "Bat Power Low"));
IF(GETBIT(inv, 18) = 1, ADDERROR(118, "BMS Lost"));
IF(GETBIT(inv, 19) = 1, ADDERROR(119, "Fan Fault"));
IF(GETBIT(inv, 20) = 1, ADDERROR(120, "Low Temp Fault"));
IF(GETBIT(inv, 23) = 1, ADDERROR(123, "INV Volt Sample Fault"));
IF(GETBIT(inv, 24) = 1, ADDERROR(124, "Inner Comm Fault"));
IF(GETBIT(inv, 25) = 1, ADDERROR(125, "INV EEPROM Fault"));
IF(GETBIT(inv, 26) = 1, ADDERROR(126, "RCD Fault"));
IF(GETBIT(inv, 27) = 1, ADDERROR(127, "Grid Relay Fault"));
IF(GETBIT(inv, 28) = 1, ADDERROR(128, "Off-grid Relay Fault"));
IF(GETBIT(inv, 29) = 1, ADDERROR(129, "PV ConnDir Fault"));
IF(GETBIT(inv, 30) = 1, ADDERROR(130, "Charger Relay Fault"));
IF(GETBIT(inv, 31) = 1, ADDERROR(131, "Earth Relay Fault"));
VAR mgr := MODBUSR(A, 0x0043, UInt16);
IF(GETBIT(mgr, 0) = 1, ADDERROR(200, "Power Type Fault"));
IF(GETBIT(mgr, 1) = 1, ADDWARNING(201, "Port OC Warning"));
IF(GETBIT(mgr, 2) = 1, ADDERROR(202, "Mgr EEPROM Fault"));
IF(GETBIT(mgr, 4) = 1, ADDERROR(204, "NTC Sample Invalid"));
IF(GETBIT(mgr, 5) = 1, ADDERROR(205, "Battery Temperature Low"));
IF(GETBIT(mgr, 6) = 1, ADDERROR(206, "Battery Temperature High"));
IF(GETBIT(mgr, 9) = 1, ADDERROR(209, "Meter Fault"));
IF(GETBIT(mgr, 10) = 1, ADDERROR(210, "Bypass Relay Fault"));
IF(GETBIT(mgr, 11) = 1, ADDERROR(211, "Fan 2 Fault"));
```

Atrybuty serwisowe

Run mode

```taphome
SWITCH(MODBUSR(A, 0x0009, UInt16), 0, "Waiting", 1, "Checking", 2, "Normal", 3, "Fault", 4, "Permanent fault", 5, "Update", 6, "Off-grid waiting", 7, "Off-grid", 8, "Self testing", 9, "Idle", 10, "Standby", "Other")
```

${deviceType\_BatterySOC} Wejście analogowe

Odczyt poziomu wejściowego

```taphome
MODBUSR(A, 0x001C, UInt16) / 100
```

Battery Temperature Czujnik temperatury

Odczyt temperatury

```taphome
MODBUSR(A, 0x0018, Int16)
```

Daily/Actual Energy Licznik energii

Odczyt całkowitego zużycia

```taphome
MODBUSR(A, 0x0094, LittleEndianUint32) / 10
```

Odczyt zapotrzebowania

```taphome
(MODBUSR(A, 0x000A, UInt16) + MODBUSR(A, 0x000B, UInt16)) / 1000
```

Charger Use Mode Przełącznik wielowartościowy

Wartości / Stany: Self Use Mode · Feedin Priority · Backup Mode · Manual Mode

Odczyt stanu przełącznika

```taphome
MODBUSR(H, 0x008B, UInt16)
```

Zapis stanu przełącznika

```taphome
#MODBUSW(SH, 0x001F, Uint16, Mu)
```

Purchase/Feed to Grid Zmienna

Odczyt

```taphome
MODBUSR(A, 0x0046, LittleEndianInt32) / 1000
```

PV1 Zmienna

Odczyt

```taphome
MODBUSR(A, 0x000A, UInt16) / 1000
```

PV2 Zmienna

Odczyt

```taphome
MODBUSR(A, 0x000B, UInt16) / 1000
```

SelfUse Night Charge Ściemniacz

Inicjalizacja

```taphome
#MODBUSWNE(SH, 0x0062, Uint16, 1);
```

Odczyt poziomu

```taphome
MODBUSR(H, 0x0094, UInt16) / 100
```

Zapis poziomu

```taphome
#MODBUSW(SH, 0x0063, Uint16, Le * 100)
```

Total Energy Zmienna

Odczyt

```taphome
MODBUSR(A, 0x0052, LittleEndianUint32) / 10
```

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

## Parametry importu

Te wartości podajesz podczas importu pliku XML.

| Pytanie w aplikacji | Domyślnie |
|---------------------|-----------|
| Modbus Slave ID     | `1`       |

## 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/)

