BACnet
BACnet (forkortelse af building automation and control networks) er en dataprotokol til bygningsautomatik og datanet til styringsformål. BACnet er en ASHRAE, ANSI og ISO standardiseret protokol.
BACnet blev designet til at tillade kommunikation af bygningsautomatik og styresystemer til anvendelser såsom styring af opvarmning, ventilation, luftkonditionering, belysning, adgangskontrol og branddetekteringssystemer og deres forbundne udstyr. BACnet protokollen yder mekanismer til at udveksle information mellem computeriserede bygningsautomatikenheder, uanset deres bygningsserviceydelse.
Historie
Udviklingen af BACnet protokollen begyndte juni 1987, i Nashville, Tennessee,[1] ved det stiftende møde ved Standard Project Committee (SPC). Komitéen arbejdede på at nå konsensus ved at anvende arbejdsgrupper til at opdele standardens skabelsesproces. Arbejdsgrupperne fokuserede på specifikke områder og giver information og anbefalinger til hovedkomitéen. De første tre arbejdsgrupper var datatype- og attribut-arbejdsgruppen, Primitive Data Format-arbejdsgruppen – og Application Services-arbejdsgruppen.
BACnet blev til ASHRAE/ANSI standard 135 i 1995 – og ISO 16484-5[2] i 2003. BACnet testmetoder til overensstemmelsesprøvning blev publiseret i 2003 som BSR/ASHRAE standard 135.1. BACnet er under løbende vedligeholdelse af ASHRAE Standing Standard Project Committee 135.
BACnet havde en næsten øjeblikkelig indflydelse på HVAC styringsindustrien. I 1996 annoncerede Alerton et komplet BACnet produktlinje til HVAC styring, fra operatør arbejdsstationer og ned til små VAV-styringsenheder. Automated Logic Corporation og Delta Controls fulgte efter kort tid efter. Den 30. maj 2011 var 515 Vendor IDs blevet udstedt og distribueret internationalt. Disse vendor IDs kan ses i kilden.[3]
H. Michael (Mike) Newman, leder af Computer Section af Utilities and Energy Management Department ved Cornell University, betjente som BACnet komitéens bestyrelsesformand indtil juni 2000, da han blev efterfulgt af hans vicebestyrelsesformand gennem 13 år, Steven (Steve) Bushby fra NIST. Gennem Steve Bushby's 4 års løbetid som komitéens bestyrelsesformand blev BACnet standarden genudgivet to gange, i 2001 og 2004, hver gang med mere formåen tilføjet til standarden. 2001 versionen var bl.a. kendetegnet med udvidelser til understøttelse af brand- / livs-sikkerhedssystemer. I juni 2004 – 17 år efter det første BACnet møde og tilbage i Nashville, William (Bill) Swan (alias "BACnet Bill") fra Alerton begyndte hans 4 år som komitéens bestyrelsesformand. Gennem hans løbetid øgedes antallet af komitéens arbejdsgrupper til 11, som arbejder for områder såsom understøttelse for belysning, adgangskontrol, energiforsyning/bygningsintegration og trådløs kommunikation. Juni 2008, i Salt Lake City tog Dave Robin fra Automated Logic Corporation over som komitéens bestyrelsesformand efter 4 år som vicebestyrelsesformand.
Januar 2006 slog BACnet Manufacturers Association og BACnet Interest Group of North America sig sammen til en ny organisation kaldet BACnet International.[4]
Ifølge Alertons white paper har BACnet vundet over LonWorks/LonTalk i kampen om den sande åbne bygningsautomatik-protokol. [5]
Protokol oversigt
BACnet protokollen definerer et antal services, som anvendes til at kommunikere mellem bygningsenheder. Protokolservices omfatter Who-Is, I-Am, Who-Has, I-Have, som anvendes til enheds og objekt rekognoscering. Services såsom Read-Property og Write-Property bliver anvendt til datadeling. BACnet protokollen definerer et antal objekter som kan arbejdes på af servicene. Objekterne omfatter Analog Input, Analog Output, Analog Value, Binary Input, Binary Output, Binary Value, Multi-State Input, Multi-State Output, Calendar, Event-Enrollment, File, Notification-Class, Group, Loop, Program, Schedule, Command og Device.
BACnet protokollen definerer et antal af dataforbindelser / fysisk lag, inklusiv ARCNET, Ethernet, BACnet/IP, punkt-til-punkt over RS-232, Master-Slave/Token-overførsel over RS-485 og LonTalk.
BACnet objekter
Standarden specificerer 50 objekttyper
Access Credential | Access Door | Access Point | Access Rights | Access User |
Access Zone | Accumulator | Analog Input | Analog Output | Analog Value |
Averaging | Binary Input | Binary Output | Binary Value | Bit String Value |
Calendar | Character String Value | Command | Credential Data Input | Date Pattern Value |
Date Value | Date Time Pattern Value | Date Time Value | Device | Event Enrollment |
Event Log | File | Global Group | Group | Integer Value |
Large Analog Value | Life Safety Point | Life Safety Zone | Load Control | Loop |
Multi-state Input | Multi-state Output | Multi-state Value | Network Security | Notification Class |
Octet String Value | Positive Integer Value | Program | Pulse Converter | Schedule |
Structured-View | Time Pattern Value | Time Value | Trend Log | Trend Log Multiple |
- Analog Input – Sensor input
- Analog Output – styre output
- Analog Value – Setpoint eller anden analog styresystems parameter
- Binary Input – omskifter input
- Binary Output – relæ output
- Binary Value – styresystems parameter
- Calendar – en liste af datoer, såsom helligdage eller specielle hændelser, til tidsplanlægning.
- Command – skriver multiple værdier til multiple objekter i multiple enheder for at opnå et specifikt formål, såsom dag-tilstand til nat-tilstand eller nødsituations-tilstand.
- Device – egenskaber formidler hvilke objekter og services enheden understøtter, og anden enhedsspecifik information såsom leverandør, firmware revision, osv.
- Event Enrollment – beskriver en hændelse som måske er en fejltilstand (f.eks., "Input out of range") eller en alarm som andre enheder "kender til". Den kan direkte formidle en enhed – eller anvende en Notification Class object til at formidle til multiple enheder.
- File – tillader læse og skrive adgang til data filer understøttet af enheden.
- Group – giver adgang til multiple egenskaber af multiple objekter i en enkelt læseoperation.
- Multi-state Input – Repræsenterer status af en multiple-tilstandsproces, såsom et køleskabs On, Off og Defrost cyklus.
- Multi-state Output – Repræsenterer den ønskede tilstand af en multiple-tilstandsproces (såsom It's Time to Cool, It's Cold Enough og it's Time to Defrost).
- Notification Class – indeholder en liste af enheder som skal informeres hvis en Event Enrollment object beslutter at en advarselsbesked eller alarmbesked behøver at blive sendt.
- Loop – formidler standardiseret tilgang til et "PID-styrekredsløb".
- Program – tillader en programkørsel i enheden at blive startet, stoppet, hentet og unloaded, og rapportere den aktuelle programstatus.
- Schedule – definerer en ugentlig driftstidsplan (udført ved at skrive til den specificerede liste af objekter med undtagelser såsom helligdage. Kan anvende et Calendar object som undtagelseskilde.
BACnet testning
BACnet Testing Laboratories blev grundlagt af BACnet International til at teste produkter efter BACnet standarden og understøttelsesoverholdelse testning og interoperabilitetstestning aktiviteter og består af BTL Manager og BTL-WG.
Åbne implementationer
Der er blevet lavet flere åbne datanet protokolstakke bl.a. til Linux[6], indlejrede systemer[7], Java[8], Python[9], C♯[10].
Se også
- LonWorks – en populær konkurrerende protokol.
- IEEE 1451
Kilder/referencer
- ^ "BACnet protocol June, 1987, in Nashville, Tennessee" (PDF). Arkiveret fra originalen (PDF) 26. februar 2007. Hentet 6. oktober 2011.
- ^ ISO 16484-5
- ^ "the BACnet website". Arkiveret fra originalen 21. november 2009. Hentet 6. oktober 2011.
- ^ "BACnet International". Arkiveret fra originalen 17. august 2020. Hentet 6. oktober 2011.
- ^ stitcs.com: White Paper: BACnet vs. Lon–The War is Over Arkiveret 11. marts 2014 hos Wayback Machine Citat: "...How BACnet won the war. The outcome of most wars is determined by a few key battles. In the war of open protocols for building controls, BACnet’s decisive victory is defined by three: Industry-wide acceptance, greater benefits than LonWorks and a change in manufacturers’ ideology about their building protocols offerings..."
- ^ Open-Source BACnet Protocol stack for Linux
- ^ Open-Source BACnet Protocol stack for embedded systems
- ^ Open-Source BACnet Protocol stack in Java
- ^ BACpypes, Open-Source BACnet Protocol stack in Python
- ^ BACsharp, Open-Source BACnet Protocol stack in C#
Eksterne henvisninger
|