Gateway BACnet IP / MSTP
- marcom
-
Autore della discussione
- Offline
13/03/2019 12:28 #1621
da marcom
Marcom S.r.l.
via della Metallurgia, 11
37139 - Verona (VR)
Gateway BACnet IP / MSTP è stato creato da marcom
Il protocollo BACNET viene utilizzato negli edifici per la trasmissione dei dati relativi a controllo climatico, sicurezza illuminazione, ... BACnet® è un marchio registrato dell' American Society of Heating, Refrigerating and Air-Conditioning Engineers (ASHRAE).
Esistono diverse tipologie di BACNET in base al livello fisico utilizzato, differenti tra loro a livello trasporto del modello ISO/OSI:
La variante più utilizzata è basata su datalink Ethernet e viene indicata con la sigla BACNET I/P (Annex J).
I nostri prodotti coprono alcune di queste tipologie:
Gateway BACnet
Il gateway BACnet può agire come Server e come Client. Tutte le informazioni in un sistema BACnet sono rappresentate in forma di oggetti.
Gli oggetti sono monitorati e controllati attraverso le loro proprietà.
Rete BACNET MSTP
Il bus BACNET MSTP è composto da un dominio di collisione logica che accetta fino a 128 dispositivi o nodi.
Il protocollo MSTP usa il protocollo token passing per decidere l'accesso delle stazioni al bus. Quella che ha il token (gettone) è l'unica che in quel momento può iniziare una richiesta, tutte le altre stazioni devono ascoltare e solo quella interrogata può rispondere prima che scada il periodo di timeout.
Solo i nodi master possono avere il gettone,per gli slave non è possibile. La maggior parte dei nodi sul mercato sono master dato che la differenza di costo tra un master ed uno slave in termini economici e uso di risorse di memoria è minima.
I nodi master possono iniziare e quindi possibile condividere punti tra loro in quella che viene chiamata connessione peer-peer attraverso un collegamento statico o dinamico.
Anche se in pratica è possibile avere 128 dispositivi sullo stessa linea, le performance subiscono un notevole degrado ed è quindi conveniente non usare più di 32 dispositivi sulla stessa linea.
Il protocollo è caratterizzato da quelli che vengono indicati come "servizi" e per confrontare dispositivi diversi è necessario verificare quali servizi mettono a disposizione. Come in latri protocolli in BACNET i punti possono essere richiesti a polling dai nodi, ma un polling costante consuma la banda disponibile per la comunicazione. Per evitare questo problema il protocollo BACNET mette a disposizione un servizio "change of value"; un nodo client del servizio sottoscrive in un nodo server l'informazione da ottenere quando il valore del punto cambia. Quindi quando il punto cambia il server notifica al nodo client e il client può raccogliere il nuovo valore del punto.
Per avere una comunicazione affidabile conviene seguire le seguenti indicazioni:
E' importante sottolineare la confusione che può generare la terminologia master/slave e client/server nel caso di reti BACnet MS/TP. Questo è dovuto alla natura della rete BACnet MS/TP che è sostanzialmente basata su due protocolli di comunicazione sovrapposti. Il protocollo a livello OSI dati è il protocollo MS/TP che si occupa dell'arbitraggio sul bus RS-485. Il protocollo a livello applicazione è il protocollo BACnet. Quando si indica che un dispositivo BACnet MS/TP è un master, significa che è master a livello MS/TP. Il master MS/TP partecipa in maniera attiva all'arbitraggio con il passaggio del token sul bus. Gli slave MS/TP non partecipano al passaggio del gettone. E' abbastanza raro trovare un dispositivo MS/TP slave.A livello BACNET, sono presenti dispositivi client e server. I client BACnet inviano le richieste ai server BACnet per leggere e scrivere i valori.
Gateway BACnet MSTP
Sulle reti BACNET MS/TP si possono utilizzare due modalità di indirizzamento: attraverso MAC address oppure attraverso device ID. Il Protonode supporta entrambe le modalità.
Su una rete MSTP possono essere presenti più master contemporaneamente, i quali prendono il comando della rete attraverso il passaggio di un gettone.
Settando il MAC address del master basso, è possibile settare il parametro MAX MASTER della rete basso, riducendo in questo modo al minimo l'overhead.
Ciascun gateway Protonode può ospitare più dispositivi virtuali al suo interno, offrendo così una suddivisione logica delle variabili ed una rappresentazione, lato BACnet, più simile alla realtà presente sul lato dell'altro protocollo.
Dispositivi Virtuali su BACnet MSTP
Gateway ETHERNET
Il protocollo utilizza in questo caso il MAC address per la comunicazione su Ethernet.
Tutti i dispositivi in questo caso devono trovarsi nella stessa sottorete.
BACNET ETHERNET e BACNET IP utilizzando una modalità diversa di indirizzamento, sono tra di loro non compatibili.
Gateway BACNET IP
Il protocollo utilizza in questo caso indirizzo IP per la comunicazione su Ethernet.
Il protocollo lavora a livello Data Link Layer e quindi può operare anche su reti di livello 3. Consente la comunicazione tra dispositivi collocati su diverse sottoreti, ma è necessario utilizzare BBMD (BACnet Broadcast Management Device).
BACNET utilizza pesantemenete la comunicazione di tipo broadcast e questo non è molto adatto a comunicazioni che coinvolgono diverse sottoreti.
La cosa viene risolta utilizzando un BBDM in ciascuna sottorete. Il BBDM riceve i messaggi broadcast e li distribuisce a BBDM di altre sottoreti con un messaggio diretto. Il gateway è in grado di svolgere il ruolo di BBDM, se non è un client BACNET.E' necessario caricare nel gateway un file denominato bdt.ini. Questo file memorizza tutti gli indirizzi IP dei BBDM sulla rete. Tutti i BBDM sulla rete utilizzano lo stesso file.
La porta utilizzata per la connessione BACNET è per default 47808. Questa porta può anche essere modificata mediante un parametro. Il gateway è in grado di gestire il priority array (16 livelli di priorità) con cui il client BACNET ha scritto il valore sulle sue uscite.
Gestisce anche il COV (Change of Value) quando opera come BACNET Server. Gli oggetti che supportano i COV sono AI,DI,AO, DO. Sono supportate sottoscrizioni confermate e nn confermate.
Esistono diverse tipologie di BACNET in base al livello fisico utilizzato, differenti tra loro a livello trasporto del modello ISO/OSI:
- BACnet PTP: Connessione Punto-Punto RS-232
- BACnet MSTP: Connessione RS485 Token Passing
- BACnet ARCnet: Connessione ARCnet (obsoleto)
- BACnet Ethernet: Connessione Ethernet basata su MAC address
- BACnet I/P: Connessione Ethernet basata dsu indirizzo IP
La variante più utilizzata è basata su datalink Ethernet e viene indicata con la sigla BACNET I/P (Annex J).
I nostri prodotti coprono alcune di queste tipologie:
- gateway tra protocollo BACNET I/P e altri protocolli: vedi sezione gateway.
- gateway tra protocollo BACNET MSTP e altri protocolli: vedi sezione gateway.
Gateway BACnet
Il gateway BACnet può agire come Server e come Client. Tutte le informazioni in un sistema BACnet sono rappresentate in forma di oggetti.
- Object_Type è un codice a 32-bit che identifica il tipo di oggetto ed il suo numero di istanza, insieme identificano in maniera univoca l'oggetto nel dispositivo BACnet. Teoricamente, un dispositivo BACnet potrebbe avere più di quattro milioni di oggetti di un tipo particolare.
- Object_Name è una stringa di testo, che ha un unico scopo: i dispositivi BACnet possono inviare ricerche broadcast agli altri dispositivi per verificare se contengono un oggetto che ha uno specifico Object_Name. Questo semplifica in maniera notevole la progettazione dei gateway.
- BACnet richiede che Device_Object sia presente in ogni dispositivo BACnet. Il Device_Object rende disponibile agli altri dispositivi sulla rete le informazioni relative al dispositivo e alle sue funzionalità. Prima che un dispositivo BACnet dia avvio alla comunicazione con un altro dispositivo, deve ottenere alcune informazioni presenti nel Device_Object dell'altro dispositivo.
A differenza degli altri oggetti, il numero di istanza del Device_Object deve essere unico sull'intera rete BACnet, essendo utilizzato per identificare il dispositivo. - Gli oggetti di tipo Standard sono usati per memorizzare i dati real-time e altre informazioni. Ogni tipo di oggetto è referenziato da un numero, ad esempio il numero 0 rappresenta un Analog Input.
- Ogni oggetto è formato da un numero di proprietà, la proprietà principale è il Present_Value.
Gli oggetti sono monitorati e controllati attraverso le loro proprietà.
Rete BACNET MSTP
Il bus BACNET MSTP è composto da un dominio di collisione logica che accetta fino a 128 dispositivi o nodi.
Il protocollo MSTP usa il protocollo token passing per decidere l'accesso delle stazioni al bus. Quella che ha il token (gettone) è l'unica che in quel momento può iniziare una richiesta, tutte le altre stazioni devono ascoltare e solo quella interrogata può rispondere prima che scada il periodo di timeout.
Solo i nodi master possono avere il gettone,per gli slave non è possibile. La maggior parte dei nodi sul mercato sono master dato che la differenza di costo tra un master ed uno slave in termini economici e uso di risorse di memoria è minima.
I nodi master possono iniziare e quindi possibile condividere punti tra loro in quella che viene chiamata connessione peer-peer attraverso un collegamento statico o dinamico.
Anche se in pratica è possibile avere 128 dispositivi sullo stessa linea, le performance subiscono un notevole degrado ed è quindi conveniente non usare più di 32 dispositivi sulla stessa linea.
Il protocollo è caratterizzato da quelli che vengono indicati come "servizi" e per confrontare dispositivi diversi è necessario verificare quali servizi mettono a disposizione. Come in latri protocolli in BACNET i punti possono essere richiesti a polling dai nodi, ma un polling costante consuma la banda disponibile per la comunicazione. Per evitare questo problema il protocollo BACNET mette a disposizione un servizio "change of value"; un nodo client del servizio sottoscrive in un nodo server l'informazione da ottenere quando il valore del punto cambia. Quindi quando il punto cambia il server notifica al nodo client e il client può raccogliere il nuovo valore del punto.
Per avere una comunicazione affidabile conviene seguire le seguenti indicazioni:
- Dividere il dominio di collisione dove possibile per avere domini di collisione multipli aggiungendo mstp routers o ip masters (building controller o Bacnet router).
- Dove possibile non superare i 32 dispositivi sulla stessa linea.
- Installazione corretta dei cavi, corretta impostazione degli indirizzi e dei parametri di configurazione
- Scegliere nodi mstp & ip masters che hanno il servizio COV, questo migliora i tempi di risposta dei nodi.
E' importante sottolineare la confusione che può generare la terminologia master/slave e client/server nel caso di reti BACnet MS/TP. Questo è dovuto alla natura della rete BACnet MS/TP che è sostanzialmente basata su due protocolli di comunicazione sovrapposti. Il protocollo a livello OSI dati è il protocollo MS/TP che si occupa dell'arbitraggio sul bus RS-485. Il protocollo a livello applicazione è il protocollo BACnet. Quando si indica che un dispositivo BACnet MS/TP è un master, significa che è master a livello MS/TP. Il master MS/TP partecipa in maniera attiva all'arbitraggio con il passaggio del token sul bus. Gli slave MS/TP non partecipano al passaggio del gettone. E' abbastanza raro trovare un dispositivo MS/TP slave.A livello BACNET, sono presenti dispositivi client e server. I client BACnet inviano le richieste ai server BACnet per leggere e scrivere i valori.
Gateway BACnet MSTP
Sulle reti BACNET MS/TP si possono utilizzare due modalità di indirizzamento: attraverso MAC address oppure attraverso device ID. Il Protonode supporta entrambe le modalità.
Su una rete MSTP possono essere presenti più master contemporaneamente, i quali prendono il comando della rete attraverso il passaggio di un gettone.
Settando il MAC address del master basso, è possibile settare il parametro MAX MASTER della rete basso, riducendo in questo modo al minimo l'overhead.
Ciascun gateway Protonode può ospitare più dispositivi virtuali al suo interno, offrendo così una suddivisione logica delle variabili ed una rappresentazione, lato BACnet, più simile alla realtà presente sul lato dell'altro protocollo.
Dispositivi Virtuali su BACnet MSTP
Gateway ETHERNET
Il protocollo utilizza in questo caso il MAC address per la comunicazione su Ethernet.
Tutti i dispositivi in questo caso devono trovarsi nella stessa sottorete.
BACNET ETHERNET e BACNET IP utilizzando una modalità diversa di indirizzamento, sono tra di loro non compatibili.
Gateway BACNET IP
Il protocollo utilizza in questo caso indirizzo IP per la comunicazione su Ethernet.
Il protocollo lavora a livello Data Link Layer e quindi può operare anche su reti di livello 3. Consente la comunicazione tra dispositivi collocati su diverse sottoreti, ma è necessario utilizzare BBMD (BACnet Broadcast Management Device).
BACNET utilizza pesantemenete la comunicazione di tipo broadcast e questo non è molto adatto a comunicazioni che coinvolgono diverse sottoreti.
La cosa viene risolta utilizzando un BBDM in ciascuna sottorete. Il BBDM riceve i messaggi broadcast e li distribuisce a BBDM di altre sottoreti con un messaggio diretto. Il gateway è in grado di svolgere il ruolo di BBDM, se non è un client BACNET.E' necessario caricare nel gateway un file denominato bdt.ini. Questo file memorizza tutti gli indirizzi IP dei BBDM sulla rete. Tutti i BBDM sulla rete utilizzano lo stesso file.
La porta utilizzata per la connessione BACNET è per default 47808. Questa porta può anche essere modificata mediante un parametro. Il gateway è in grado di gestire il priority array (16 livelli di priorità) con cui il client BACNET ha scritto il valore sulle sue uscite.
Gestisce anche il COV (Change of Value) quando opera come BACNET Server. Gli oggetti che supportano i COV sono AI,DI,AO, DO. Sono supportate sottoscrizioni confermate e nn confermate.
Marcom S.r.l.
via della Metallurgia, 11
37139 - Verona (VR)
L\'Argomento è stato bloccato.