Vai al contenuto
Elausys

HyperVisu / Integrazioni

Integrazione BACnet/IP

Lettura e scrittura di oggetti BACnet di regolatori HVAC tramite UDP: rilevamento di rete, abbonamenti COV, polling e priorità di scrittura.

elausys · 21 agosto 2026
In questa pagina

Integrazione BACnet/IP

BACnet/IP (ASHRAE 135) è il protocollo dell'HVAC per edifici commerciali: unità di trattamento aria, scatole VAV, chiller, regolatori per pompe di calore, contatori di energia e sistemi di gestione degli edifici (BMS). HyperVisu legge e scrive gli oggetti dei dispositivi BACnet (un ingresso analogico per una temperatura, un valore analogico per un setpoint, un valore binario per un'abilitazione, un valore a più stati per una velocità del ventilatore) su UDP nella rete locale. I valori arrivano tramite abbonamento change-of-value (COV) dove il dispositivo lo supporta, e tramite polling in tutti gli altri casi; la scelta viene effettuata automaticamente per ogni oggetto.

Cosa serve: il servizio BACnet/IP abilitato (vedere "Servizi e protocolli"), l'indirizzo IP del dispositivo (o l'indirizzo del router BACnet a monte), la sua porta UDP (standard 47808), facoltativamente la sua istanza del dispositivo, e gli oggetti desiderati (tipo e istanza) — oppure utilizzare il rilevamento automatico e il selettore di oggetti per trovarli.

Connessioni. BACnet/IP è multi-connessione: una connessione per ogni dispositivo BACnet (vedere "Connessioni"). Il server apre un unico socket UDP per tutte le connessioni. Campi:

CampoDescrizione
Indirizzo dispositivoIndirizzo IP del dispositivo BACnet o del router a monte.
PortaLa porta UDP su cui il dispositivo è in ascolto (standard 47808).
Istanza dispositivoL'istanza dell'oggetto dispositivo BACnet (0–4194302). Lasciare vuoto per saltare il controllo; se impostato, un dispositivo che risponde con un'altra istanza viene segnalato come errato.
Durata abbonamento COVDurata di un abbonamento change-of-value prima del rinnovo. Lasciare vuoto per il valore predefinito del servizio (600 s).
Intervallo di polling (secondi)Frequenza di rilettura dei punti senza abbonamento COV (predefinito 30 s). Il COV è il percorso rapido, quindi un polling lento è normale in questo contesto.

Creazione della connessione. In Aggiungi connessione, selezionare la scheda BACnet e inserire un Nome istanza e l'Indirizzo dispositivo; Porta e Istanza dispositivo sono opzionali (una porta vuota indica il valore standard 47808). La finestra di dialogo non esegue la scansione di rete e non crea una connessione senza indirizzo: se l'indirizzo non è ancora noto, inserire un indirizzo provvisorio e correggerlo successivamente tramite scansione. Fare clic su Crea connessione; la nuova connessione si apre nelle relative impostazioni.

Scansione rete. La scansione è disponibile solo su una connessione salvata. Accanto a Punto di connessione, fare clic su Scansione rete. La finestra di dialogo Dispositivi BACnet sulla rete invia un broadcast Who-Is ed elenca tutti i dispositivi che hanno risposto — Dispositivo , indirizzo, porta, costruttore — contrassegnando i dispositivi Già configurato e i dispositivi Dietro un router. Selezionarne uno e fare clic su Usa questo dispositivo: indirizzo, porta e istanza del dispositivo vengono compilati. Non sono ancora salvati: fare clic su Salva connessione. Usare Scansiona indirizzo quando il broadcast sull'intera rete non trova nulla: un indirizzo di sottorete (192.168.1.255) quando i broadcast sono filtrati tra VLAN, oppure un singolo dispositivo (192.168.1.70:47808) per interrogarlo direttamente — l'unico modo per raggiungere un dispositivo su una porta non standard. Scansiona di nuovo ripete la scansione; l'ultimo risultato viene mantenuto alla chiusura della finestra.

📘 Nota: Già configurato contrassegna un dispositivo a cui una connessione punta già, per indirizzo e porta o per istanza del dispositivo. La connessione attualmente in modifica viene conteggiata, quindi il proprio controllore può presentare questo contrassegno.

Test invia un Who-Is indirizzato al dispositivo e verifica la risposta, inclusa l'istanza del dispositivo quando configurata. Il risultato indica l'istanza del dispositivo che ha risposto; se risponde il dispositivo errato, il test fallisce e indica entrambe le istanze. Nella finestra Aggiungi connessione, Test verifica i valori digitati. Su una connessione salvata, verifica i valori salvati, non i campi non ancora salvati: fare prima clic su Salva connessione, quindi su Test.

Editor di connessione BACnet/IP con la finestra di dialogo "Dispositivi BACnet sulla rete" aperta.

Associazione di un oggetto (vedere "Associazione BACnet/IP" sotto). Per ciascun oggetto si selezionano il Tipo di oggetto e il Numero di istanza; l'amministrazione memorizza l'indirizzo come <connessione>:<tipo>:<istanza>, ad es. 5:AV:12 (Analog Value 12 sulla connessione 5). Tipi di oggetto:

TipoOggetto BACnetValoreNote
AI / AO / AVIngresso / uscita / valore analogicoNumeroAO è comandabile.
BI / BO / BVIngresso / uscita / valore binario0/1BO è comandabile.
MSI / MSO / MSVIngresso / uscita / valore a più statiNumero intero, a partire da 1MSO è comandabile.

La stringa del tipo di dati dell'oggetto include le opzioni offerte dall'editor: [TYPE][:PROP=<id>][:PRIORITY=<1-16>][:COV=AUTO | Y | N][:SCALE=<f>][:OFFSET=<f>]:

CampoMemorizzato comeSignificato
Tipo di valoreREAL / BOOL / UINT / INT / ENUMIl tipo di dati BACnet utilizzato in scrittura. Lasciare su Automatico (dedotto dal tipo di oggetto) a meno che non si indirizzi una proprietà insolita.
Identificatore di proprietàPROP=85 è present-value, utilizzato da quasi tutte le associazioni. Modificarlo solo per proprietà proprietarie del costruttore.
Scala / OffsetSCALE= / OFFSET=Lettura: valore = grezzo × scala + offset; la scrittura utilizza l'inverso. Viene eseguito internamente al protocollo, prima di qualsiasi trasformazione sull'oggetto (vedere "Trasformazioni dei valori e stato di salute") — non scalare in entrambe le posizioni.
Abbonamento change-of-valueCOV=Automatico — abbonamento, fallback al polling (predefinito). Richiesto — avviso se il dispositivo rifiuta. Mai — polling continuo. Un abbonamento segnala solo la proprietà 85 (present-value); con qualsiasi altra proprietà il punto viene sottoposto a polling. Visibile in Modalità di ricezione aggiornamenti, sugli oggetti in lettura.
Priorità di scritturaPRIORITY=Priorità di comando BACnet 1–16 per oggetti comandabili. Lasciare vuoto per non inviarne alcuna, interpretata dal dispositivo come 16. Visibile in Comando, sugli oggetti in scrittura.

📘 Nota: I valori a più stati BACnet iniziano da 1, le modalità di HyperVisu da 0. Impostare l'offset su -1 su un'associazione a più stati a meno che il dispositivo non sia effettivamente a base 0 — l'editor visualizza un promemoria. I numeri grezzi in base 1 vengono mantenuti intenzionalmente, in modo che quanto visualizzato corrisponda a quanto mostrato da YABE o dal sistema di gestione dell'edificio.

Selettore di oggetti. Con la connessione attiva, l'editor elenca gli Oggetti su questo dispositivo — l'elenco degli oggetti del dispositivo con nome, tipo e istanza, valore attuale e unità di misura (ad es. AI:0 · SupplyAirTemp · 21.5 °C). Usare Trova un oggetto per cercare per nome, descrizione o AV:12, fare clic su una riga per compilare tipo e istanza (e Unità, se il campo è ancora vuoto e il controllore fornisce un'unità), Rileggi per aggiornare. L'elenco degli oggetti viene mantenuto per un minuto; Rileggi forza una nuova lettura. Tipo e istanza rimangono modificabili: se l'elenco indica Elenco oggetti non disponibile o il dispositivo rifiuta l'enumerazione, il punto è comunque associabile manualmente.

Editor di oggetti BACnet per un Analog Value.

Comportamenti utili da conoscere

  • COV prioritario, polling di sicurezza. I punti con abbonamento vengono segnalati dal dispositivo al variare del valore ed escono dal ciclo di polling; l'abbonamento viene rinnovato prima della scadenza. Un dispositivo che rifiuta l'abbonamento viene invece interrogato tramite polling. Un polling di verifica lento (ogni 10 intervalli di polling) legge comunque i punti abbonati, rilevando abbonamenti interrotti silenziosamente dal riavvio del dispositivo.
  • Il polling è raggruppato (più proprietà per richiesta) con fallback a una lettura per proprietà sui dispositivi che non supportano le richieste multiple.
  • Feedback di scrittura. Dopo una scrittura, un punto senza abbonamento COV attivo mostra immediatamente il valore scritto senza ripristinare il precedente fino al polling successivo; con COV, la notifica stessa del dispositivo ne dà conferma.
  • Stato. UDP non è orientato alla connessione, pertanto up significa "ha risposto di recente" (entro il doppio dell'intervallo di polling, almeno 90 s) e down indica l'assenza di risposta; un dispositivo che smette di rispondere viene nuovamente interrogato (ogni 30 s dopo cinque polling falliti) e torna automaticamente allo stato up.
  • Array di priorità. Un oggetto comandabile dispone di 16 livelli di priorità. Un sistema di gestione dell'edificio che scrive a un livello di priorità inferiore maschera HyperVisu, e il dispositivo sembra ignorare il widget — l'editor lo segnala sui tipi comandabili; Priorità di scrittura consente di gestire questo comportamento.

Associazioni tipiche: un interruttore su BV/BO; un dimmer o una posizione tapparella su AV/AO (0–100); la temperatura di un dispositivo di climatizzazione su AI (In), il setpoint su AV (In/Out) e la modalità su MSV con offset -1; un contatore su AI con scala corrispondente all'unità del dispositivo; una velocità del ventilatore su MSV/MSO con offset -1.

Esempio pratico — controllore di un'unità di trattamento aria

Il controllore è il dispositivo BACnet 1234 all'indirizzo 192.168.1.70:47808 con temperatura aria di mandata AI:0, setpoint AV:1, abilitazione BV:2 e velocità ventilatore MSV:3 (1–4).

  1. Abilitare BACnet/IP nei Servizi (vedere "Servizi e protocolli").
  2. Creare una connessione BACnet (vedere "Connessioni"): in Aggiungi connessione, inserire l'Indirizzo dispositivo 192.168.1.70 e fare clic su Crea connessione. Sulla connessione salvata, fare clic su Scansione rete, selezionare Dispositivo 1234 e fare clic su Usa questo dispositivo; lasciare l'intervallo di polling a 30. Fare clic su Salva connessione, quindi su Test: il risultato indica l'istanza del dispositivo 1234.
  3. In Dispositivi, aggiungere un Ingresso analogico "UTA aria di mandata" e selezionare la connessione BACnet sotto Protocollo — nel rispettivo oggetto valore selezionare AI:0 dal selettore di oggetti.
  4. Aggiungere un'Uscita analogica "UTA setpoint": oggetto AV:1, direzione In/Out, tipo di valore Automatico.
  5. Aggiungere un Interruttore "UTA abilitazione": oggetto BV:2.
  6. Aggiungere un dispositivo Uscita analogica denominato "UTA-2 Velocità ventilatore" per lo stadio del ventilatore: associare il suo oggetto valore a MSV:3 con offset -1 (gli stati BACnet 1–4 diventano 0–3). Un oggetto a più stati richiede un widget numerico — il widget Ventilazione controlla le velocità tramite oggetti on/off separati, pertanto non accetta un valore a più stati.
  7. Fare clic su Salva oggetto su ciascun oggetto, quindi fare clic su Applica modifiche nella barra laterale e confermare. La temperatura di mandata arriva via COV a ogni variazione; gli altri oggetti seguono il polling o il rispettivo abbonamento.

Associazione BACnet/IP

Gli oggetti BACnet si configurano nella finestra delle impostazioni dell'oggetto (vedere "Impostazioni oggetto, registrazione e notifiche"). Le schede sono:

Oggetto BACnet

CampoDescrizione
Oggetti su questo dispositivoL'elenco degli oggetti del dispositivo (AI:0 · nome · present value unità) con Trova un oggetto (nome, descrizione o AV:12) e Rileggi. Fare clic su una riga per compilare i due campi sottostanti. Visibile quando la connessione è abilitata e il servizio BACnet/IP è attivo; altrimenti inserire tipo e istanza manualmente.
Tipo di oggettoIngresso / uscita / valore analogico (AI/AO/AV), Ingresso / uscita / valore binario (BI/BO/BV), Ingresso / uscita / valore a più stati (MSI/MSO/MSV).
Numero di istanzaL'istanza dell'oggetto sul dispositivo (0–4194302). L'indirizzo memorizzato è <connessione>:<tipo>:<istanza>, ad es. 5:AV:12.

Valore e scala

CampoDescrizione
Tipo di valoreAutomatico (dedotto dal tipo di oggetto — REAL per analogico, ENUM per binario, UINT per multi-stato) oppure un esplicito REAL / BOOL / UINT / INT / ENUM, utilizzato in scrittura.
Identificatore di proprietà85 è present-value, utilizzato da quasi tutte le associazioni. Modificarlo solo per proprietà proprietarie del costruttore.
Scala / Offsetvalore = grezzo × scala + offset in lettura, l'inverso in scrittura. Viene eseguito internamente al protocollo, prima di qualsiasi trasformazione sull'oggetto (vedere "Trasformazioni dei valori e stato di salute") — non scalare in entrambe le posizioni. Su un oggetto a più stati l'editor ricorda di impostare l'offset su -1 (gli stati BACnet iniziano da 1, le modalità di HyperVisu da 0).

Modalità di ricezione aggiornamenti

CampoDescrizione
Abbonamento change-of-valueAutomatico — abbonamento, fallback al polling (predefinito), Richiesto — avviso se il dispositivo rifiuta, o Mai — polling continuo. Gli abbonamenti segnalano solo present-value, quindi un'associazione su un'altra proprietà viene interrogata tramite polling.

Comando (tipi di oggetto comandabili)

CampoDescrizione
Priorità di scritturaPriorità di comando BACnet 1–16. Lasciare vuoto per non inviarne alcuna, interpretata dal dispositivo come 16. Un altro sistema che scrive a un livello di priorità inferiore maschera HyperVisu e il dispositivo sembra ignorare il widget.

I tipi di oggetto, la stringa del tipo di dati e un esempio pratico sono descritti nel capitolo BACnet/IP sopra.

Impostazioni dell'oggetto BACnet per un oggetto velocità ventilatore a più stati ("AHU-2 Fan Speed").

Domande frequenti

Cosa fare se la scansione di rete non rileva alcun dispositivo?

Verificare che BACnet/IP sia abilitato, quindi utilizzare Scansiona indirizzo con il broadcast di sottorete o con l'IP e la porta del dispositivo. Una porta non standard richiede una scansione indirizzata.

Ogni punto BACnet utilizza il polling?

No. La modalità automatica utilizza gli abbonamenti change-of-value dove supportati ed esegue il fallback al polling quando vengono rifiutati.

Perché un valore a più stati risulta sfasato di uno?

Gli stati BACnet iniziano normalmente da uno, mentre le modalità di HyperVisu iniziano da zero. Utilizzare un offset di -1 a meno che il dispositivo non utilizzi effettivamente stati in base zero.

Perché un altro sistema di gestione dell'edificio sovrascrive i comandi inviati?

Negli oggetti comandabili, uno slot con priorità numerica inferiore ha la precedenza. Verificare l'altro sistema in scrittura e la Priorità di scrittura configurata.

È possibile associare un punto se il selettore di oggetti è vuoto?

Sì. Inserire manualmente il tipo di oggetto e l'istanza se il dispositivo rifiuta l'enumerazione.

È necessario applicare la scala del valore sia nelle impostazioni BACnet sia nelle trasformazioni?

No. Scala e offset BACnet vengono elaborati prima della sequenza di trasformazione dell'oggetto. Evitare di applicare due volte la stessa conversione.

Continua a esplorare

Trova le altre guide per questo prodotto nella documentazione.

Torna a Integrazioni