[bacnet]

Einstellungen für den BACnet Treiber

[bacnet] alarmExternAckFirst

Typ
bool
Default
0
Wertebereich
0|1
Bei der Kombination von Quittierart "KAM oder GING ist quittierpflichtig" mit der BACnet Notification Klasse "AckRequired: TO_OFFNORMAL=1, TO_NORMAL=0" kann folgendes Verhalten auftreten: Alarme werden in der falschen Reihenfolge quittiert (GING vor KAM), wodurch dann Alarme am Gerät nicht quittiert werden. Das wird durch diesen Eintrag verhindert, jedoch sollte dieser nur gesetzt werden, wenn die oben genannte Kombination auch wirklich im Projekt benötigt wird. Durch das Setzen dieses Eintrags auf 1 wird zuerst der Übergang quittiert, der eine externe Quittierung benötigt. Dadurch wird vermieden, dass Alarme in der falschen Reihenfolge quittiert werden (siehe Intrinsic und Algorithmic Alarming).

[bacnet] APDURetries

Typ
int
Default
1
Wertebereich
0..5
Definiert die Anzahl der Wiederholungen, die der Treiber bei fehlender Bestätigung ausführen soll.

[bacnet] APDUSegmentTimeout

Typ
int
Default
2000
Wertebereich
100..5000
Definiert die Zeit in Millisek., die auf eine Telegrammsegmentantwort gewartet werden soll. Dieser Wert muss kleiner sein als der APDUTimeout.

[bacnet] APDUTimeout

Typ
int
Default
4000
Wertebereich
500..10000
Definiert die Zeit in Millisek., die auf eine Telegrammantwort gewartet werden soll.

[bacnet] autoGQ

Typ
uint
Default
0
Wertebereich
0-3
Definiert, ob der Treiber eine automatische Generalabfrage (GQ) durchführt.
  • 0 -> keine automatische GQ
  • 1 -> automatische GQ beim Verbindungsaufbau
  • 2 -> automatische GQ bei Redundanzumschaltung
  • 3 -> automatische GQ beim Verbindungsaufbau und bei Redundanzumschaltung

[bacnet] bacnetBdtLocation

Typ
string
Default
data
Definiert den Ordner in dem die bdt-Datei abgelegt werden soll. Per Default wird die Datei im /data-Ordner des Projektverzeichnisses angelegt. Siehe auch Treiber - BACnet - Konfigurationsdatei BACnet Treiber - BBMD für nähere Informationen.

[bacnet] bbmdUdpPort

Typ
uint
Default
47808
Wertebereich
>0
Bestimmt den UDP port des BBMD, wenn sich der Treiber als "foreign device" bei einem BBMD registrieren soll.

[bacnet] certPath

Typ
string
Default
cert
Relativer Pfad des Certificate Stores unter <project>/data/bacnet/.

[bacnet] connUserBitPrio

Typ
integer
Default
15
Wertebereich
0-16

Gibt das Benutzerbit an, das vom Treiber verwendet wird, um den den Wert zu setzen oder auf "NULL" zu setzen.

0 -> kein Userbit wird verwendet und der Wert wird normal geschrieben.

[bacnet] COVLifeTime

Typ
uinteger
Default
7200
Wertebereich
>=0
Dieser Config-Eintrag erlaubt es das Zeitlimit der COV Anmeldungen einzustellen. D.h. COVs werden mit einer Ablaufzeit in Sekunden registriert. Nach der halben Zeit wird die Anmeldung vom Treiber erneuert (beim Default alle 60 Minuten) Beim Wert 0 wird ohne Ablaufzeit angemeldet.

[bacnet] deviceStatusPollProperty

Typ
integer
Default
112
Wertebereich
>0
BACnet Property, die bei der Lebenszeichenüberwachung vom Device Objekt abgefragt wird. Die PropertyId 112 bedeutet System_Status. werden.

[bacnet] deviceStatusPollTimeout

Typ
integer
Default
30
Wertebereich
>0
Zeit in Sekunden, nach der alle parametrierten Geräte im Netzwerk gepollt werden.

[bacnet] eventGQMode

Typ
integer
Default
0
Wertebereich
0|1
Wenn der eventGQMode aktiviert wird (=1) werden zusätzlich zu GetEventInformation auch die Begleitwerte übertragen. Hinweis Voraussetzung dafür ist, dass das ReadPropertyMultiple Service verwendet wird.

[bacnet] foreignRegistrationAddress

Typ
string

Dieser Eintrag ermöglicht die Angabe eines BBMD, bei dem sich der Treiber als Foreign Device registrieren soll.

Der Eintrag kann mehrfach vorkommen, wenn sich der Treiber bei mehreren BBMDs registrieren soll.

Die Syntax lautet:

<Hostname oder IP-Adresse>:<Portnummer>

Beispiele:

foreignRegistrationAddress = "192.168.2.100:47808"
foreignRegistrationAddress = "bbmd-server.mynet.local:47808"

[bacnet] localDeviceId

Typ
unsigned integer
Default
10
Wertebereich
>0
Die lokale ID für das WinCC OA Treibergerät. Diese ID wird allen anderen Geräten im Netzwerk angezeigt und muss deshalb einzigartig sein.

[bacnet] localDeviceName

Typ
string
Default
WinCCOA_OWS_<localDeviceId>
Der lokale Name für das WinCC OA Treibergerät. Dieser Name wird allen anderen Geräten im Netzwerk angezeigt.

[bacnet] mapEventValuesToComment

Typ
bool
Default
0
Wertebereich
0|1
Obsolete seit Version 3.10. Definiert, ob der String mit den Notification-Parametern eines Ereignistypes (CHANGE_OF_STATE, COMMAND_FAILURE oder OUT_OF_RANGE) auf den Alarmkommentar des Properties Event_State des entsprechenden BACnet Datenpunktes geschrieben werden soll (TRUE (=1) = ja, FALSE (=0) = nein). Für weitere Informationen zu Ereignistypen siehe Intrinsic und Algorithmic Reporting.

[bacnet] mapOutOfServiceToInvalid

Typ
bool
Default
0
Wertebereich
0|1
Definiert, ob der Treiber bei gesetztem OUT_OF_SERVICE Statusbit das WinCC OA Invalid Bit beim Present_Value DPE setzt.

[bacnet] maxNumForReadMultiple

Typ
integer
Default
8
Wertebereich
>0
Definiert die maximale Anzahl von Properties, welche in einer Read Multiple Abfrage gelesen werden. Leseabfragen (Read Requests) werden in mehrere Leseabfragen (Read Multiple Requests) gruppiert, um die Performance bei den Abfragen in großen Projekten zu verbessern.

[bacnet] maxReadRangeCount

Typ
integer
Default
32767
Wertebereich
>0
Definiert die maximale Anzahl von Rekords, welche in einer ReadRange Abfrage gelesen werden.

[bacnet] net

Typ

Dieser Eintrag ist verpflichtend, um die Verbindung zu einem BACnet-Netzwerk zu konfigurieren.

Syntax für BACnet/IP:

net = <Netzwerk> "IP" <Hostname oder IP-Adresse> <Subnetzmaske> <UDP-Port> <BBMD-Hostname/IP> <BBMDMaxFremdgeräte> <FremdgerätWartezeit>

Syntax für BACnet Secure Connect (SC):

net = <Netzwerk> "SC" <Hostname oder IP-Adresse> <PrimaryHub> <SecondaryHub>
  • Netzwerk – Eindeutig zugewiesene Netzwerknummer. Der BACnet-Treiber kann derzeit mit genau einem Netzwerk kommunizieren.
  • IP/SC – Protokollart. Aktuell werden IP (BACnet/IP) und SC (BACnet Secure Connect) unterstützt.
  • Hostname oder IP-Adresse – Adresse der Netzwerkkarte/Schnittstelle, über die das BACnet-Netz erreichbar ist. Der Eintrag darf ein Hostname oder eine IP-Adresse sein. Ist der Eintrag leer (""), wird die Adresse über den lokalen Hostnamen ermittelt. Das funktioniert zuverlässig nur, wenn genau eine zu verwendende Netzwerkkarte vorhanden ist.
  • Subnetzmaske – Bestimmt die Broadcast-Adressen für BACnet-Broadcasts. Ist der Eintrag leer (""), wird die Subnetzmaske der aktiven Netzwerkverbindung verwendet.
  • UDP-Port – UDP-Port für die BACnet/IP-Kommunikation. In den meisten Fällen ist 47808 (0xBAC0) zu verwenden.
  • BBMD-Hostname/IP – Hostname oder IP-Adresse eines „BACnet/IP Broadcast Management Device“. In der aktuellen Treiberversion ist dieser Wert auf "" bzw. 0 zu setzen, da Fremdgeräte nicht unterstützt werden.
  • BBMDMaxFremdgeräte – Maximale Anzahl an Fremdgeräten (Standard = 0). In der aktuellen Treiberversion ohne Relevanz.
  • FremdgerätWartezeit – Wartezeit auf Fremdgeräte in Sekunden (Standard = 120).
  • PrimaryHub – URL des primären BACnet Secure Hub (verpflichtend), z.B. wss://hub.example.local:4443.
  • SecondaryHub – URL des sekundären BACnet Secure Hub. Wenn keiner vorhanden ist, muss ein Leerstring ("") gesetzt werden.

Beispiele:

[bacnet_1]
net = 1 "IP" "" "" 47808 "" 0 120

[bacnet_1_hostname]
net = 1 "IP" "bacnet-iface01.local" "255.255.255.0" 47808 "bbmd-core.local" 0 120

[bacnet_2]
net = 1 "SC" "" "wss://192.168.10.11:4443" "wss://192.168.10.12:4443"

[bacnet_2_hostname]
net = 1 "SC" "sc-iface01.local" "wss://primary-hub.example.local:4443" "wss://secondary-hub.example.local:4443"

[bacnet] onlyActivePolls

Typ
bool
Default
0
Wertebereich
0|1
Nur der aktive Treiber pollt innerhalb eines redundanten Systems.

[bacnet] processIdentifier

Typ
uint
Default
1
Wertebereich
>0
Dieser Eintrag definiert den Prozessidentifier, den der BACnet Treiber bei COV Registrierung und bei Alarmquittierung verwendet.

[bacnet] reportHomelessAlarms

Typ
bool
Default
0
Wertebereich
0|1
Definiert, ob der Treiber Alarme/Ereignisse, die nicht auf Adressen abgebildet werden können, auf das DPE _Bacnet.State.HomelessAlarm in Stringform abbildet.

[bacnet] requestQueueMaxSize

Typ
integer
Default
1000
Wertebereich
>0
Der BACnet Treiber regelt die Reihenfolge der verschiedenen Anforderungen am Ausgang. Dieser Config-Eintrag bestimmt die Maximalgröße der wartenden Anforderungen. Wenn diese Größe überschritten wird, werden neue Anforderungen verworfen und eine Fehlermeldung wird im WinCC OA Log ausgegeben.

[bacnet] requestsPerCycle

Typ
integer
Default
1
Wertebereich
>0
Definiert wie viele BACnet Anforderungen in einem Treiberzyklus pro Gerät durchgeführt werden. Wird ein niedriger Wert eingestellt, wird die Auslastung, verursacht durch häufige Abfragen, reduziert, was wiederum bedeutet, dass der Datendurchsatz eingeschränkt wird. Ein zu hoher Wert kann Verbindungsprobleme verursachen.

[bacnet] secureCACertificate

Typ
string
Diese Datei enthält die Zertifikate der Root Certificate Authority, mit welcher die Zertifikate des BACnet Secure Hub signiert sind. Diese Datei kann mehrere Zertifikate enthalten. Diese Datei muss in dem Verzeichnis liegen, das durch den Eintrag certPath angegeben wird.

[bacnet] secureCertificate

Typ
string
Name der Datei, welche das Zertifikat des BACnet Treibers für die BACnet Secure Connect Kommunikation enthält. Diese Datei muss in dem Verzeichnis liegen, das durch den Eintrag certPath angegeben wird.

[bacnet] secureCertificateKey

Typ
string
Name der Datei, welche den privaten Schlüssel zum Zertifikat des BACnet Treibers für die BACnet Secure Connect Kommunikation enthält. Diese Datei muss in dem Verzeichnis liegen, das durch den Eintrag certPath angegeben wird.

[bacnet] sendUnicastIam

Typ
bool
Default
0
Wertebereich
0|1
Definiert ob vom Treiber ein Unicast I-Am als Antwort auf ein Who-Is gesendet werden soll. Der Defaultwert ist 0, die I-Am Nachricht wird also standardmäßig als Broadcast gesendet. In manchen Fällen ist allerdings keine BBMD-Funktionalität gegeben, d.h.  Broadcast-Nachrichten werden verworfen.   Durch Setzen dieses Config-Eintrags kann dieses Problem  umgangen werden.

[bacnet] statCheckInterval

Typ
unsigned
Default
20
Wertebereich
>2
Zeitintervall (in Sekunden) in dem statistische DPE aktualisiert werden. wird.

[bacnet] staticRouterBinding

Typ
string
Dieser Eintrag ermöglicht die Eingabe eines statischen Routers in ein spezielles BACnet Netzwerk. Die Angabe eines statischen Routers ist dann notwendig, wenn die Bestimmung über Broadcast Telegramme aufgrund der Netzwerkkonfiguration nicht möglich ist. Die Syntax ist <Netzwerknummer>:<IP Addresse>:<Portnummer>. Zum Beispiel: staticRouterBinding = "100:192.168.2.100:47808" Damit wird definiert, dass der Weg ins Netzwerk 100 über den Router mit der IP Adresse 192.168.2.100 (Port 47808) führt. Der Eintrag kann mehrfach in der BACnet Treiber Sektion vorkommen, falls es mehrere Router gibt.

[bacnet] useJsonFormat

Typ
bool
Default
1
Wertebereich
0|1
Dieser Eintrag definiert ob das JSON Format für die Abbildung komplexer Properties (Strukturen) verwendet wird.

[bacnet] userBitStatusFlagx

Typ
integer
Default
0
Wertebereich
0-31
Definiert wie die BACnet Status-Flags auf die WinCC OA Benutzerbits gemappt werden. Der Wert "0" bedeutet, dass das entsprechende Status-Flag nicht gemappt wird. Das "x" steht für die Bitnummer im Status-Flag Ausdruck:
  • 0 -> im Alarm
  • 1 -> Störung
  • 2 -> überschrieben
  • 3 -> außer Betrieb
  • 4 -> nicht spezifiziert
  • 5 -> nicht spezifiziert
  • ...
  • 31 -> nicht spezifiziert

[bacnet] userBitTrendLog

Typ
uint
Default
0
Wertebereich
0-32
Bestimmt das Userbit, auf welches die an das TrendLog-Objekt eingehenden Werte zusätzlich zu dem dafür vorgesehenen Property Log_Buffer gespeichert werden. Wenn dieser Config-Eintrag auf 0 gesetzt ist bzw. nicht in die Config-Datei eingetragen wurde, werden die Werte lediglich im Log_Buffer Property gespeichert und sind nur von dort aus abrufbar. Dieser Config-Eintrag bietet einen zusätzlichen Schutz vor Datenverlust, z.B. wenn ein TrendLog-Objekt nicht mehr gebraucht wird und dadurch gelöscht wird (somit gehen auch die Daten aus seinem Log_Buffer Property verloren), können die im Userbit archivierten Daten weiterhin abgerufen werden. Wenn die TrendLog-Werte als Korrekturwerte geschrieben werden sollen (dies ist dann erforderlich, wenn die Originalwerte für das TrendLog-Objekt zusätzlich von einer anderen Quelle kommen) muss zusätzlich der Config-Eintrag histDataBits in der Sektion [bacnet] gesetzt werden.

[bacnet] userByteAlarmPrio

Typ
uint
Default
0
Wertebereich
0-4
Obsolete seit Version 3.10. Durch diesen Config-Eintrag wird die gemappte BACnet Priorität (siehe Config.AlarmPrioMapping) auch der BACnet Applikation zur Verfügung gestellt. Über diesen Config-Eintrag wird definiert, auf welche Userbytenummer (1 - 4) die BACnet Priorität abgebildet wird. Default ist 0 (= keine Abbildung).

[bacnet] userByteLogStatus

Typ
uint
Default
0
Wertebereich
0-4
Bestimmt ob Logstatus Records abgebildet werden und auf welches Userbyte die Logstatusinformation geschrieben wird. Ist der Wert 0 so werden LogStatus Records ausgefiltert.

[bacnet] useWriteMultiple

Typ
bool
Default
0
Wertebereich
0|1
Definiert ob das WriteMultiple Service zum gruppieren von Schreibanforderungen verwendet wird. Wenn der Erfolg der Schreibanforderungen in der Anwendung angezeigt werden soll, dann muss der Wert auf false stehen.