Benutzer-Werkzeuge

Webseiten-Werkzeuge


bacnet

BACnet

Der BACnet Treiber ermöglicht es dem Gateway sowohl als BACnet Client als auch als BACnet Server aufzutreten. Dabei unterstützt er die Standards BACnet IP, BACnet Ethernet als auch BACnet MS/TP. Darüber hinaus werden bei Bedarf BBMD-(BACnet Management Broadcast Device) und FD- (Foreign Device) Funktionalitäten zur Verfügung gestellt.

Der Name des BACnet-Treibers lautet: bac
Die Routing-Adresse des ersten BACnet-Treibers ist die 940
Die Datenpunktdatei für den ersten BACnet-Treiber heißt: bac1.txt
Die Konfigurationsdatei für globale Einstellungen des ersten BACnet-Treibers heißt: bac1.cfg

Bei dem BACnet-Treiber sowie allen weiteren Gateway-Treibern gilt für die Definiton von Datenpunkten in der Datenpunktdatei:

Typ Bedeutung
M Ganzzahliger Wert (Binäre Datenpunkte, Zählwerte) der vom Gateway nur gelesen werden kann/soll.
S Ganzzahliger Wert der vom Gateway gelesen sowie geschrieben werden kann/soll.
X Analogwert (mit Nachkommastellen) der vom Gateway nur gelesen werden kann/soll.
Y Analogwert (mit Nachkommastellen) der vom Gateway gelesen sowie geschrieben werden kann/soll.
A String, findet z.B. Verwendung bei BACnet Trends und ESPA4.4.4 Datenpunkten

Die Adressen sind wie folgt aufgebaut.

„<device>.<typ> [<nr>]“

Kommunikationsstatus mit entferntem BACnet Gerät: „<device> failure“

Dabei gilt folgende Definition:

Parameter Wertebereich Beschreibung
device 0 - 4194302
0 - (2 22-2)
Device-ID des BACnet Gerätes.
Stimmt diese mit der in der bac1.cfg definierten Device ID überein so handelt es sich um einen lokalen Datenpunkt (das Gateway ist dann BACnet Server)
typ AI
AO
AV
AG
BI
BO
BV
CA
CO
DE
EE
FI
GR
IV
LAV
LO
MI
MO
MV
NC
PIV
PR
SC
TR
VSOT@<nummer>
Analog Input
Analog Output
Analog Value
Averaging
Binary Input
Binary Output
Binary Value
Calendar
Command
Device
Enrollment
File
Group
Integer Value
Large Analog Value
Loop
Multistate Input
Multistate Output
Multistate Value
Notification Class
Positiv Integer Value
Programm
Schedule
Trendlog
Vendor Specific Object Type, dabei ist <nummer> der Object-Type
nr 0 - 4194304
(0 - 2 22)
Objekt Nummer (muss innerhalb eines Devices für jeden Typ eindeutig sein

Für lokale Datenpunkte müssen jedem Datenpunkt noch mindestens die sog. required properties übergeben werden. Zusätzlich zu den required properties können bei Bedarf weitere optional properties übergeben werden. Grundsätzlich sind die hier angegebene Properties nicht durch andere BACnet Geräte beschreibbar. Sollen diese dennoch von anderen BACnet Geräten beschreibbar sein, so kann das Propertie durch den Zusatz ||W als schreibbar deklariert werden. Die geschriebenen Werte sind dann solange gültig bis das Gateway neu gestartet wird. Durch den Zusatz ||WP werden diese persistent auf dem Gateway gespeichert und sind auch nach einem Neustart wieder verfügbar. Einträge für die Beschreibung oder die Einheit sehen dann z.B. folgendermaßen aus.

bac_description = Beschreibung ||WP
bac_units = 62 ||W  

Eine Beschreibung der lokalen BACnet Datenpunkte und ihren properties folgen aufgeschlüsselt nach Art der Datenpunkte:

BACnet_Analog
BACnet_Binary
BACnet_Multistate
BACnet_NotificationClass
BACnet_Trendlog
BACnet_Schedule
BACnet_Calendar

Typische Datenpunktdefinitionen für entfernte Datenpunkte können demnach sein:

[M 1234.BI 5]
 name = digitale Betriebsmeldung
 query = pe
[S 1234.BO 10]
 name = digitaler Sollwert
 query = pe
 writecache = yes
[M 1234.MI 15]
 name = multistate Meldung z.B. 0,1,2 für Aus,An,Auto
 query = pe
[S 1234.MV 16]
 name = multistate Sollwert  z.B. Stufenschalter 0,1,2 für Aus,An,Auto
 query = pe
 writecache = yes
[X 1234.AI 17]
 name = Temperatur Messwert
 query = pe
[Y 1234.AO 17]
 name = Temperatur Sollwert
 query = pe
 writecache = yes

Zugriff auf einzelne Properties

Der BACnet-Treiber bietet die Möglichkeit, auch auf einzelne Properties eines Datenpunktes zuzugreifen. Dazu ist es erforderlich, den Namen des Properties hinter dem Datenpunkt in geschweiften Klammern anzugeben. Um z. B. auf den Event-State eines Datenpunktes zuzugreifen, muss ein Eintrag {event-state} angehängt werden. Eine Definition sähe dann so aus:

[M 1234.AI 17 {event-state}]
  name = Event-State von AI 17
  query = pe
bacnet.txt · Zuletzt geändert: 04.09.2019 10:55 von joe