BACnet Connector Details

Intro

The user can find below the details of the new BTL Certified BACnet Operator Workstation (OWS) and BACnet Server (not certified). It includes new functionalities, supported objects and properties. As well as some differences compared to the old configurations.

The documentation for the BACnet connector can be found in BACnet Connector and BACnet Server can be found in BACnet Server.

Objects

Supported objects are as shown in this spreadsheet.

Properties

Supported properties are as shown in this spreadsheet.

Differences

Below are some differences covering both the BACnet Connector Client and BACnet Server.

BACnet Connector Client

  1. The bacnetLocalAddress tag is now replaced with bacnetRoute string tag if connecting through VPN and if network number is 0. The bacnetRoute tag will need to be added to the BACnet connector in order for it to communicate and for the connector to know where the device lives. The reason is because VPN doesn’t support broadcast messages such as ‘who-is’ and ‘i-am’. The bacnetRoute tag is a string type and it’s value is the router IP address.

  2. The bacnetLocalAddress tag is deprecated.

  3. The actorTimeout (“APDU Timeout”) and bacnetRetryCount (“Retry Count”) are now set up in the BACnet Global Config tool, not in the tuning policy record(s). Both will apply to all BACnet connectors.
    Query to batch remove these tags from tuning policies if applicable:
    readAll(connTuning).map x => diff(x, {-actorTimeout, -bacnetRetryCount}).commit

  4. After the updating to 5.1, this process identifier number from the BACnet device will be the same for all connectors because the instance number of the device (added in the NC object recipient list) is changed.
    User needs to manually change the process identifier number in the BACnet device or the value of the bacnetAlarmPid tag in order to have specific alarms added in the Alarms app. User should not have to do anything when migrating as the connector will re-subscribe to those NCs using the new pid and the new instance number.

    If there was a bacnetAlarmPid set and for some reason there is a requirement to keep all settings the same, the user would just have to make sure the the bacnetInstance is the same as on the older setup and set it in the BACnet Global Config tool.

  5. The ACC object is configured with the kind type as number after the update. The user must manually change it to string type if used.

  6. Some point types have changed. Here is a list of those point types.

  7. If using a FIN zip on a Windows environment, the user needs initialize the BT BACnet Stack (BBS) configuration manually. Look at the “Setting BBS Manually” section in the BACnet Connector doc on how to do this.

  8. New connector is not supported on MAC.

  9. New connector supports communication with multiple IP’s (network cards) when local bind address is set to 0.0.0.0 and standard port of 47808. If local bind address is configured to some specific IP and port other than 47808, then it can only communicate on that IP network card and port.

  10. All projects on the same instance will share the same local bind address IP and Port.

  11. Read Property Multiple (RPM) supports all/optional/required properties also.

  12. Write Property Multiple (WPM) with specific Index of Array support added.

  13. Proprietary Data types will be displayed as Raw data in FIN.

  14. For intrinsic alarms, add the corresponding Event Enrollment (EE) object under the Equip Tree in the database. The EE would be mapped as a point under an equip just like all the other BACnet objects, which then allows the connector to subscribe to those notification events.

  15. For IP devices the default value of APDU Timeout is 6sec and Retry Count is 3 (recommended and default in the BACnet Global Config tool).

  16. Support for Foreign Device registration.

  17. Recommend Java 11 for new FIN.

BACnet Server

  1. An object's PRESENT_VALUE is dependent on PriorityArray and RelinquishDefault properties.

  2. All the project devices will be on same local network number and local bind address.

  3. The bacnetServerLocalAddress and bacnetServerNetwork tags no longer needed on the bacnetServer extension.

  4. All the project devices should have a unique device instance number and MAC address.

  5. Added new properties:
    a) RelinquishDefault on all Value Objects (AV/BV/MSV)
    b) PropertyList on all supported objects
    c) Polarity for BI

  6. Points with Str type and missing the enum tag, won't be added to Server Device (strings don’t exist in BACnet protocol).

  7. Writing a value of 0 to any specific index of MSV will clear that index (Null).

  8. When the Server is enabled, BBMD and FD are not supported and will not process local broadcast messages.

  9. BACnet Client and Server cannot communicate with each other on the same PC.

  10. The bacnetServerConfigureIp() function has been deprecated.

  11. BACnet Client and Server must have different instance number if in the same instance of FIN.