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] 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 the definition of a BBMD, where the driver shall register as "foreign
device". The entry can be defined several times in this section if the driver shall register
at more than one BBMD as "foreign device". The syntax of the entry is <IP
address>:<Port number>". For example: foreignRegistrationAddress =
"192.168.2.100: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
- integer, string, string, string, integer, string, integer, integer
This entry is mandatory for configuration of the connection to the BACnet device. Syntax:
net = <Network> "IP" <IPAddress> <Subnetmask> <UDPPort> <BBMDAddress> <BBMDMaxForeignDevices> <ForeignDeviceHoldingTime>
- Network - The unique assigned network number. Currently the BACnet driver is able to
communicate with only one network.
- IP - Protocol type. The current version supports IP (BACnet/IP).
- IPAddress - IP address of the network card, over which the BACnet/IP net is
accessible. If the entry is empty, the IP address is specified by the own host name. The
latter works only then when there is only one network card attached/used in the
computer.
- Subnetmask - The subnetmask defines the broadcast addresses, with which the broadcasts
are sent into the BACnet net. If the subnetmask entry is empty ("") so the subnetmask of
the configures network connection is used.
- UDPPort - UDP port is used for the BACnet/IP communication. In the most cases the port
has to be set to 47808 (0xBAC0).
- BBMDAddress - IP address of "BACnet/IP Broadcast Management Devices". This value has
to be set in the current version to 0, because foreign devices are not supported.
- BBMDMaxForeignDevices - Maximum number of foreign devices (default = 0). This entry is
not relevant for the current version.
- ForeignDeviceHoldingTime - Holding time for foreign devices (default = 120
seconds).
Example:
[bacnet]
net = 1 "IP" "" "" 47808 "" 0 120
[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] 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.