TapHome

ComWinTop CWT-ULS Sensore di livello a ultrasuoni

Modbus RTU
Inviato da
Ultimo aggiornamento: 03. 2026
ComWinTop CWT-ULS Sensore di livello a ultrasuoni

Il ComWinTop CWT-ULS è un sensore di livello a ultrasuoni senza contatto che si collega a TapHome tramite Modbus RTU su RS-485. Il sensore misura la distanza dalla superficie del liquido utilizzando impulsi ultrasonici e calcola il livello del liquido in base a un’altezza di montaggio configurabile. Sono disponibili due modelli: CWT-ULS-I-10M (integrato) e CWT-ULS-S-10M (sonda separata con cavo).

Il template TapHome espone l’altezza del livello del liquido, la distanza dalla superficie, un sensore di temperatura integrato e due relè virtuali con soglie di isteresi configurabili. Tutti i valori dei registri utilizzano la codifica a virgola mobile IEEE 754 a 32 bit, con ogni valore che occupa due registri Modbus.

Collegamento hardware

Specifiche tecniche
ParametroValore
Campo di misura0,5–20 m
Zona cieca0,35–0,5 m
Precisione0,5%
Risoluzione1 mm
Alimentazione12–28 VDC
Consumo< 0,6 W
Temperatura di esercizio-40 °C a +80 °C
Grado di protezioneIP65
ProtocolloModbus RTU Slave, RS-485
Baud rate9600 (predefinito), configurabile 600–115200
FilettaturaG2, diametro 60 mm
Cablaggio RS-485

Il sensore utilizza un collegamento a 4 fili con cavi codificati a colori:

Colore del filoFunzioneCoppia di morsetti
MarroneAlimentazione + (12–28 VDC)05–06
NeroAlimentazione - (GND)05–06
Giallo/VerdeRS-485 A+01–02
BluRS-485 B-01–02

Collegare i fili RS-485 a TapHome:

  • A+ (giallo/verde) → A+/D+ su TapHome RS-485
  • B- (blu) → B-/D- su TapHome RS-485

Il sensore dispone anche di due morsetti per le uscite relè:

Coppia di morsettiFunzione
08–09Uscita relè 1
10–11Uscita relè 2

Limitazione della zona cieca

Il sensore non è in grado di misurare distanze inferiori a 0,35–0,5 m dalla faccia del sensore (zona cieca). Posizionare il sensore in modo che il livello massimo del liquido rimanga al di sotto di questa distanza minima.

Indicazioni per l’installazione
  • Posizionare il sensore lontano dagli ingressi del serbatoio per evitare interferenze da turbolenza
  • Evitare ostacoli nel cono di misura a ultrasuoni
  • Considerare la geometria del serbatoio — forme coniche o sferiche possono influenzare le letture
  • Se la superficie del liquido presenta detriti o turbolenza, utilizzare un tubo guida con diametro superiore a 120 mm

Configurazione

La comunicazione Modbus RTU è sempre attiva sull’interfaccia RS-485 — non sono necessari passaggi di attivazione.

Slave ID e baud rate

Lo Slave ID predefinito è 1 e il baud rate predefinito è 9600 (8N1). Entrambi possono essere modificati tramite le azioni di servizio TapHome sul modulo dopo l’importazione del template:

  • Azione di servizio Slave ID — scrive H:20 (Float), intervallo 1–254
  • Azione di servizio Baud rate — scrive H:22 (Float), configurabile 600–115200

Lo Slave ID e il baud rate attuali sono leggibili come attributi di servizio a livello di modulo.

Dopo la modifica dello Slave ID o del baud rate tramite azioni di servizio, il sensore risponderà immediatamente al nuovo indirizzo/velocità. Aggiornare le impostazioni di connessione del modulo TapHome di conseguenza.

Impostazione dell’altezza di montaggio

Per attivare il calcolo del livello del liquido, è necessario configurare l’altezza di montaggio (distanza dalla faccia del sensore al fondo del serbatoio):

  1. Aprire il dispositivo Altezza livello liquido in TapHome
  2. Accedere alle impostazioni di servizio
  3. Utilizzare l’azione di servizio Altezza di montaggio per impostare l’altezza di installazione in metri (0–11 m)

Senza un’altezza di montaggio configurata, il dispositivo Altezza livello liquido visualizza un avviso e restituisce 0. Il dispositivo Distanza dalla superficie continua a riportare la distanza misurata grezza indipendentemente dall’impostazione dell’altezza di montaggio.

Funzionalità del dispositivo

Misurazione del livello

Il template fornisce due dispositivi di misura complementari:

  • Altezza livello liquido (H:0 + H:10, Float) — livello del liquido calcolato in metri. Il sensore legge il valore visualizzato da H:0 e l’altezza di montaggio da H:10, restituendo il livello calcolato. Se l’altezza di montaggio non è impostata (H:10 = 0), viene generato un avviso e il valore restituisce 0. L’altezza di montaggio può essere visualizzata come attributo di servizio e configurata tramite un’azione di servizio.

  • Distanza dalla superficie (H:0 + H:10, Float) — distanza dal sensore alla superficie del liquido in metri. Quando l’altezza di montaggio non è impostata, restituisce il valore visualizzato grezzo. Quando l’altezza di montaggio è impostata, restituisce il calcolo inverso (altezza di montaggio meno valore visualizzato).

Sensore di temperatura
  • Sensore di temperatura (H:2, Float) — sensore di temperatura integrato in °C. Il sensore utilizza questo valore internamente per la compensazione della velocità del suono ultrasonica, ma è esposto anche come temperatura leggibile. Utile per il monitoraggio della temperatura ambiente nella posizione del sensore.
Uscite relè

Il template espone due relè virtuali con controllo a isteresi:

  • Relè 1 (H:0 vs H:28/H:30, Float) — si attiva o disattiva in base al superamento delle soglie ON e OFF configurabili da parte della distanza misurata
  • Relè 2 (H:0 vs H:32/H:34, Float) — stessa logica del Relè 1 con soglie indipendenti

Logica di isteresi: Il comportamento del relè dipende dal rapporto tra le soglie ON e OFF:

  • Se soglia ON < soglia OFF — il relè si attiva quando il valore misurato scende sotto la soglia ON e si disattiva quando sale sopra la soglia OFF. Da utilizzare per allarmi di livello basso (es. attivazione pompa quando il livello del serbatoio è basso).
  • Se soglia ON > soglia OFF — il relè si attiva quando il valore misurato sale sopra la soglia ON e si disattiva quando scende sotto la soglia OFF. Da utilizzare per allarmi di livello alto (es. chiusura valvola quando il serbatoio è quasi pieno).

Ogni relè ha due attributi di servizio che mostrano le soglie ON e OFF attuali in metri e due azioni di servizio per configurarle (intervallo 0–10 m).

Le soglie dei relè operano sul valore visualizzato grezzo (H:0), non sul livello del liquido calcolato. Quando si configurano le soglie, considerare se l’altezza di montaggio è impostata — il valore visualizzato rappresenta il livello calcolato quando l’altezza di montaggio è configurata.

Funzionalità aggiuntive

Il sensore CWT-ULS espone anche registri per il monitoraggio della tensione di alimentazione, tempo di funzionamento cumulativo, selezione della modalità livello liquido vs. livello oggetto, tipo di mezzo di misura (aria, acqua, personalizzato) per il calcolo della velocità del suono, periodo di misura, configurazione della zona cieca e livelli di filtraggio del segnale (nessuno, rapido, veloce, normale, stabile). L’intervallo dell’uscita analogica 4–20 mA può essere calibrato tramite i registri di punto iniziale/finale. Queste funzionalità potranno essere aggiunte in un futuro aggiornamento del template.

Risoluzione dei problemi

Nessuna comunicazione Modbus
  1. Controllare i cavi RS-485 — verificare che A+ (giallo/verde) sia collegato ad A+/D+ su TapHome e B- (blu) sia collegato a B-/D- su TapHome. I fili invertiti sono la causa più comune di errori di comunicazione
  2. Verificare l’alimentazione — il sensore richiede 12–28 VDC sui morsetti 05–06
  3. Controllare lo Slave ID — il predefinito è 1. Se modificato tramite il display del sensore o una precedente scrittura Modbus, assicurarsi che TapHome sia configurato con l’indirizzo corrispondente
  4. Confermare il baud rate — il predefinito è 9600 baud, 8 bit di dati, nessuna parità, 1 bit di stop. Verificare che le impostazioni del bus TapHome corrispondano
  5. Terminazione del bus — per tratti di cavo lunghi o dispositivi multipli, assicurare una corretta terminazione del bus RS-485 (resistenza da 120 Ω a ciascuna estremità del bus)
Il livello del liquido mostra 0 con avviso

L’altezza di montaggio non è stata configurata. Aprire il dispositivo Altezza livello liquido → impostazioni di servizio → impostare l’altezza di montaggio tramite l’azione di servizio. Il valore deve essere maggiore di 0.

Letture instabili o erratiche
  1. Controllare le ostruzioni — assicurarsi che il cono di misura a ultrasuoni sia libero da ostacoli
  2. Ridurre la turbolenza — se la superficie del liquido è agitata, considerare l’utilizzo di un tubo guida (diametro > 120 mm) o la regolazione della modalità di filtraggio tramite il registro H:70 (0=nessuno fino a 4=stabile)
  3. Verificare il tipo di mezzo — se si misura attraverso un mezzo diverso dall’aria, l’impostazione della velocità del suono (registro H:54) potrebbe necessitare di regolazione
  4. Controllare la zona cieca — se il bersaglio è più vicino di 0,35–0,5 m dalla faccia del sensore, le misurazioni saranno inaffidabili

Dispositivi disponibili

ComWinTop CWT-ULS Modulo
Attributi di servizio
Slave ID
Baud rate
Azioni di servizio
Slave ID
Baud rate

ComWinTop - Ultrasonic Level Sensor

Attributi di servizio
Slave ID
modbusr(H, 20, float)
Baud rate
modbusr(H, 22, float)
Azioni di servizio
Slave ID
Parametri: ID (1–254 ID)
modbusw(H, 20, float, ID)
Baud rate
Parametri: baud (1–500000 baud)
modbusw(H, 22, float, baud)
Relè 1 Contatto reed Solo lettura

Relè virtuale con isteresi — si attiva quando la distanza misurata supera la soglia ON, si disattiva alla soglia OFF

Registro: H:0 Float numeric
Attributi di servizio
Relè ON [m]
Relè OFF [m]
Azioni di servizio
Relè ON
Relè OFF

Relè 1

Lettura
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
Lettura (modulo)
D := modbusr(H, 28, float);
H := modbusr(H, 30, float);
X := modbusr(H, 0, float);
Attributi di servizio
Relé ON [m]
D
Relé OFF [m]
H
Azioni di servizio
Relé ON
Parametri: Vzdialenost (0–10 m)
modbusw(H, 28, float, m)
Relé OFF
Parametri: Vzdialenost (0–10 m)
modbusw(H, 30, float, m)
Relè 2 Contatto reed Solo lettura

Relè virtuale con isteresi — si attiva quando la distanza misurata supera la soglia ON, si disattiva alla soglia OFF

Registro: H:0 Float numeric
Attributi di servizio
Relè ON [m]
Relè OFF [m]
Azioni di servizio
Relè ON
Relè OFF

Relè 2

Lettura
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
Lettura (modulo)
D := modbusr(H, 32, float);
H := modbusr(H, 34, float);
X := modbusr(H, 0, float);
Attributi di servizio
Relé ON [m]
D
Relé OFF [m]
H
Azioni di servizio
Relé ON
Parametri: Vzdialenost (0–10 m)
modbusw(H, 32, float, m)
Relé OFF
Parametri: Vzdialenost (0–10 m)
modbusw(H, 34, float, m)
Sensore di temperatura Sensore di temperatura Solo lettura
Registro: H:2 Float Unità: °C numeric

Sensore di temperatura

Lettura temperatura
MODBUSR(H, 2, float)
Altezza livello liquido Variabile Solo lettura

Livello del liquido calcolato — richiede la configurazione dell'altezza di montaggio tramite azione di servizio

Registro: H:0 Float Unità: m numeric
Attributi di servizio
Altezza di montaggio [m]
Azioni di servizio
Altezza di montaggio

Altezza livello liquido

Lettura
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
Attributi di servizio
Montážna výška [m]
MODBUSR(H, 10, float)
Azioni di servizio
Montážna výška
Parametri: Výška (0–11 m)
modbusw(H, 10, float, m)
Distanza dalla superficie Variabile Solo lettura

Distanza dal sensore alla superficie del liquido — misurazione grezza quando l'altezza di montaggio non è impostata, calcolo inverso altrimenti

Registro: H:0 Float Unità: m numeric

Distanza dalla superficie

Lettura
var mnt := MODBUSR(H, 10, float);
var val := MODBUSR(H, 0, float);
if mnt = 0
	return(val);
else
	return(mnt - val);
end
Connessione: Modbus RTU • 9600 baud• 8N1 • Slave ID: $[SlaveId]
Possibili miglioramenti (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

Fonti