TapHome

Liquid Level Sensor

Modbus RTU
Trimis de
Ultima actualizare: 10. 2026

Necesită gateway extern

TapHome Modbus Gateway — pagina produsului

Liquid Level Sensor

Senzor de nivel lichid hidrostatic submersibil generic, cu Modbus RTU, pentru monitorizarea nivelului apei în rezervoare, puțuri sau bazine de retenție. Senzorul comunică prin RS-485 half-duplex și raportează nivelul măsurat în registrul holding H:4. Șablonul TapHome citește valoarea măsurată cu conversie automată a zecimalelor și acceptă metri (m) și centimetri (cm) ca unități de afișare.

Acest șablon este destinat traductoarelor generice de presiune/nivel de producție chineză care folosesc aceeași hartă de registre Modbus. Senzorul se alimentează de obicei la 12-36 V DC și folosește o conexiune RS-485 cu 2 fire la un convertor Modbus–LAN (RS-485–Ethernet).

Conectarea hardware

Senzorul folosește o interfață RS-485 half-duplex pentru comunicația Modbus RTU. Conectați senzorul la un convertor Modbus–LAN (RS-485–Ethernet):

  • A+ (RS-485 Data+) de pe senzor la A+ pe convertorul Modbus–LAN
  • B- (RS-485 Data-) de pe senzor la B- pe convertorul Modbus–LAN
  • GND la o referință de masă comună

Senzorul necesită și o sursă de alimentare DC separată (de obicei 12-36 V DC, în funcție de model). Firele de alimentare sunt separate de firele de date RS-485.

Asigurați o referință de masă comună între senzor și convertorul Modbus–LAN. Fără o masă comună (GND) corectă, comunicarea Modbus poate fi instabilă sau poate să nu funcționeze deloc.

Configurare

Parametri de comunicație impliciți

Senzorul este livrat cu următoarele setări seriale implicite:

ParametruImplicit
Baud rate9600 bps
Biți de date8
ParitateFără
Biți de stop1
Adresă slave1

Baud rate se poate schimba prin registrul H:1 (valori acceptate: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200). După schimbarea baud rate, scrieți 0 în registrul H:15 pentru a salva setarea în zona utilizatorului.

Selectarea unității

Unitatea de măsură se configurează prin registrul H:2. Șablonul TapHome acceptă numai două unități:

Valoare H:2UnitateComportament
16m (metri)Returnează direct valoarea brută (cu conversia zecimalelor)
17cm (centimetri)Returnează valoarea împărțită la 100
Toate celelalteMPa, kPa, bar etc.Returnează NaN – nu sunt acceptate de șablon

Dacă senzorul este configurat pe altă unitate decât m (16) sau cm (17), șablonul TapHome afișează NaN. Verificați setarea unității înainte de a importa șablonul.

Precizia zecimală

Registrul H:3 stabilește câte zecimale folosește valoarea măsurată brută:

Valoare H:3FormatFactor de împărțire
0####1
1###.#10
2##.##100
3#.###1000
4.####10000

Șablonul TapHome împarte automat valoarea brută din H:4 la 10^(H:3) pentru a obține citirea corectă. De exemplu, dacă H:3 = 1 (o zecimală) și H:4 = 2500, valoarea afișată este 250,0.

Parametrii de import

La importul șablonului în TapHome sunt necesari doi parametri:

ParametruDescriereExemplu
Slave IdAdresa slave Modbus a senzorului (interval Modbus valid 1–247)1
IP addressAdresa IP a convertorului Modbus–LAN192.168.1.100

Funcțiile dispozitivului

Măsurarea nivelului apei

Șablonul oferă un singur dispozitiv senzor numai pentru citire – Nivelul apei – care citește registrul holding H:4 (Int16). Scriptul ReadState aplică o conversie dinamică:

  1. Citește valoarea întreagă brută din H:4
  2. O împarte la 10^(H:3) pentru a aplica setarea zecimalelor
  3. În funcție de valoarea registrului H:2 (unitate): dacă unitatea = 16 (m), returnează direct valoarea; dacă unitatea = 17 (cm), o împarte la 100; altfel returnează NaN

Senzorul este interogat la fiecare 15 secunde.

Diagnosticare de service

Modulul pune la dispoziție patru atribute de service pentru monitorizarea configurației senzorului:

  • Adresă slave – adresa slave Modbus curentă (H:0)
  • Baud rate – viteza de comunicație curentă, afișată ca valoare reală a baud rate (de ex. 9600, nu valoarea de enumerare din registru)
  • Unitate – unitatea de măsură configurată în prezent (de ex. „m”, „cm”, „MPa”)
  • Număr de zecimale – formatul zecimal curent (de ex. „###.#”)

Acțiunea de service Rescriere adresă slave permite schimbarea adresei Modbus a senzorului (interval Modbus valid 1–247) direct din TapHome, fără instrumente externe. Acțiunea scrie noua adresă și o salvează automat în zona utilizatorului a senzorului.

Funcții suplimentare

Senzorul pune la dispoziție și registre pentru punctul zero al domeniului (H:5) și punctul de capăt de scală (H:6) ca referințe de calibrare, un registru de decalaj al punctului zero (H:12) pentru reglajul fin al ieșirii de măsurare, o ieșire de măsurare în virgulă mobilă IEEE 754 pe 4 octeți (H:22-23) și configurarea parității seriale (H:37). O comandă de resetare la setările din fabrică (H:16) poate readuce toți parametrii la valorile implicite din fabrică. Acestea pot fi adăugate într-o actualizare viitoare a șablonului.

Dacă este nevoie de o precizie mai mare, măsurarea în virgulă mobilă din registrele H:22-23 oferă aceeași citire în format IEEE 754 (ordinea octeților big-endian ABCD), fără rotunjirea la număr întreg din H:4.

Rezolvarea problemelor

Senzorul returnează NaN
  1. Verificați registrul H:2 (unitate) – șablonul acceptă numai unitățile 16 (m) și 17 (cm). Toate celelalte unități returnează NaN
  2. Verificați setarea curentă cu atributul de service Unitate în TapHome
  3. Dacă unitatea este greșită, scrieți valoarea corectă în H:2 cu un instrument Modbus, apoi scrieți 0 în H:15 pentru salvare
Nu există comunicare
  1. Verificați cablajul RS-485: A+ la A+, B- la B- și GND comun
  2. Verificați dacă baud rate este același la senzor și în TapHome (implicit: 9600, N, 8, 1)
  3. Verificați dacă la importul șablonului a fost introdus Slave ID-ul corect
  4. Verificați dacă adresa IP indică convertorul Modbus–LAN corect
  5. Dacă firele sunt inversate (A+/B-), schimbați-le între ele – unii senzori marchează pinii diferit
Citiri greșite
  1. Verificați dacă setarea zecimalelor (H:3) corespunde configurației din fabrică a senzorului
  2. Verificați setarea unității (H:2) – modul cm (17) împarte suplimentar la 100
  3. La senzorii submersibili, asigurați-vă că sonda este complet scufundată și că cablul nu este îndoit brusc

Dispozitive disponibile

Senzor de nivel lichid Modul
Atribute de service
Adresă slave
Baud rate
Unitate
Număr de zecimale
Acțiuni de service
Rescriere adresă slave

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

Atribute de service
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
);
Acțiuni de service
Rewrite the Slave Address
Parametri: Slave Address (1–255 SlaveAddr)
modbusw(SH, 0, int16, SlaveAddr);
modbusw(SH, 15, int16, 0);  # Save to user area
Nivelul apei Variabilă Doar citire

Măsurarea nivelului lichidului în metri sau centimetri — citește ieșirea senzorului de presiune hidrostatică, cu precizie zecimală configurabilă

Registru: H:4 Int16 Unitate: dynamic numeric

Nivelul apei

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

switch(modbusr(H, 2, int16),
	16, val,
	17, val / 100, 
	NaN
);
Conexiune: Modbus RTU • 9600 baud• 8N1 • Slave ID: $[SlaveId]
Îmbunătățiri posibile (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

Surse

  • Modbus RTU communication protocol documentation for pressure and level transmitter

Ați găsit o problemă la acest șablon de dispozitiv?

Spuneți-ne ce nu funcționează, ce lipsește sau cum ar trebui să se comporte șablonul. Feedbackul dvs. ne ajută să păstrăm catalogul corect.

Verificat de TapHome

Doriți să folosiți acest șablon în TapHome Core?

Deschideți acest șablon în Customer Portal pentru a-l aplica într-una dintre locuințele dvs. sau pentru a propune o îmbunătățire și a o trimite înapoi în catalog.

Deschideți în portal