Table of Contents

BACnet Protocol Driver

BACnet (Building Automation Control Network) is a communication protocol designed for use in building automation. Mervis IDE supports for selected platforms both BACnet server and BACnet client. The BACnet driver acts as a BACnet client - it allows reading and writing of data on a server, which may be a 3rd party device, such as an air handling unit, security system, etc. To integrate data from Mervis RT into a supervisory system (SCADA) use BACnet server please. The BACnet client is used for integration of third-party systems on automation level - “into a PLC”.

Supported platforms

BACnet is supported on the following platforms:

Other platforms do not support BACnet client nor BACnet server.

The BACnet standard describes several communication media, such as UDP/IP, Ethernet, RS485 (MS/TP), LON, etc. Mervis uses UDP/IP over Ethernet as a transport protocol. (Do not confuse with BACnet over Ethernet, which uses MAC addresses of network cards rather than IP addresses for addressing.) The RS485 interface can not be used now, to talk with BACnet MS/TP devices please use a BACnet router from any available manufacturer.

BACnet object and property types, and their mapping on Mervis variables

The driver is designed so as to allow free assignment of a selected object type, instance, and property to a Mervis IDE variable. Any type and property can be selected, including vendor-specific objects and properties, as it is possible to enter also a user specific property as a number. Please keep in mind the data types of the assigned objects so that the Mervis IDE variable type fits the BACnet object property type. There is usually no problem with standard objects, such as Analog Input, Multistate Value etc., because the required property is mostly the Present Value (85). If another property has to be used, please check its data type in the BACnet standard, and select the corresponding value type and array index, which specifies the part of data to be mapped.

More complex objects can not be mapped onto Mervis variables easily, such as the BACnet Schedule object to a Mervis Time Scheduler. This integration is even not part of the integration concept: editable objects, like weekly schedulers, should be integrated directly into HMI, such as into a SCADA program. 

Mervis IDE configuration

First, define and set up the communication channel. Use BACnet protocol, and UDP as link protocol.

Insert a Device into the channel. The Device is a container for datapoints..

Device properties

UDP Parameters

BACnet Device Parameters

BACnet - parameters for None
According to the network address type, other parameters may be required. There are no parameters necessary for None.

Prototype Definition
This section is to be completed if the generic device shall be saved as a library device, or Prototype. The parameters help to sort, filter, and organize devices in the library.

Device info
Optional data.

The next step is adding the communication group. A Group contains one or more I/O data points.

Right click into the working area of the Device and select Add Group.

Group Properties

BACnet group parameters

In the Group, individual data points can be inserted with entered parameters for BACnet communication. All data points which are in a Group are communicated in one BACnet request, which may make the communication more efficient. However, if the group is too large, the maximum datagram length (APDU) accepted by the other party may be exceeded. It is recommended not to put more than about 20 datapoints into a group.

Note: Maximum number of variables in a device is about 150. When there are problems with communication after datapoints have been added, split the datapoints into two or more devices please. 

Right click the working area of the Device and select Add Data point. Then enter the data point properties.

Data Point Properties

Autogen

BACnet data point parameters
These parameters shall be provided by the BACnet server (3rd party device) manufacturer. They are available as a table or EDE file. The BACnet objects and their properties also can be read out from the BACnet server online, using a BACnet browser (e.g. Yabe).

Then compile the project, and use the generated variables in FUPLA or ST programs as any other global variables.