Reklama

Standard sítě pro automatizaci v budovách BACnet – část 1: základy, sítě a objekty


Příklad budovy řízené BACnetem: Frankfurt Theodor Heuss Allee 100, autor: Epizentrum (Creative Commons Attribution-Share Alike)

Ve dvoudílném seriálu představíme pokročilý standard komunikace automatizačních prostředků v budovách, který získává na popularitě a nyní dominuje novým projektům ve světě. BACnet představuje pokročilý standard komunikace automatizačních prostředků v budovách. V této první části dvoudílného seriálu je uveden popis podporovaných sítí a objektový model. V navazující druhé části bude popsán systém služeb a nástroje zajištění interoperability zařízení různých výrobců.

Reklama

Úvod

Building Automation and Control network (BACnet) je síťový protokol zvlášť navržený pro potřeby automatizace a řízení technologií budov. K typickým aplikacím patří: vytápění, větrání, klimatizace, osvětlení, řízení přístupu a systémy požární detekce. Poskytuje standardizovaný rámec pro organizaci a sdílení informací mezi síťově propojenými řídícími prostředky [1, 2]. Interoperabilita je zajištěna pomocí objektového modelu informačních prvků a jejich vlastností a přidružených služeb. Flexibilitu poskytuje řada podporovaných typů síťové infrastruktury od sériové linky po Ethernet a internetové propojení. BACnet však nezaručuje záměnnost zařízení různých výrobců a každý kontrolér či jiný produkt může vyžadovat specifické programovací a konfigurační nástroje daného výrobce.

Historie

BACnet byl původně vyvinut v roce 1987 pod záštitou americké profesní organizace inženýrů ve vzduchotechnice American Society of Heating, Refrigerating and Air-Conditioning Engineers (ASHRAE) jako standard č. 135 – nyní ho spravuje BACnet commitee (logo viz Obr. 1). Následné revize standard dále rozvinuly a zdokonalily a od roku 1995 je přijat jako americký národní standard (ANSI/ASHRAE 135) a od roku 2003 jako mezinárodní standard International Organization for Standardization (ISO 16484-5). Aktuální (tj. červen 2025) verze standardu jsou ASHRAE 135-2020 a ISO 16484-5:2022 (přijetí nové verze ISO je anoncováno v horizontu měsíců).

Obr. 1: BACnet logo (zdroj: [3])
Obr. 1: BACnet logo (zdroj: [3])
 

Doprovodné standardy ASHRAE 135.1-2023, resp. ISO 16484-6:2020 popisují metodiku testování shody produktů se standardem.

O úspěšné šíření standardu se snaží organizace BACnet International, The BACnet Institute, BACnet Interest Group-Europe a další.

BACnet Testing Labs (BTL) – certifikace produktů

Obr. 2: Ochranná známka BTL (zdroj: [4])
Obr. 2: Ochranná známka BTL (zdroj: [4])

Pro správnou funkci systému je žádoucí, aby všechny součásti odpovídaly standardu. Certifikaci nový produktů různých výrobců zajišťuje organizace BACnet Testing Labs (BTL), která spolupracuje s několika akreditovanými testovacími pracovišti v USA, Německu a Koreji (nám geograficky nejbližší je TÜV SÜD v Mnichově). Po úspěšném absolvování předepsané sady standardních testů na shodu a interoperabilitu může výrobce zažádat o certifikaci u BTL. Ta má tři části: BTL Listing (uvedení na seznamu ověřených produktů), BTL certifikát (vyžadovaný v některých evropských zemích) a BTL známka (ochranná známka, jejíž užití je striktně regulováno), viz Obr. 2.

Platnost uvedení na seznamu je 15–25 let podle typu produktu (navíc může být požadována aktualizace produktu na novější verzi standardu) a s udržováním produktu na seznamu se pojí poplatky. Platnost certifikátu je 5 let [5].

Síťový model BACnetu

V porovnání s klasickým sedmivrstvým modelem ISO/Open Systems Interconnection (ISO/OSI) BACnet používá redukovanou strukturu čtyř vrstev (ostatně podobně jako mnoho jiných síťových standardů, včetně klasického internetu). V BACnetu jsou to postupně vrstvy fyzická, linková a síťová, přičemž některé funkce transportní, relační, prezentační a aplikační jsou integrovány do jedné komplexní BACnet aplikační vrstvy – viz Obr. 3.

Obr. 3: Vrstvy síťového modelu BACnet (podle [6])
Obr. 3: Vrstvy síťového modelu BACnet (podle [6])

V původním standardu byly definovány tehdy populární sítě: ARCnet, IEEE-802.3 (tj. Ethernet), pro BACnet specifický protokol Point-to-Point (PTP) pro vzdálený přístup modemem nebo po sériové lince EIA-232, konkurenční LonTalk (který dokáže poskytnou službu přenosu rámce cizího protokolu) a nový, pro BACnet specifický režim Master-Slave/Token-Passing (MS/TP) po odolné průmyslové sériové lince EIA-485. BACnet tyto spodní vrstvy (fyzickou + síťovou) poněkud zjednodušujícím a zavádějícím způsobem nazývá Medium Access Control (MAC) vrstvy [7], což se odchyluje od běžného použití tohoto výrazu v terminologii sítí.

V současnosti většina instalací používá MS/TP (typicky pro koncové stupně řízení a komunikaci se zařízeními jako senzory a akční členy-aktuátory) nebo BACnet/IP (pro páteřní propojení, vyšší úrovně řízení a komunikaci mezi kontroléry atp.).

MS/TP je velmi rozšířená varianta sítě, populární pro relativně nízkou cenu a podporu dlouhých drátových vedení (až km). Je obvyklé provozovat síť pouze s uzly typu Master, ačkoliv na stejném segmentu se mohou vyskytovat i uzly typu Slave. (Pouze uzly typu Master mohou zahájit komunikaci, uzly typu Slave pasivně čekají na dotazy/příkazy.) Počet uzlů v segmentu se doporučuje omezit na max. 32. Nevýhodou je nižší rychlost max. 76.8 (resp. 115.2) kbit/s a k nižšímu výkonu přispívá i poměrně málo efektivní řízení přístupu k médiu metodou cyklického předávání žezla, Token-Passing, (TP). (Podle odhadu [2] až 95 % provozu padne na režii sítě spojenou s TP.)

BACnet/IP je varianta BACnetu, která využívá nástroje populárních internetových technologií User Datagram Protocol (UDP) a Internet protocol (IP), které jsou běžné v podnikových sítích spravovaných oddělením informačních technologií (IT). Ačkoliv UDP a IP jsou v obvyklém pohledu vnímány jako transportní a síťová vrstva ISO/OSI, zde tvoří tzv. BACnet Virtual Link Layer (BVLL) [7]. Takové uspořádání umožnuje propojování BACnet podsítí i přes mezilehlou (intranet/internet) IP síť, využití přenosu po Wi-Fi atd.

Jistou komplikací v síti BACnet/IP je to, že přenos BACnet zpráv určených všem posluchačům (tzv. broadcast) v prostředí běžných IP směrovačů není podporován. Takové BACnet zprávy by se pak šířily jen v podsíti odesilatele a IP směrovače by je nepředávaly dál. Standard BACnet to řeší pomocí tzv. BACnet Broadcast Management Devices (BBMDs), což je fyzické zařízení nebo jen software v připojeném počítači, který dokáže zachytit broadcastovou zprávu, zabalit ji do UDP/IP datagramu a na základě předkonfigurované distribuční tabulky ji odeslat všem známým protějškům (tj. jiným BBMDs) v jiných segmentech sítě. Tam je původní zpráva rozbalena a odeslána znovu jako broadcast všem posluchačům v tamní podsíti.

Tam, kde by instalace BBMD nebyla ekonomická (v podsíti je jediný BACnet/IP uzel), je možné využít službu „registrace cizího zařízení“ (Foreign Device Registration). Pak stačí, aby bylo zařízení (např. počítač pro vzdálený dohled nad BACnet-em) zaregistrováno u jedné z BBMDs, která ho zahrne do „distribučního seznamu“ a může se účastnit odesílání a příjmu broadcastů.

(Tyto broadcasty jsou důležité, protože je využívají mimo jiné např. služby pro prohledávání sítě a objevování a začleňování nových uzlů – Discovery.)

Informační bezpečnost v sítích BACnet/IP je obvykle řešena pomocí nástrojů jako je virtuální soukromá síť, Virtual Private Network (VPN) a virtuální lokální síť, Virtual Local Area Network (VLAN).

Relativně novými přírůstky do množiny podporovaných protokolů („MAC vrstev“) je přenos pomocí bezdrátové sítě BACnet/ZigBee Data Link Layer (BZLL) [8] a BACnet/Secure Connect (SC) zohledňující potřeby kyberbezpečnosti s využitím protokolů Transmission Control Protocol / Internet/Protocol (TCP/IP) a Transport Layer Security (TLS) dobře známých v prostředí IT.

Zatímco BACnet/IP používá nepotvrzovaný transportní protokol UDP, BACnet/SC staví na potvrzovaném transportním protokolu TCP. BACnet/SC navíc používá šifrovanou komunikaci a autentizaci zařízení pomocí protokolů TLS a digitálních certifikátů, lépe podporuje dynamické přidělování adres běžné v IT prostředí a dokáže se obejít bez použití BBMDs, které jsou nutné v rozsáhlejších BACnet/IP sítích [9]. Místo toho BACnet/SC používá centrální uzel (tzv. Primary Hub) a případný záložní uzel (Failover Hub), jehož účelem je přeposílání zabezpečených a autentizovaných zpráv (včetně broadcastů) mezi BACnet/SC zařízeními. Také je tolerantní vůči změnám topologie sítě a snadno spolupracuje s firewallem. To vše činí BACnet/SC lépe včlenitelný do správy firemního IT oddělení. Starší vybavení jako jsou existující podsítě BACnet/IP nebo MS/TP může být i nadále připojeno pomocí směrovačů (routerů) SC-IP a SC-MS/TP. V ideálním případě by veškeré vybavení bylo postupně nahrazeno uzly podporujícími BACnet/SC a v takovém uspořádání by byla síť chráněna dokonce i před útočníkem s fyzickým přístupem ze vnitřku budovy. Ve většině aplikací však plně postačuje zabezpečení vnějšího okraje sítě (tj. v místě připojení k veřejnému internetu). Primární (a záložní) uzel mohou být součástí vnitřní sítě za firewallem, nebo dokonce být v cloudu [10, 11].

Bez ohledu na typ použité tzv. „MAC vrstvy“, navazující síťová vrstva (BACnet Network layer) spravuje směrování zpráv a adresaci jednotlivých zdrojových a cílových uzlů pomocí kombinace 16bitové adresy podsítě (segmentu) a MAC adresy uzlu. Obsah a velikost obsažených adresních údajů není fixní a mění se i během předávání zprávy mezi směrovači a uzly sítě tak, že jsou obsaženy pouze nezbytné údaje. Síťová vrstva zároveň definuje čtyři jednoduché stupně priority pro doručování obyčejných nebo kriticky důležitých zpráv [1].

Lokální BACnet síť může být homogenní (např. výhradně MS/TP). Rozsáhlejší BACnet síť složená z více segmentů bývá propojena směrovači (routery), které mohou propojovat i různé typy BACnetu (např. MS/TP – Ethernet – BACnet/IP). Předávané informace však zůstávají zapouzdřeny ve strukturách protokolu BACnet.

Při propojení s odlišným typem sítě (např. BACnet/IP - Modbus) je nutné využít bránu (gateway), která musí převzít a interpretovat přenášené údaje a znovu je zapouzdřit v odlišné struktuře srozumitelné pro cílovou síť.

Struktura aplikační vrstvy

BACnet používá objektový model, který pracuje s různými objekty (Object) a jejich vlastnostmi (Property) a službami (Service), které s objekty manipulují. Objekty mohou reprezentovat fyzické vstupy a výstupy, ale i abstraktnější koncepty jako záznam událostí (Event log), plán (Schedule), kalendář (Calendar), atd. Každé fyzické zařízení (kontrolér, operátorský panel, senzor, aktuátor, …) a jeho různé funkce jsou reprezentovány sadou objektů různého typu.

Každé zařízení nutně bude obsahovat jeden objekt typu Device, který logicky reprezentuje zařízení v síti (např. pro účely objevení nového zařízení v síti – tzv. Discovery a dynamické konfigurace sítě). Objekt typu Device musí mít v celé síti unikátní číslo instance a vlastnost Object_name. Objekt typu Device také obsahuje seznam všech objektů (vlastnost Object_List) obsažených v zařízení (včetně sebe sama). Kromě objektu Device zařízení může obsahovat různý počet dalších typů objektů jako Analog Input, Binary Output, Calendar, atd. Čísla instancí těchto dalších objektů musí být unikátní jen v rámci jednoho zařízení. Jejich číselné označení instancí může, ale nemusí vždy být spojitě postupné (např. Analog Input 1, Analog Input 2, Analog Input 101, Analog Input 102, Binary Input 1, Binary Output 201, …).

Objektový model

Verze BACnet z roku 2004 definovala 25 standardních typů objektů a počet podporovaných typů objektů se postupně rozšiřuje – aktuálně je dle standardu ISO 16484-5:2022 definováno 62 typů objektů. Část seznamu standardních typů objektů je pro ilustraci uvedena v Tab. 1.

Tab. 1: standardní typy objektů (výběr)
Typ objektuKomentář
Analog Inputanalogové vstupy (např. hodnota ze senzoru – skutečná teplota)
Analog Outputanalogové výstupy (např. hodnota pro aktuátor – poloha regulační klapky)
Analog Valuehodnota v paměti kontroléru (např. žádaná hodnota teploty)
Binary Inputbinární vstup (stav kontaktu)
Binary Outputbinární výstup (ovládání spínače)
Binary Valuehodnota v paměti kontroléru (např. volba lokální/vzdálené ovládání)
Multi-state Inputvstup/výstup/hodnota nabývající jedné z předdefinovaných hodnot
Multi-state Output
Multi-state Value
Devicelogická reprezentace zařízení v síti (povinný objekt)
Accumulatorpočitadlo impulsů se škálováním (např. z měřičů odběru médií)
Pulse Converterpřevod počtu impulsů na fyzikální jednotky (např. kWh)
Averagingprůměrování zvolené hodnoty v klouzavém časovém okně
Commandzapíše seznam různých hodnot do různých vlastností různých objektů
Loopreprezentuje PID regulátor (zpětnovazební smyčka)
Calendarindikuje, zda dnešek spadá do seznamu uživatelem definovaných dnů (např. svátků)
Scheduleaplikuje podle aktuálního dne v týdnu a času seznam přednastavených hodnot
Trend Logperiodicky shromažďuje data ze zvoleného objektu (ve stejném nebo jiném Device)
Trend Log Multiple(i více hodnot z více zdrojů se společnou časovou osou)
Access Pointsada objektů pro řízení přístupu do vyhrazených prostorů (např. pomocí el. klíče), přidělení a správa práv přístupu osobám
Access Zone
Access User
Access Rights
Access Credential
Access Door
Credential Data Input
Life Safety Pointbezpečnostní prvky se specifickým chováním – např. vyžadují reset (požární detektory)
Life Safety Zoneuskupení bezpečnostních prvků (např. kterýkoliv požární detektor -> celá zóna ohrožena)
Channelhromadné ovládání [12]
Lighting Outputsada objektů pro řízení světel (stmívání, hromadné ovládání, varovné blikání, …)
Binary Lighting Output
Filesoubor organizovaný po záznamech nebo po bajtech
Event Enrollmentzpracování a hlášení událostí a alarmů
Notification Classspravuje seznam adresátů hlášení (s podmínkami jako rozsah hodin a den v týdnu)
Event Logshromažďuje záznamy o událostech pro pozdější vyčtení
Groupudržuje seznam vlastností různých objektů, jejichž hodnoty lze vyčíst naráz
Global Group(i pro objekty z různých Device-s)

Vlastnosti – Properties

Standardní objekty mají předepsané povinné a volitelné vlastnosti, kterých je několik set druhů. Některé jsou obecně platné pro všechny typy objektů (např. Object_Identifier, Object_Name, Object_Type). Další vlastnosti jsou široce rozšířené pro mnoho typů objektů (např. Present_Value, tj. aktuální hodnota, pro tak odlišné objekty jako Analog Input, Binary Output, Multistate Value, Calendar, Accumulator, Command, Group) – ačkoliv konkrétní podoba aktuální hodnoty se může značně lišit (pro Analog Input je to reálné číslo, pro Group je to spíše seznam hodnot). A potom jsou samozřejmě mnohé vlastnosti specifické pro konkrétní typ objektu (např. Average_Value pro objekt typu Averaging nebo List_of_Group_Members pro objekt typu Group).

Některé vlastnosti jsou vyžadovány standardem jako povinné (required), další jsou volitelné (optional). Pokud se výrobce zařízení rozhodne volitelnou vlastnost začlenit, musí mít chování předepsané standardem.

Některé vlastnosti jsou podle standardu pro čtení (Read Only) – např. Present_Value u analogového vstupu, jiné jsou zapisovatelné (Writable) – např. Present_Value u binárního výstupu. Výrobce se může rozhodnout některé čitelné vlastnosti implementovat navíc i jako zapisovatelné – např. Object_Name. Příklad vybraných vlastností objektu Analog Input implementovaných v kontroléru Wago je v Tab. 2.

Tab. 2: Vlastnosti objektu Analog Input (výběr) – příklad implementace v kontroléru WAGO 750-832 (podle [13])
Property_IdentifierProperty_DatatypeConformance_CodeWAGO
Object_IdentifierBACnetObjectIdentifierRR
Object_NameCharacterStringRR
Object_TypeBACnetObjectTypeRR
Present_ValueREALRR
DescriptionCharacterStringOW
Device_TypeCharacterStringOW
Status_FlagsBACnetStatusFlagsRR
Event_StateBACnetEventStateRR
ReliabilityBACnetReliabilityOR
Out_Of_ServiceBOOLEANRW
Update_IntervalUnsignedOR
UnitsBACnetEngineeringUnitsRW
COV_IncrementREALOW
Time_DelayUnsignedOW
Notification_Class UnsignedOW
High_LimitREALOW
Low_LimitREALOW
DeadbandREALOW
Message_Text (512)BACnetARRAY[3] of CharacterStringProprietaryW

Pokud standard neobsahuje potřebné vlastnosti nebo typy objektů, výrobce se může rozhodnout vytvořit vlastní nestandardní rozšíření objektů o nové vlastnosti, nebo úplně nový typ objektu. Pokud je takové rozšíření řádně dokumentováno a používá pouze standardní primitivní datové typy BACnetu (např. Boolean, Unsigned Integer, Real, Character String, BACnetObjectIdentifier), není to na překážku interoperabilitě objektu s jinými zařízeními [1].

Pokračování v druhé části:
Standard sítě pro automatizaci v budovách BACnet – část 2: služby a interoperabilita

Reference

  1. Building Automation System Integration with Open Protocols, American Technical Publishers, 2012, ISBN: 978-0826920126
  2. Chipkin P.: BACnet for Field Technicians, Revision 2.0 – Feb. 2024 (www.chipkin.com), online https://cdn.chipkin.com/assets/uploads/2024/Mar/BACnet%20For%20Field%20Technicians%20-%20Revision%202.0_20-20-35-15.pdf
  3. BACnet Committee (ASHRAE SSPC 135), online https://bacnet.org/
  4. BACnet Testing Laboratories, online https://btl.org/
  5. Hayes E.: BTL Certification Overview, Journal of Building Automation, 23, May 2023, p. 8-10, ISSN 2191-7825, online https://bacnetinternational.org/wp-content/uploads/sites/2/2023/05/Journal-of-BA_23.pdf
  6. Softwarová knihovna CAS BACnet Stack, online https://www.bacnetstack.com/
  7. Introduction to BACnet For Building Owners and Engineers, Ver.1.0, 2014, BACnet International, online
    https://www.ccontrols.com/pdf/BACnetIntroduction.pdf
  8. ANSI/ASHRAE Addendum q to ANSI/ASHRAE Standard 135-2008 online
    https://bacnet.org/wp-content/uploads/sites/4/2022/08/Add-135-2008q.pdf
  9. Butler J.: Introduction to BACnet/SC - A Secure Alternative to BACnet/IP, April 2019, AutomatedBuildings.com, online https://www.automatedbuildings.com/news/apr19/articles/cimetrics/190321112606cimetrics.html
  10. Fisher D.: BACnet/SC: The Big Picture, BACnet International Journal, 18, November 2020, p. 5-7, ISSN 2191-7825, online https://bacnetinternational.org/wp-content/uploads/sites/2/2022/07/journal_Issue_18.pdf
  11. Fisher D., Isler B., Osborne M.: BACnet Secure Connect - A Secure Infrastructure for Building Automation, online https://bacnetinternational.org/wp-content/uploads/sites/2/2022/07/B-SC-Whitepaper-v15_Final_20190521.pdf
  12. Wichenko G.: BACnet Explained, ASHRAE Journal, November 2013, online
    https://bacnet.org/wp-content/uploads/sites/4/2022/06/Wichenko-2013.pdf
  13. 750-832(/xxx-xxx) BACnet Protocol Implementation Conformance Statement (PICS), WAGO Kontakttechnik GmbH & Co. KG, https://www.wago.com/cz/procesorov%C3%BD-modul/procesorov%C3%BD-modul-pro-bacnet-ip/p/750-832
  14. Fisher D.: Commandability in BACnet, Aug. 2016, online https://polarsoft.com/bex/papers/Commandability.pdf
  15. BACnet BIBB’s TABLE – Bacnet Interoperability Building Blocks, online
    https://store.chipkin.com/articles/bacnet-bibbs-table-bacnet-interoperability-building-blocks
  16. ISO 16484-5:2022(en) Building automation and control systems (BACS) — Part 5: Data communication protocol
  17. Device Profile Quick Reference Guide, online https://cdn2.mycrowdwisdom.com/bacnet/s3courses/BACnet-Device-Profiles---SCORM12---9-24-1592243488077/story_content/external_files/Device_Profile_Quick_Reference_Guide.pdf
  18. BACnet Market Adoption Report Available, BACnet International Journal, 15, April 2018, p. 26, ISSN 2191-7825, online https://bacnetinternational.org/wp-content/uploads/sites/2/2022/07/journal_issue_15.pdf
  19. Heard M.C.: BACnet: The Standard’s Journey from a ’Fool’s Errand’ to Global Ascendency, Journal of Building Automation, 26, October 2024, p. 8-9, ISSN 2191-7825, online
    https://bacnetinternational.org/wp-content/uploads/sites/2/2024/11/241112_BJ_OfBuildingAutomation_26_digital.pdf
English Synopsis
Network Standard for Building Automation BACnet - Part 1: Essentials, Networks and Objects

Building Automation and Control network (BACnet) is network protocol specifically designed for automation and control of technologies in buildings. Typical applications include heating, ventilation, air conditioning, lighting, access control and fire detection. It provides standardized framework for organizing and sharing information between networked control devices [1, 2]. Interoperability is provided through object model of information items and their properties and associated services. Flexibility is provided by a range of supported networking options from serial line to Ethernet and internet connection. However, BACnet does not guarantee interchangeability of products from various vendors and every controller or other product may require vendor-specific programming and configuration tools.

 
 

Reklama