System Technology

BACnet B-ASC library allows to integrate an AC500_Product_Name Processor Module into a BACnet network and to exchange data between the Processor Module and other devices connected to BACnet network. The library provides the BACnet B-ASC profile which enables the Processor Module to act as a server. The Processor Module receives client requests, performs them and reports back the results.

You can use BACnet IP or MS/TP as communication protocol. For BACnet IP communication use a device with onboard ETHERNET. For MS/TP communication use a device with onboard serial interface.

A proprietary BACnet protocol stack is embedded into some interface implementation which connects the protocol stack to system resources like operating system and communication interfaces.

../_images/191e4c7ecb6f97320a317d3153e636c4

BACnet B-ASC model

BACnet B-ASC library acts as follows.

  • BACnet server protocol stack runs in AC500_Product_Name system task context.
  • BACnet request messages are received and responded via IP or serial interface.
  • Execution of BACnet protocol state machine by protocol stack.
  • Servicing received requests in detail by BACnet B-ASC library object implementation.

The BACnet B-ASC library provides a set of function blocks representing the server, device and data points. The function blocks are the programming interface to the user application.

../_images/860daaba3749aeec0a317d31257655e0

Function blocks BASC_SERVER and BASC_DEVICE are mandatory. The other function blocks are optional BACnet B-ASC Library.

When initializing the function blocks via downloading to the Processor Module, the function blocks evaluate their inputs OBJ_ID and OBJ_NAME and register at the object database. Later changes at these inputs are not evaluated. With each further call by the application the function blocks synchronize the inputs and outputs with the associated BACnet property Present_Value. Received BACnet requests will be serviced by the protocol stack. If an object is addressed that is registered at the object database the request is routed to this object to be handled in detail.

The communication module provides a network layer which acts as interface between proprietary BACnet protocol stack and communication drivers.

Configuration in Automation_Builder

For BACnet IP no special configuration is needed. The onboard ETHERNET interface will be selected via function block input.

  1. Configure serial interface to use with protocol “COM1 - SysLibCom”.

  2. Adjust the settings: Serial Interfaces COM1 and COM2

Task Configuration in IEC 61131-3 editor

All function blocks have to be called in tasks with cyclically processing.

You can use the function blocks with:

  • PLC_PRG with automatic task configuration or manual task configuration.
  • One single program or different programs.
  • One single task or different tasks.

With different programs assigned to different tasks you can define different cycle times and priorities.

Executing BACnet protocol stack is decoupled from IEC task execution. BACnet protocol stack runs in a system task. IEC task cycle times and priorities do not influence receiving of requests and sending of responses. Function block BASC_SERVER does the initialization work only. Function block BASC_DEVICE provides static settings of the BACnet device only. Therefore it does not matter in which IEC task these function blocks are placed.

For the other function blocks the IEC task cycle time and priority are important. These function blocks update their present values while be called by the IEC task.

Limitations

  • No support of COV (change of value), alarms and events reporting.
  • Supported string lengths: up to 40 characters for object names.
  • Supports UTF-8 character set.
  • Maximum number of object instances depends on available user memory of the Processor Module.
  • The response of a readProperty service on the device object property Object_List can transfer maximum 93 object instances even if more objects are used. Due to limitations of used BACnet protocol stack.
  • No support of message segmentation due to used BACnet protocol stack.
  • The supported baud rates are 9600 Baud, 19200 Baud and 38400 Baud.