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:
| Campo | Descrizione |
|---|---|
| Indirizzo dispositivo | Indirizzo IP del dispositivo BACnet o del router a monte. |
| Porta | La porta UDP su cui il dispositivo è in ascolto (standard 47808). |
| Istanza dispositivo | L'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 COV | Durata 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 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.

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:
| Tipo | Oggetto BACnet | Valore | Note |
|---|---|---|---|
AI / AO / AV | Ingresso / uscita / valore analogico | Numero | AO è comandabile. |
BI / BO / BV | Ingresso / uscita / valore binario | 0/1 | BO è comandabile. |
MSI / MSO / MSV | Ingresso / uscita / valore a più stati | Numero intero, a partire da 1 | MSO è 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>]:
| Campo | Memorizzato come | Significato |
|---|---|---|
| Tipo di valore | REAL / BOOL / UINT / INT / ENUM | Il 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 / Offset | SCALE= / 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-value | COV= | 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 scrittura | PRIORITY= | 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
-1su 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.

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).
- Abilitare BACnet/IP nei Servizi (vedere "Servizi e protocolli").
- Creare una connessione BACnet (vedere "Connessioni"): in Aggiungi connessione, inserire l'Indirizzo dispositivo
192.168.1.70e 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 a30. Fare clic su Salva connessione, quindi su Test: il risultato indica l'istanza del dispositivo 1234. - In Dispositivi, aggiungere un Ingresso analogico "UTA aria di mandata" e selezionare la connessione BACnet sotto Protocollo — nel rispettivo oggetto valore selezionare
AI:0dal selettore di oggetti. - Aggiungere un'Uscita analogica "UTA setpoint": oggetto
AV:1, direzione In/Out, tipo di valore Automatico. - Aggiungere un Interruttore "UTA abilitazione": oggetto
BV:2. - Aggiungere un dispositivo Uscita analogica denominato "UTA-2 Velocità ventilatore" per lo stadio del ventilatore: associare il suo oggetto valore a
MSV:3con 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. - 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
| Campo | Descrizione |
|---|---|
| Oggetti su questo dispositivo | L'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 oggetto | Ingresso / uscita / valore analogico (AI/AO/AV), Ingresso / uscita / valore binario (BI/BO/BV), Ingresso / uscita / valore a più stati (MSI/MSO/MSV). |
| Numero di istanza | L'istanza dell'oggetto sul dispositivo (0–4194302). L'indirizzo memorizzato è <connessione>:<tipo>:<istanza>, ad es. 5:AV:12. |
Valore e scala
| Campo | Descrizione |
|---|---|
| Tipo di valore | Automatico (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 / Offset | valore = 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
| Campo | Descrizione |
|---|---|
| Abbonamento change-of-value | Automatico — 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)
| Campo | Descrizione |
|---|---|
| Priorità di scrittura | Priorità 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.
