BACnet (ang. Building Automation and Control Networks) – otwarty (publiczny) protokół komunikacyjny, umożliwiający współdziałanie systemów sterowania i monitorowania pochodzącym od różnych producentów. Posiada aprobatę ISO 16484-5. Został zatwierdzony przez ASHRAE w 2004.

Lista producentów urządzeń komunikujących się z użyciem protokołu BACnet dostępna jest na oficjalnej stronie organizacji standaryzującej.

Protokół BACnet jest niezależny od sprzętu i pozwala na połączenie dowolnych urządzeń od niezależnych producentów w jedną wspólną sieć. W specyfikacji protokołu zdefiniowane są warstwy komunikacji (podobnie do OSI) oraz obiekty reprezentujące świat rzeczywisty.

Warstwa łącza danych: Aktualnie BACnet opisuje następujące media transmisyjne:

Wybór medium transmisyjnego jest uzależniony od pożądanej prędkości komunikacji oraz dostępnych złącz fizycznych w urządzeniach.

Wykorzystując BACnet można komunikować się w każdym z powyższych sposobów transmisyjnych jednocześnie. Przesyłane ramki zależnie od wybranego standardu komunikacyjnego posiadają różne długości buforów dla warstwy aplikacyjnej (np. Ethernet, BACnet IP 1476, albo 480 dla MS/TP). Różna długość ramek jednak nie powoduje problemów w komunikacji, gdyż każde urządzenie może dowiedzieć się jaki bufor akceptuje inne urządzenie, z którym chce się komunikować.

Warstwa sieci

edytuj

Sieć BACnet może składać się maksymalnie z 65 533 podsieci, w których może występować łącznie 4 194 303 urządzeń. Adresy urządzeń są unikalne w ramach danej podsieci. Jeżeli podsieć jest oparta na Ethernecie, to adresami urządzeń są MAC adresy. W przypadku podsieci opartej na protokole IP adresami urządzeń będą adresy IP wraz z numerem portu. Protokół BACnet nie przewiduje ograniczeń długości adresu urządzenia, chociaż w rzeczywistych implementacjach bywa to ograniczane do 8 bajtów (oktetów). Pomiędzy dowolnymi urządzeniami może istnieć tylko jedna możliwa droga przesyłania danych. Drogi przesyłania danych mogą być stałe lub okresowe (np. połączenia modemowe)

Warstwa aplikacji

edytuj

Dane są transmitowane z użyciem PDU:

  • Unconfirmed PDU
  • Confirmed PDU
  • Simple-ACK PDU
  • Complex-ACK PDU
  • Segment-ACK PDU
  • Reject PDU
  • Error PDU
  • Abort PDU

Urządzenie bądź oprogramowanie przedstawia swoje zasoby w postaci obiektów oraz usług. Aktualnie wspierane obiekty:

  • Analog [Input/Value/Output] – wartości analogowe dla [wejść fizycznych/wirtualnych/wyjść fizycznych]
  • Binary [Input/Value/Output] – wartości dwustanowe dla [wejść fizycznych/wirtualnych/wyjść fizycznych]
  • Multi-state [Input/Value/Output] – wartości wielostanowe dla [wejść fizycznych/wirtualnych/wyjść fizycznych]
  • Device
  • Accumulator
  • Access door
  • Averaging
  • Calendar
  • Command
  • File
  • Group
  • Life-Safety Zone
  • Life-Safety Point
  • Loop
  • Pulse converter
  • Schedule
  • Structured view

Operacje na obiektach wykonywane są z użyciem usług, np.:

  • ReadProperty – odczyt pojedynczej wartości
  • ReadPropertyMultiple – odczyt wielu wartości w jednym żądaniu
  • WriteProperty – zapis pojedynczej wartości
  • WritePropertyMultiple – zapis wielu wartości w jednym żądaniu

BACnet często bywa stosowany w budynkowych systemach wizualizacji, monitoringu i pozwala na integracje tak różnych systemów jak:

  • systemu wykrywania i sygnalizacji pożaru,
  • systemu bezpieczeństwa (sygnalizacji włamania oraz kontroli dostępu),
  • systemem sterowania i kontroli urządzeń HVAC (ogrzewania, wentylacji i klimatyzacji),
  • sterowania oświetleniem,
  • sterowania telewizją przemysłową CCTV.

W niektórych przypadkach istnieje konieczność stosowania urządzeń pośredniczących, zwanych „gateway”. Stosowanie w ramach jednego systemu kilku rodzajów protokołów komunikacyjnych bywa często uzasadnione technicznie i ekonomicznie ze względu na szybkość transmisji komunikatów, łatwość sterowania urządzeniami wykonawczymi (HVAC) różnych producentów czy współpracę sieci komunikacyjnej z urządzeniami peryferyjnymi różnych producentów.

Linki zewnętrzne

edytuj