BACnet
BACnet som det ser ut i SRD5500.
Allmänt
BACnet är ett standardprotokoll speciellt för fastighetsautomation. I protokollet finns ett stort antal tjänster och funktioner. SRD5500 klarar av de delar som behövs för en effektiv drift av ett fastighetsbestånd.
SRD5500 är BACnet server, via UDP IP.
SRD5500 visar alltid objekten Device och NetWorkPort, samt 4 instanser av Schedule. Övriga objekt skapas utifrån en fil som ligger i DUC. Denna fil kan skapas i excel, eller en text-editor. Det ska komma ett verktyg som gör det enkelt att utifrån en DUC-konfigurering generera en sådan fil. Om ingen fil finns använder systemet en grund-fil som ger tillgång alla AV, DV, AI, UI, DI, AU och DU som har namn. Utgångarna kan tillfälligt styras via BACnet, övriga värden kan bara läsas. (För in- och utgångar bara de som ligger på själva modulen.)
Tjänster (Services)
Följande tjänster inom standarden stöds:
- Who-is
- I-am
- Who-has
- I-Have
- ReadProperty
- WriteProperty
- ChangeOfValue
Implementerade BACnet objekttyper
| Objekttyp | Förkortning |
|---|---|
| Analog Input | AI |
| Analog Output | AO |
| Analog Value | AV |
| Binary Input | BI |
| Binary Output | BO |
| Binary Value | BV |
| Multistate Value | MSV |
| Schedule | SC |
AO - Analog ut och BO - Digital ut
Objekt måste vara kopplat till en utgång av respektive typ (AU eller DU). DUC implementerar då BACnets funktion med olika prioriteter för skrivning, och BACnet tar då tillfälligt kontroll över utgången. Då DUC startar om eller alla skrivningar tas bort går DUC tillbaka till normal funktion. Värdet som normal funktion ger syns alltid via BACnet som "Relinquish Default".
SC - Schema
Inställningen innebär bara att schema får det namn som anges i filen. Funktionen påverkas inte i övrigt av inställningsfilen. Aktuell status för respektive schema finns tillgänlig i programmeringen som BN01s0 - s3. Schema kan skrivas via BACnet. I nuvarande version (5.0.34) bevaras det inte om DUC startar om.
MSV - Listval
Inställningar i bacnet-filen avgör texter för olika värden och översättning mellan BACnet-värden och DUC-värden.
AV - Analogt värde
Kan kopplas till valfritt värde i DUC.
Skrivning
Är värdet satt som skrivbart i BACnet-filen, sker skrivning direkt till det valda värdet.
Undantag: Om värdet är AV
Om värdet är WR
BV - Digitalt värde
Kan kopplas till valfritt värde i DUC.
Skrivning
Är värdet satt som skrivbart i BACnet-filen, sker skrivning direkt till det valda värdet (med 1 eller 0).
Undantag: Om värdet är DV
Om värdet är WR
BACnet-filen
Kopplingen mellan BACnet och DUCens programmering beskrivs i en textfil: bacnet.csv. Filen kan skapas i excel, texteditor, men KTC ska också ta fram ett verktyg för att enkelt skapa filen utifrån aktuell DUC-programmering. Om ingen fil laddas upp används en defaultfil. Denna fil kopplar alla AV, DV och lokala in- och utgångar till BACnet, om det har RAM-text (onjektnamn). Laddas en fil upp ignoreras denna fil.
Beskrivningen görs med ett värde per rad. De olika fälten separeras med ';'. Om antalet fält på en rad är färre än sju igoreras raden (kan användas för att göra kommentarer i filen).
Fält 1: radnamn
Första fältet är ett namn på raden för läsbarhet. Har ingen teknisk funktion.
Fält 2: objektnamn
BACnet-objektets namn. Om detta fält är tomt används DUC-objektets namn.
Fält 3: beskrivning
BACnet-objektets "Description" (ignoreras i version 5.0.34)
Fält 4: typ av BACnet-objekt
En av kortformerna i listan ovan.
Fält 5: index för BACnet-objektet.
Om fältet är tomt används nästa lediga index för given objekttyp. Annars måste det vara ett positivt tal.
Fält 6: skrivbart?
Om fältet innehåller 'RW' eller 'rw' försöker systemet att göra värdet skrivbart.
Fält 7: DUC-värde
Kopplat värde i DUC. Format OO
Fält 8: skalfaktor
Skalning mellan BACnet-världen och DUC-världen. Om fältet är tomt eller 0 sätts skalning till 1.0.
Om objekttyp är MSV
För objekttypen MSV, listval, översättningstabell. Par av värden för BACnet och DUC.
BACnet-värde 1:DUC-värde 1,BACnet-värde 2:DUC-värde 2,BACnet-värde 3:DUC-värde 3 ...
Fält 9: texter för MSV-objekt
Lista på texter för varje värde av en MSV. Separerade med pipe ('|'). Från värde 0 och uppåt.