Jste zde

Úvod do BACnetu - Building Automation and Controls Network

Mezi doposud spíše méně známou, ale přesto již několik let etablovanou komunikační technologií, hlavně pro automatizaci budov, patří BACnet. Dá se říct, že zjednodušeně a v souhrnu  se BACnet sestává ze specifikace struktury BACnet objektu, služeb pracujících s objekty, protokolu síťové vrstvy definující přenos a směrování zpráv a fyzické síťové přenosové technologie, kde se však využívá některé ze stávajících technologií, obvykle však IP LAN nebo RS-485.

K čemu se BACnet hodí?

Komunikační sběrnice BACnet byla vytvořena tak, že specifikuje většinu nejvíce využívaných funkcí, jakými jsou analogové hodnoty a dvoustavové vstupy a výstupy, ovládání, plánování atd, tedy většinu vlastností monitorování a řízení systémů a aplikací. Hlavně se tedy hodí pro zajištění automatizace, řízení a komunikaci budov a je proto založena na objektové reprezentaci a organizaci fyzických vstupů a výstupů, stejně jako na nefyzickém konceptu jakým je software. Objekty mohou reprezentovat každý jeden fyzický bod nebo skupinu bodu, které společně vytvářejí či reprezentují jednu specifickou funkci. Každý objekt splňuje definované požadavky, čímž umožňuje spoluvytvářet síť mnoha propojených objektů nezávisle na zařízení, systému či aplikaci, které fyzicky přísluší. 

Vhodné aplikace pro BACnet:

  • řízení HVAC
  • detekce a hlášení požárů
  • řízení osvětlení
  • zabezpečovací a hlídací systémy
  • „inteligentní“ výtahy
  • řídící rozhraní zařízení.

 

BACnet je pak od roku 2003 evropským standardem v rámci CEN (Committee for European Standardization) pod označením ISO 16484-5.

BACnet sám o sobě není klasickou kompletní komunikační sběrnicí, ale dá se říct kontroluje jen vyšší vrstvy komunikačního modelu a na nižší úrovni využívá stávající komunikační systémy jako například TCP/IP či RS-485.

BACnet komunikační síť se obvykle skládá z následujících jednotek:

  • pracovní stanice (workstations)
  • kontroléry (controllers)
  • brány (gateways)
  • směrovače (routers)
  • diagnostické nástroje

 

Příklady a možnosti BACnet komunikace a řízení (obr. vlevo) a struktura celého protokolu BACnet, která je založena na definování struktury reprezentace BACnet zařízení / objektů (Objects), služeb určujících práci s objekty (Services) a přenosového systému (obr. vpravo).

BACnet objekty

Jednotlivá zařízení, přístroje, jednotky a snímače jsou v síti BACnet vždy reprezentovány jedním či skupinou tzv. BACnet objektů. Každý je pak charakterizován nastavením vlastností, které popisují jeho chování a řídí jejich provoz.

Všechny objekty BACnetu poskytují sadu vlastností, které se využívají pro organizaci, poskytování a získávání informací o daném objektu a řízení objektu. Objekt si můžete představit jako tabulku se dvěma sloupci, kde nalevo jsou jména jednotlivých informačních položek a napravo údaj jejich o vlastnosti či hodnotě.

Jednotlivé BACnet objekty představují jednotlivé vlastnosti a parametry zařízení, obsahují název, typ a pak ovládací proměnné nebo naměřené hodnoty. Zde například BACnet objekt snímače teploty.

Zatímco některé položky jsou určeny pouze pro čtení, to znamená, že se lze na ně podívat, ale nelze je měnit, některé umožňují zápis / změnu stavu či hodnoty. Například si můžeme představit objekt reprezentující teplotní čidlo, tedy jde o objet typu analogový vstup („BACnet Analog Input Objekt“). Objekt se například jmenuje „Space TEMP“ a tedy reprezentuje typ „ANALOG OBJEKT“. Položka „Present_Value“ obsahuje informaci o aktuální teplotě ve °C. Další položky mohou obsahovat další dodatečné informace, jako například o provozním stavu, překročení či podtečení zadaného limitu pro potřeby alarmu apod. 

Ačkoliv by určitě šlo vymyslet tisíce různých definicí struktur objektů, BACnet definuje kolekci 23 různých standardních typů objektů:

Základní definované typy objektů v protokolu BACnet.

To jsou takové objekty, jejichž chování je přesně standardem definované a tedy srozumitelné a snadno dekódovatelné pro další aplikace. Tato sada objektů pak reprezentuje většinu parametrů, informací a funkcí typicky vyžadovaných v oblasti automatizace a řízení systémů budov. Zařízení využívající BACnet pouze vyžadují implementovat „Device object“ (objekt zařízení). Další objekty jsou vytvářeny podle potřeby funkcí zařízení. „BACnet zařízení“ je jednoduše řečeno skupinou BACnet objektů reprezentující jednotlivé funkce a vlastnosti celého reálného zařízení. Například typické BACnet zařízení  (BACnet Device) může obsahovat 16 objektů dvoustavových vstupů a výstupů (BI / BO objects), 2 až 3 objekty plánování (Schedule objects) atd.

BACnet zařízení pak tvoří skupina různých BACnet objektů, které v celku charakterizují všechny jeho vlastnosti a schopnosti.

BACnet služby

Dále je nutné definovat „příkazy“ umožňují práci s objekty ve smyslu jejich obsluhy, přesněji řečeno definují, jaké může BACnet jednotka komunikující s jinou BACnet jednotkou po ní požadovat informace a úkony.  Prakticky tedy jde o příkazy, které ve formě zpráv vysílá jedno BACnet zařízení druhému a tím mu definuje, co od něj požaduje a co má udělat. Protože BACnet je založen na komunikačním modelu „Klient-Server“, jsou zprávy zde nazývány službami (services), které jsou vysílány serverem k jemu příslušným klientům.

Jednotlivé „aplikační služby“ jsou pro přehlednost podlé své funkce rozděleny do několika skupin (tříd):

  • Služby hlášení (Alarmů) a událostí (Events)
  • Služby přístupu k souborům (File Access Services)
  • Služby přístupu k objektům (Object Access Services)
  • Služby vzdálené správy zařízení (Remote Device Management Services)
  • Služby virtuálního terminálu

Mezi nejvyužívanější například patří služby přístupu k položkám objektů, protože umožňují jednoduché či vícenásobné čtení a zápis jeho dat (informací / položek objektu) a spravovat chování objektů (zakládat objekty, rušit, přidávat či ubírat položky apod.). Jejich jména pak stručně popisují jejich funkci.

Například služba „ReadProperty“ je zprávou obsahující / přenášející objekt a vlastnosti položek, které přesně identifikují, které vlastnosti objektu se mají přečíst a zaslat zpět. Zpráva je vždy vysílána ve specifické formě (recipient) a vrácena ve standardní formě.

BACnet komunikace

Další důležitou částí každé komunikační technologie je samotný systém vzájemného předávání zpráv mezi jednotlivými objekty. V tomto směru BACnet ve většině případů využívá již existujících komunikačních / přenosových protokolů. Jejich sada specifikovaná v BACnetu byla zvolena z důvodu toho, že splňuje celosvětové požadavky řízení a automatizace budov ve smyslu rychlosti, propustnosti, ceny, uživatelského přístupu atd. Jsou jimi hlavně Ethernet, ARCNET a LongTalk, což jsou zcela soběstačné LAN systémy, vyžadující jen minimální práci se specifikací, jak mají být BACnet zprávy přenášeny.

Pro základní EIA-485 přenos nebo vytáčené připojení byl vyvinut vlastní BACnet „Master-Slave/Token-Passing“ protokol, resp. „Point-to-Point“ protokol. Dále pak vznikl i vlastní protokol zvaný BACnet/IP, určený nejen pro přenos BACnet zpráv mezi jednotlivými zařízeními využívající IP komunikaci, ale také pro snadnou „vestavbu“ dalších technologií bez nutnosti změn samotné BACnet technologie.

Základní BACnet zajišťuje komunikaci pouze v komunikační síti obsahující pouze zařízení podporující BACnet.

Základní BACnet sítě v sobě zahrnují pouze zařízení, které BACnet podporují. Přičemž zařízení mohou být propojena s využitím i jiných LAN komunikačních technologií. Proto stále více vývojářů uvažuje nahradit své speciální protokoly BACnetem. Co tedy dělat, jestliže máme nějaká BACnet zařízení připojená na Ethernet či ARCNET společně i s dalšími „neBACnet“ zařízeními či například existují dvě oddělené ARCNET sítě?

Routery slouží jako rozhraní mezi různými typy přenosových BACnet sítí, tedy jako převodníky mezi různými systémy přenosu zpráv. Všechny vzájemně propojené sítě však obsahují pouze zařízení podporující BACnet protokol.

BACnet toto řeší unikátně prostřednictvím „číslování sítí“, které spolu s mechanismem přenášení zpráv z jedné sítě do druhé řeší tzv. protokol síťové vrstvy (network layer protocol) tak, jak je definována v OSI modelu dle standardu ISO 7498 (ISO Open Systems Interconnection Basic Reference Model). Dva směrovače (Anex H routers) s implementovaným síťovým protokolem BACnet umožňují komunikovat zařízením na dvou oddělených sítích. Zprávy mezi sítěmi ARCNET a MS/TP LAN takto skrze oba routery například prochází přes mezi ně vložený segment tvořený ethernetem.

BACnet brány (BACnet Gateways) slouží k  "překladu" komunikačního formátu BACnetu zařízení na komunikační formát sítě a zařízení nepodporující BACnet.

V případě přístupu do vnější sítě typu internet s využitím brány (Gateway) je pak řešení obtížnější. Brány totiž musí být „vícejazykové“ a současně obousměrné. BACnet zprávy pak mohou „cestovat“ přes sítě využívající IP protokoly jako síťový protokol.

V tomto směru se u BACnetu konkrétně využívají dva odlišné přístupy, jak „tunelovat“ komunikaci přes IP internet:

  • IP tunelování zprávy – BACnet zařízení neví, nebo nepotřebuje vědět nic o IP komunikaci.
  • BACnet/IP protokol -  BACnet zařízení je plně kompatibilní IP komunikační uzel s vlastní IP adresou a IP protocol stackem.

 

V prvním případě tzv. „IP tunelování“ zařízení A na síti 1 adresuje zprávu do zařízení B na síti 2 s využitím síťové vrstvy BACnet protokolu. Vysílá zprávu na směrovač (Annex H router) napojený na lokální sběrnici zařízení A. Router ví, jak vysílat IP zprávy přes Internet (nebo Ethernet) k zařízení na síti 2. Prostě jen zapouzdří BACnet zprávu do datagramu rámce IP protokolu a vyšle jej přes IP síť do sítě 2.  Jak síť 1, tak síť 2 jsou vzájemně propojeny přes standardní IP směrovače k internetu. Když přes směrovač H síť 2 přijme IP packet, vyjme zapouzdřenou BACnet zprávu a již dle BACnet standardu ji standardně doručí k zařízení B.

V režimu tzv. IP tunelování se prostě jen BACnet zpráva ze sítě "Net 1" v routeru zapouzdří jako data do formátu packetu sítě, kudy má projít (zde například klasický internet). Následně na druhé straně při přechodu do BACnet sítě "Net2" se opět "rozpouzdří".

BACnet/IP

Naopak s technologií BACnet/IP se zařízení přímo stává součástí IP sítě a má svou IP adresu stejného formátu jako jiná IP „neBACnet“ zařízení. Odlišnost je v tom, že zde zároveň vykonává i podobnou funkci, jako MAC nebo fyzická LAN adresa a v čistě BACnet sítích pak přenos informací řídí BACnet protokol síťové vrstvy.

Technologie BACnet/IP umožňuje přímé napojení a komunikaci BACnet zařízení po klasické TCP/IP LAN sítě (ethernet, internet). Platí to ale pouze pro zprávy s přesně definovanou jednou adresou koncového příjemce (tzv. Unicast messages).

Aby ale i přesto bylo možné používat všechny IP funkce, BACnet definuje tzv. virtuální linkovou vrstvou (BACnet Virtual Link Layer) označovanou také jako BVLL. Ta poskytuje sadu mechanismů sloužící k šíření broadcast zpráv mezi IP sítěmi. BVLL lze také relativně snadno rozšířit na jiné další síťové protokoly nebo „mikroprotokoly“, které představují sadu pravidel poskytující přidanou hodnotu, jako šifrování nebo kompresy přenášených dat v paketech. Tedy s minimálními náklady lze "dovyvinout" například přímý přenos  přes ATM sítě (Asynchronous Transfer Mode), SONET (Synchronous Optical Networks), Frame Relay networks apod. bez nutnosti „sáhnutí“ na stávající BACnet aplikace a protokol síťové vrstvy.      

V případě, že BACnet zařízení vysílá "všesměrové" broadcast zprávy je pak nutné využít tzv. BBMD zařízení (BACnet Broadcast Management Device), kterému jsou broadcast zprávy adresovány a následně je v dané BACnet síti rozesílá všem jednotkám.

BACnet/IP zařízení nepotřebuje routery a může komunikovat s každým dalším přímo přes internet. Háček je pouze v tom, že IP směrovače normálně neumožňují šíření broadcast zpráv, tj. zpráv  týkající se všech zařízení na interní BACnet síti. Proto vznikl tzv. BBMD (BACnet Broadcast Management Device). BBMD se chová podobně jako výše uvedené Anex H routery s výjimkou toho, že teď je využíván pouze pro přenos broadcast IP zpráv. Protože ty jsou v BACnetu využívány jen velmi málo, jejich přenos nezpůsobuje žádné problémy.

Navíc prostřednictvím mechanismu tzv. registrace cizího zařízení (foreign device registration) lze přistupovat k BACnet síti vzdáleně odkudkoliv přes telefonní spojení. Registrací s BBMD se  libovolná cizí stanice stává členem BACnet/IP sítě a bude přijímat rozesílané broadcast zprávy z BBMD, když jsou dosažitelné a mohou žádat, aby zprávy byly šířeny pomocí BBMD. Bez registrace sice cizí zařízená mohou přímo komunikovat s jakýmkoliv BACnet zařízením, ale budou pouze přijímat broadcast zprávy, jestliže je procedura registrace dovolena.

Prostřednictvím "přihlášení cizích zařízení" je možné do BACnet sítě připojit vzdálené zařízení, které není přímo napojeno do žádné BACnet sítě. Toho lze dobře využít například při vzdálené správě zařízení a sítě.  

Závěr

Komunikační protokol a standard BACnet představuje zajímavý moderní přístup k realizaci univerzální komunikace „chytrých“ zařízení tím, že je dost komplexní a umožňuje provozovat komunikaci současně v rámci i jiných stávajících komunikačních sítí. Zvláště s ohledem na primární zaměření na automatizace budov je možnost sdílet komunikaci po ethernetu a internetu (IP komunikace) velmi výhodná. Bohužel v mnoha ohledech tak, jak je BACnet definován, je na realizaci v zařízeních dost složitý.

V tomto článku jsem se pokusil stručně nastínit jen základní filozofii BACnetu. V některém z dalších článků bych se pak pokusil více přiblížit samotnou strukturu komunikace, formát zpráv, řízení přenosu, adresování apod.

 

Odkazy

Hodnocení článku: