[bacnet]

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] mapEventValuesToComment

Type
bool
Default
0
Range
0|1
Obsolete since version 3.10. Defines whether the string with the Notification parameters of an event type (CHANGE_OF_STATE, COMMAND_FAILURE or OUT_OF_RANGE) should be written to the alarm comment of the Event_State property of the corresponding BACnet data point (TRUE (=1) = yes, FALSE (=0) = no). Fur further information on event types see Intrinsic and Algorithmic Reporting.

[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.