BACnet
Collegare i dispositivi di automazione degli edifici BACnet/IP - istanza del dispositivo, indirizzamento per tipo e numero di istanza dell'oggetto, rilevamento Who-Is e presentValue.
Il driver BACnet parla con le apparecchiature di automazione degli edifici su BACnet/IP. Ogni tag legge il valore presente di un oggetto BACnet: la lettura dal vivo di un ingresso analogico, lo stato di un'uscita binaria, la posizione di un valore a più stati. Aggiungi un dispositivo sotto il driver BACnet nel Connector; il pannello mostra solo i campi che questo protocollo usa.
Connessione
| Campo | Significato | Predefinito |
|---|---|---|
| Indirizzo host | Indirizzo IP o nome host del dispositivo BACnet (oppure del router che risponde per lui). | vuoto |
| Porta TCP | La porta UDP del dispositivo. 0 usa 47808, lo standard di BACnet/IP. | 0 |
| Identificativo del dispositivo | Il numero di istanza del dispositivo, cioè il numero del suo oggetto Device, unico sulla rete BACnet. | 0 |
L'intestazione del dispositivo mostra l'endpoint composto, per esempio
bacnet://192.168.0.30:47808/1234. La connessione invia una sola richiesta per la
dimensione dell'elenco di oggetti del dispositivo, per confermare che
l'apparecchiatura risponde; l'elenco degli oggetti in sé non viene percorso. Quella
risposta è la connessione: un dispositivo che non risponde resta non connesso invece di
apparire connesso, e il motivo (la porta UDP già occupata, un indirizzo che non è un
indirizzo) viene scritto nella pagina Eventi e nel file di diario della giornata. Per
questo driver non ci sono campi per l'intervallo di interrogazione: i suoi tag vengono
letti una volta al secondo.
Indirizzamento
Un tag BACnet viene indirizzato da due campi tipizzati nella scheda Origine del tag, senza alcun indirizzo a testo libero:
| Campo | Significato | Valori accettati | Predefinito |
|---|---|---|---|
| Tipo di oggetto | Quale genere di oggetto BACnet leggere. | i nove tipi qui sotto | AnalogInput |
| Numero di istanza | Il numero di istanza dell'oggetto dentro il suo tipo. | da 0 in su | 0 |
I tipi di oggetto offerti e i loro codici di tipo BACnet standard:
| Tipo di oggetto | Codice | Il valore presente contiene |
|---|---|---|
AnalogInput |
0 | un numero misurato |
AnalogOutput |
1 | un numero comandato |
AnalogValue |
2 | un numero memorizzato |
BinaryInput |
3 | inattivo/attivo |
BinaryOutput |
4 | inattivo/attivo |
BinaryValue |
5 | inattivo/attivo |
MultiStateInput |
13 | un numero di stato da 1 in su |
MultiStateOutput |
14 | un numero di stato da 1 in su |
MultiStateValue |
19 | un numero di stato da 1 in su |
AnalogInput 5 sul dispositivo 1234 significa « il valore presente dell'ingresso
analogico 5 di quel dispositivo ». Ogni lettura chiede la proprietà presentValue
dell'oggetto; le altre proprietà non sono indirizzabili. La riga in sola lettura
Indirizzo di origine (bus) della scheda Origine mostra la coppia
type,instance composta mentre modifichi.
Tipi di dato
Il selettore Tipo di dato offre quattro tipi. Scegli quello che corrisponde all'oggetto:
| Tipo di dato | Adatto a | Note |
|---|---|---|
| Float | gli oggetti analogici | un valore presente Real; i double vengono ristretti a Float |
| Boolean | gli oggetti binari | un valore presente Boolean, oppure lo 0 e l'1 enumerati con cui risponde un oggetto binario |
| Int32 | i valori a più stati e gli altri valori interi | le risposte con segno, senza segno ed enumerate arrivano tutte qui |
| String | i valori di tipo stringa di caratteri | il testo come il dispositivo lo invia |
Il tipo scelto deve corrispondere a quello che l'oggetto contiene. Un dispositivo che risponde con qualcos'altro fa fallire la lettura di quel tag: il tag passa a cattiva qualità e il motivo nomina quello che è arrivato (« Il dispositivo ha risposto con un valore Single per un punto dichiarato Integer. »), invece di far entrare un numero convertito nell'andamento, nello storico e negli allarmi. Leggere un oggetto analogico come Boolean, o un Real come Int32, è esattamente questo caso. Il resto del dispositivo continua a leggere; per un tag il cui tipo è sbagliato non viene riconnesso nulla.
Scritture
I tag il cui Accesso è Lettura e scrittura oppure Sola scrittura si possono scrivere. Una
scrittura imposta il presentValue dell'oggetto, tipizzato dal tipo di dato del tag:
Float scrive un Real BACnet, Boolean un Boolean BACnet, Int32 un intero con segno e
String una stringa di caratteri. Con la scrittura non viene inviata alcuna priorità di
comando. Un'apparecchiatura che insiste su un tipo diverso per il suo valore presente,
per esempio certe uscite binarie che accettano solo un valore Enumerated, può
rifiutare la scrittura; il tag riferisce allora il fallimento invece di fingere che sia
riuscita. Un tag nuovo nasce Sola lettura.
Rilevamento
Il pulsante Rileva del Connector diffonde un Who-Is BACnet e ascolta le risposte I-Am per 10 secondi. Ogni dispositivo che risponde diventa un candidato che porta il proprio indirizzo, la porta e l'istanza del dispositivo, pronto da aggiungere con i campi di connessione già compilati, e compare nell'elenco nel momento in cui risponde invece che alla fine dei dieci secondi: una scansione annullata a metà conserva tutto quello che aveva già risposto. La scansione non percorre gli oggetti, quindi i candidati arrivano con zero tag; le coppie di tipo di oggetto e numero di istanza le aggiungi tu.
Un dispositivo che risponde attraverso un router BACnet si aggiunge allo stesso modo. Il suo candidato porta l'indirizzo del router e, accanto, la rete propria del dispositivo e il suo indirizzo su quella rete; entrambi vengono conservati quando lo aggiungi, e ogni lettura viene inviata al router nominando il dispositivo che sta dentro. Un dispositivo trovato così legge quindi come qualunque altro, e il suo endpoint si legge « dispositivo tramite router ». Un dispositivo aggiunto a mano non ha alcun percorso e viene raggiunto direttamente al suo host.
Buono a sapersi
- Solo BACnet/IP: un'apparecchiatura MS/TP o BACnet/SC è raggiungibile solo attraverso un router che la presenta su BACnet/IP, ed è la scansione a trovarla: il percorso su cui un dispositivo risponde viene conservato dalla scansione, quindi aggiungilo dall'elenco rilevato invece di scriverne i campi a mano.
- Il driver comunica dalla porta UDP BACnet standard 47808 di questa stazione; un'altra applicazione BACnet che tenga quella porta in modo esclusivo sulla stessa macchina può entrare in conflitto con lui.
- L'interrogazione è fissa a un secondo per ogni tag di questo driver; i soliti campi per l'intervallo di interrogazione non vengono mostrati.