Friday, December 29, 2017

BACnet object reading by LabVIEW

BACnet is a communication protocol which stands for building automation and control network. It is developed by ASHRAE and still governed by ASHRAE. BACnet protocol was specifically designed for the building automation, which includes HVAC that is heating ventilation and air conditioning devices.
Why BACnet became so popular in automation industry?
The reason is interoperability and interchangeability. In previous days there was no compatibility between two devices made of the different manufacturer.
Let's take an example
The Building owner who has control devices from manufacturer X in his company premises and wants to expand their facilities with new control devices made of manufacturer Y. But He cannot do that because there is no compatibility between two devices because the devices from the different manufacturer using different
communication protocol in order to exchange their information. To resolve this issue the team of BACnet came up with the new idea and they have standardized the protocol in such way in which all the manufacturer has to follow the same set of rules. So Now with the help of BACnet protocol building owner can go for the expansion of their facilities with any manufacturer very easily without worrying about the compatibility.
Now the Idea of choosing the LabVIEW platform
Most of the supplier in nowadays are using the LabVIEW as a SCADA platform. Supervisory control and data acquisition system allow you to collect the information from different devices, in one place. To establish the communication between their SCADA and BACnet device they have to use some protocol converter, which converts the BACnet Protocol into some other protocol, which can be easily handled. But this type of converters are very costly and raise the overall budget of the project with the help of LabVIEW, which is able to directly communicate with the BACnet device can bring the overall cost down.


BACnet protocol can be defined on the basis of different communication media like MSTP which is master-slave token passing then BACnet IP, BACnet Ethernet and so on. In this blog, we will talk about the Basic read property operation for analog and digital inputs over the BACnet IP.
To start the communication with BACnet device, who is command must be broadcast. Who-Is service is used by a BACnet-user to determine the device object identifier and network address and some other properties, of devices which share the same internetwork. The device will respond by I-Am. The I-Am service is used to respond to Who-Is service requests. However, the I Am service request may be issued at any point of time. It does not need to be preceded by the receipt of a Who-Is service request.
To capture the BACnet packets in LabVIEW, UDP (User datagram protocol) is required. The UDP source and destinations ports shall be set to X'BAC0'. Just like the who-is and I-am pallets in LabVIEW, we will place all the created library for different services, which is required to perform this task. After arranging the whole VI, WE will start our actual testing to see whether this VI able to read the BACnet object or not. Due to unavailability of actual BACnet device, we will use the BACnet device simulator which will create the BACnet environment.
Any BACnet device must contain device object, The Device object defines a standardized object whose properties represent the externally visible characteristics of a BACnet Device. There shall be exactly one Device object in each Device.
To create a device object right click on BACnet network and select add BACnet device. You can change the device ID and its name as per your requirement.
To create a device object right click on BACnet network and select add BACnet device. You can change the device ID and its name as per your requirement.
Now to create the different objects, right click on the device then select add BACnet object. You can choose any object as per your requirement, In our case, we will perform the read operation so we will use BACnet object type as analog input followed by its instance no. and it's name. The same way we will add the object for Binary input. In our case, we will read 3 analog input and 2 digital input. Once you are done with the object creation, the software will automatically start the operation.
The Actual connection between BACnet simulator and LabVIEW VI will look like this, in which BACnet simulator is running on small PC and LabVIEW on the big one and both are connected with red color Ethernet cable.


 Front panel of VI looks like this

After pressing the run button VI has successfully fetched the different objects from the simulated BACnet device running on the different computer. (Please refer video) Press button will start the reading of analog and the digital values.

2 comments:

  1. Hello,
    I'm very interessted in BACnet and LabVIEW. Would it be possible to share the LabVIEW Code so that I can see the Implementation?

    ReplyDelete
  2. Pokies Casino | Online Casino in India - Kadangpintar
    Play online casino games at Kadangpintar. Enjoy slots, live dealer games and table games. Enjoy 바카라사이트 casino 온카지노 games in a friendly 카지노 environment,

    ReplyDelete