Skip to end of metadata
Go to start of metadata



BACnet 

Ignition provides a driver for BACnet (a data communication protocol for building automation and control networks). The first step before setting up devices and using the driver is to download the module. Go to the Ignition downloads page then refer to Installing or Upgrading a Module.

The driver implements BACnet/IP over UDP. Any access to devices on other network media types (Ethernet (ISO-8802-3), MSTP, ARCNET, etc…) must be done through a gateway/router device.

On this page ...


Setup Process

The process for setting up BACnet differs from other drivers in that you have to first set up a local device. After that you can configure a remote device.

  1. Set up a local device.
  2. Set up a remote device.  


Creating Tags

The BACnet driver offers browsing support, making Tag creation as easy as dragging-and-dropping from the Tag Browser. However understanding how the OPC Item Path is read by the driver can be useful. The image below calls out some important parts of the item path.

Remote Device Name

The name of the Remote Device, as known by the OPC server.

Object Type

The BACnet object type. Currently supported types are: 

  • Device
  • AnalogInput
  • AnalogOutput
  • AnalogValue
  • LargeAnalogValue
  • BinaryInput
  • BinaryOutput
  • BinaryValue
  • MultiStateInput
  • MultiStateOutput
  • MultiStateValue

Object Identifier

The numerical identifier of the object. 

IULocgo


BACnet Addressing




Status_Flags and Document Tags

The Status_Flags Tags on each object are turn a JSON document, which requires parsing before you can see the values on the flags.

While the individual flags can be accessed by manually creating Tags for each flag, in some cases you may want to handle the parsing with an expression instead of creating separate OPC Tags. This can easily be done with the jsonGet and getBit functions. Assuming an Expression Tag was created in the same directory as a Status_Flags Tag, we could use the following expression to extract the first bit of Status_Flags (which represents In_Alarm):

getBit(jsonGet({[.]Status_Flags}, 'Value[0]'), 0)

The following feature is new in Ignition version 8.1.4
Click here to check out the other new features

Writing BACnet Null Values

As of release 8.1.4, you can write a None value (via Python) to a Tag that's subscribing to an address in a BACnet device.



In This Section ...



  • No labels