This is an old revision of the document!


BACnet

The BACnet (Building Automation Control Network) protocol was created as a standard for communication between various building automation devices. Its concept is characterized by user-friendliness, notable ruggedness and a possibility of implementation into simple and cheap devices. BACnet has been developed since 1980's, but its full ISO certification no. 16484-5 was issued only in 2003. As of today, its most recent update was released in 2017.

Specifikace protokolu se nejvíce věnuje samotné výměně dat a definuje přes jaká fyzická rozhraní komunikace může probíhat. K dispozici je mimo jiné BACnet/IP pro síťovou komunikaci, BACnet MS/TP pro RS485 ale i BACnet/Zigbee pro úsporné bezdrátové sítě typu “mesh”.

Stejně jako oborově nejbližší protokol Modbus i BACnet funguje v režimu master/slave. Jedno (či více) master zařízení iniciuje komunikaci se slave zařízeními a vyčítá nebo zapisuje do nich hodnoty. Zajímavé je, že zařízení může být zároveň master i slave a může tak propojit komunikaci mezi různými fyzickými rozhraními. Efektivně se tak bude chovat jako router a přeposílat komunikaci např. mezi BACnet/IP a BACnet MS/TP.

Stěžejním prvkem BACnetu je způsob výměny informací. Z protokolu Modbus jsme zvyklí, že musíme předem znát přesnou definici zařízení se kterým budeme komunikovat. BACnet nám umožňuje si neznámé zařízení “osahat” a zjistit, jaké objekty a vlastnosti nám jsou dostupné. Právě “objekt” (angl. object) je jeden ze základních pojmů, které budeme s protokolem BACnet používat.

Každé BACnet zařízení sdílí informace pomocí objektů, což je definice podobná datovému bodu. Objekt tedy reprezentuje např. konkrétní vstup nebo výstup, provozní hodnotu zařízení apod. Každý objekt má své “vlastnosti” (angl. properties), což jsou skutečné hodnoty daného objektu. Abychom měli práci s neznámým zařízením jednodušší, definuje standard seznam vlastností, které každý objekt musí implementovat. Jsou jím např. název vlastnosti, její jednoznačný číselný identifikátor a její aktuální hodnota. Dalšími vlastnostmi mohou být název jednotky ve které je aktuální hodnota, její mezní hodnoty apod. Těchto vlastností je definováno více jak 500 a další jsou ponechané jako volně definovatelné pro výrobce zařízení.

Z Modbusu jsme zvyklí na komunikaci pomocí funkcí pro vyčítání a zapisování dat do registrů a coilů. BACnet tyto funkce pojmenovává službami (angl. services) a definuje jich přes 30. Služeb, které každé zařízení musí podporovat a se kterými přijdete nejčastěji do styku je ale jenom pár. Jsou to služby pro hledání zařízení na síti (služba Who-is), zjištování jeho objektů (služba Who-has) a služby pro vyčítání a zapisování hodnot vlastností (Read-property a Write-property).

Instalačním technikům je ale většina definic důkladně skryta a umožňuje tak soustředit se na to nejdůležitější - uvedení zařízení do provozu. BACnet zařízení lze jednoduše přidávat a vyměňovat a protokol dává záruku, že zařízení různých výrobců spolu bude fungovat.