Settings for the BACnet driver
[bacnet] alarmExternAckFirst
- Type
- bool
- Default
- 0
- Range
- 0|1
Due to the combination of the WinCC OA alert class acknowledgement mode "CAME or WENT must
be acknowledged" and the BACnet notification class "AckRequired: TO_OFFNORMAL=1,
TO_NORMAL=0", the following behavior may occur: Alarms are acknowledged in the wrong order
(WENT before CAME). Therefore, alarms in the device won't be acknowledged. Setting this
entry will avoid this behavior, however, it must only be set if the combination is really
needed in the project. By setting this entry to 1, the transition that requires extern
acknowledgement will be acknowledged first. Thus, you can ensure acknowledgement in the
devise (see also Intrinsic and Algorithmic Alarming).
[bacnet] APDURetries
- Type
- int
- Default
- 1
- Range
- 0..5
Defines the number of retransmissions, if no response is received from the device.
[bacnet] APDUSegmentTimeout
- Type
- int
- Default
- 2000
- Range
- 100..5000
Defines the time in milliseconds, which is used to wait for a telegram segment response.
This value must be lower than the value of APDU timeout.
[bacnet] APDUTimeout
- Type
- int
- Default
- 4000
- Range
- 500..10000
Defines the time in milliseconds, which is used to wait for a telegram response.
[bacnet] autoGQ
- Type
- uint
- Default
- 0
- Range
- 0-3
Specifies whether the driver is executing an automatic general query (GQ).
- 0 -> no automatic GQ
- 1 -> automatic GQ during connection establishment
- 2 -> automatic GQ during redundancy switchover
- 3 -> automatic GQ during connection establishment and redundancy switchover
[bacnet] bacnetBdtLocation
- Type
- string
- Default
- data
This config entry allows to define in which location the bdt file is created. Per default
the /data folder in the project directory is defined. For further information refer to
Driver - BACnet - BACnet driver config file - BBMD.
[bacnet] bbmdUdpPort
- Type
- uint
- Default
- 47808
- Range
- >0
This entry specifies the UDP port of the BBMD, if the driver should register as foreign
device.
[bacnet] certPath
- Type
- string
- Default
- cert
Relative path of the certificate store under <project>/data/bacnet/.
[bacnet] connUserBitPrio
- Type
- integer
- Default
- 15
- Range
- 0-16
Specifies the user bit, which is used by the driver to set the value or reset it to
"NULL".
0 -> no user bit is used and the value is written normally.
[bacnet] COVLifeTime
- Type
- uinteger
- Default
- 7200
- Range
- >=0
This config entry allows the specification of the COV subscription life time. I.e. COVs
are registered with an expiration time in seconds. After the half time the subscription is
renewed by the driver (by default every 60 minutes). If the value is 0, COV are subscribed
without expiration time.
[bacnet] deviceStatusPollProperty
- Type
- integer
- Default
- 112
- Range
- >0
BACnet property, which is read in life check from the device object. The property id 112
means System_Status.
[bacnet] deviceStatusPollTimeout
- Type
- integer
- Default
- 30
- Range
- >0
Time in seconds after which all parameterized devices in the network are polled.
[bacnet] eventGQMode
- Type
- integer
- Default
- 0
- Range
- 0|1
If the eventGQmode is activated (=1) the additional values will also be transmitted with
the GetEventInformation. Note The ReadPropertyMultiple service is required for this
feature.
[bacnet] foreignRegistrationAddress
- Type
- string
This entry allows specifying a BBMD with which the driver should register as a
Foreign Device.
The entry can appear multiple times if the driver needs to register with several BBMDs.
The syntax is as follows:
<Hostname or IP address>:<Port number>
Examples:
foreignRegistrationAddress = "192.168.2.100:47808"
foreignRegistrationAddress = "bbmd-server.mynet.local:47808"
[bacnet] localDeviceId
- Type
- unsigned integer
- Default
- 10
- Range
- >0
The local ID for the WinCC OA driver device. This ID will appear to all other devices on
the network and thus it must be unique.
[bacnet] localDeviceName
- Type
- string
- Default
- WinCCOA_OWS_<localDeviceId>
The local name for the WinCC OA driver device. This name will appear to all other devices
on the network.
[bacnet] mapOutOfServiceToInvalid
- Type
- bool
- Default
- 0
- Range
- 0|1
Specifies whether the driver sets WinCC OA invalid bit, if BACnet OUT_OF_SERVICE status
bit is set.
[bacnet] maxNumForReadMultiple
- Type
- integer
- Default
- 8
- Range
- >0
Specifies the maximum number of properties that are read in one Read Multiple Request.
Read Requests are grouped into Multiple Read Requests in order to improve the performance
during requests in large projects.
[bacnet] maxReadRangeCount
- Type
- integer
- Default
- 32767
- Range
- >0
Specifies the maximum number of records, which are read in one ReadRange request.
[bacnet] net
- Type
This entry is required to configure the connection to a BACnet network.
Syntax for BACnet/IP:
net = <Network> "IP" <Hostname or IP address> <Subnet mask> <UDP port> <BBMD hostname/IP> <Max foreign devices> <Foreign device wait time>
Syntax for BACnet Secure Connect (SC):
net = <Network> "SC" <Hostname or IP address> <PrimaryHub> <SecondaryHub>
-
Network – Uniquely assigned network number. The BACnet driver can currently communicate with exactly one network.
-
IP/SC – Protocol type. The current version supports IP (BACnet/IP) and SC (BACnet Secure Connect).
-
Hostname or IP address – Address of the network interface through which the BACnet network is reachable. The entry may be a hostname or an IP address. If the entry is empty (""), the address is determined via the local hostname. This only works reliably if exactly one network interface to be used is present.
-
Subnet mask – Determines the broadcast addresses used to send broadcasts into the BACnet network. If this entry is empty (""), the subnet mask of the configured network connection is used.
-
UDP port – UDP port used for BACnet/IP communication. In most cases, 47808 (0xBAC0) is used.
-
BBMD hostname/IP – Hostname or IP address of a “BACnet/IP Broadcast Management Device”. In the current driver version, this value must be set to "" or 0, because foreign devices are not supported.
-
Max foreign devices – Maximum number of foreign devices (default = 0). Not relevant in the current driver version.
-
Foreign device wait time – Wait time for foreign devices in seconds (default = 120).
-
PrimaryHub – URL of the primary BACnet Secure Hub (required), e.g., wss://hub.example.local:4443.
-
SecondaryHub – URL of the secondary BACnet Secure Hub. If none exists, an empty string ("") must be set.
Examples:
[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
- Type
- bool
- Default
- 0
- Range
- 0|1
Only the active driver polls in a redundant system.
[bacnet] processIdentifier
- Type
- uint
- Default
- 1
- Range
- >0
This entry defines the process identifier, which is used by the BACnet driver for COV
registration and alarm acknowledgement.
[bacnet] reportHomelessAlarms
- Type
- bool
- Default
- 0
- Range
- 0|1
Specifies whether the driver maps alarms/events, which cannot be mapped to addresses, to
the DPE _Bacnet.State.HomelessAlarm in string form.
[bacnet] requestQueueMaxSize
- Type
- integer
- Default
- 1000
- Range
- >0
The BACnet driver manages the output queue for different BACnet requests. This config
entry determines the maximum size of this queue. If this size is exceeded, requests are
discarded and error messages are written into the WinCC OA log.
[bacnet] requestsPerCycle
- Type
- integer
- Default
- 1
- Range
- >0
Defines how many BACnet requests are issued in one driver cycle per device. If a low value
is set, the request load, caused by frequent queries, is reduced, what reduces also the data
throughput. A to high value might cause connection problems.
[bacnet] secureCACertificate
- Type
- string
Name of the file containing the trusted root certificates for BACnet Secure Connect, which
are used to sign the peer certificates. The file can contain more than one certificate. It
must be located in the directory defined by certPath entry.
[bacnet] secureCertificate
- Type
- string
Name of the file containing the driver application certificate for BACnet Secure Connect,
It must be located in the directory defined by certPath entry.
[bacnet] secureCertificateKey
- Type
- string
Name of the file containing the driver application certificate private key for BACnet
Secure Connect, It must be located in the directory defined by certPath entry.
[bacnet] sendUnicastIam
- Type
- bool
- Default
- 0
- Range
- 0|1
Defines whether an I-Am answer to an Who-Is is sent as Unicast. Per default, this entry is
0 and I-Am answers will be sent as broadcasts. However, sometimes there is no BBMD
functionality. Therefore, broadcast answers will be blocked. This problem can be solved with
sendUnicastIam=1 .
[bacnet] statCheckInterval
- Type
- unsigned
- Default
- 20
- Range
- >2
Time interval (in seconds) in which statistical data point elements are refreshed.
[bacnet] staticRouterBinding
- Type
- string
This entry allows the definition of a static router to a specific BACnet network. The
definition of a static router is necessary if automatic router detection to a network with
broadcast telegrams is not possible due to network configuration. The Syntax of the entry is
<Network number>:<IP address>:<Port number>". For example:
staticRouterBinding = "100:192.168.2.100:47808" This entry defines that the network 100 is
reached via router 192.168.2.100 and port 47808. The entry can be defined several times in
the section, if more than one router exists.
[bacnet] useJsonFormat
- Type
- bool
- Default
- 1
- Range
- 0|1
This entry defines if JSON format is used for complex properties (structure data type)
mapping.
[bacnet] userBitStatusFlagx
- Type
- integer
- Default
- 0
- Range
- 0-31
Defines how the BACnet status flags are mapped on the WinCC OA user bits. The value 0
means that the corresponding status flag is not mapped. The value for "x" stands for
the bit number in the status flags word:
- 0 -> in alarm
- 1 -> fault
- 2 -> overwritten
- 3 -> out of service
- 4 -> not specified
- 5 -> not specified
- ...
- 31 -> not specified
[bacnet] userBitTrendLog
- Type
- uint
- Default
- 0
- Range
- 0-32
Defines the user bit onto which the incoming values to the TrendLog object are stored, in
addition to the designated Log_Buffer property. If this config entry is set to 0 or has not
been set in the config file, the values are stored only in the Log_Buffer property and can
only be read from it. This config entry provides additional protection against data loss,
for example, if a TrendLog object is not longer needed and will be deleted (thus also the
data from his Log_Buffer property will be lost) its values can still be read from the
defined user bit. If the TrendLog values should be written as correction values (this is
necessary iff original values of the trended property also are written by other sources) it
is required to set also the config entry histDataBits in the [bacnet] section.
[bacnet] userByteAlarmPrio
- Type
- uint
- Default
- 0
- Range
- 0-4
Obsolete since version 3.10. This config entry enables the mapped BACnet priority (see
Config.AlarmPrioMapping) also for the BACnet Application. This config entry defines to which
user byte number (1 - .4) the BACnet priority is reflected. Default is 0 (= no mapping).
[bacnet] userByteLogStatus
- Type
- uint
- Default
- 0
- Range
- 0-4
This entry specifies if logstatus records are written to DPE and which userbyte is used to
receive the logstatus value. If the value is 0 the logstatus records are filtered out.
[bacnet] useWriteMultiple
- Type
- bool
- Default
- 0
- Range
- 0|1
Defines if the WriteMultiple service is used for grouping write requests. If the result of
write requests should be shown in the application this entry must be set to false.