LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Reading values using BACnet IP protocol on LabVIEW

Solved!
Go to solution

I am trying to get a reading in LabVIEW from a BACnet device using the BACnet IP protocol functions by Ovak technologies. I've tried to read a value by replicating the client example shown in Ovak's documentation but the software cannot communicate to the device. The BACnet IP device communicate with my work station. I can send ping requests, get responses and interact with the device using the manufacturer's web application. In LabVIEW, the BACnet IP sub-VIs doesn't even detect the device. I've communicated with Ovak technical support about this and tried every fix they suggested but I still cannot interact with the device in LabVIEW. The pictures below shows my reproduction of the example and I've also added Ovak's documentation. Note that, unlike the example, I havent used the ''Write'' function since I only wish to read a property.

 

Has anyone been able to establish a connection between LabVIEW and a device using BACnet IP protocol?

0 Kudos
Message 1 of 9
(2,495 Views)

I'm using the BACnet API from Endigit see here : https://endigit.com/solutions/bacnet-labview-api

and I'm happy with, it's quite surprising that the vendor (I've never ha contact with Ovak) can not help you do a simple read.

You said the ping goes through and your browser can connect to the BACnet server, but hace you tried pinging from LabVIEW (using the system exec VI) ? maybe some firewall stands on your way

Also, do you know the port number to be used to connect to your BACnet server?

 

edit : I see the Ovak Toolkit isn't free and is password protected... I think that' pretty bad.

the one from Endigit isn't free either, but at least the code is not password protected.


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Kudos
Message 2 of 9
(2,478 Views)
Hi,
 
Thank you for your quick response. I've just tried to ping the device from labview using the system exec VI and I'm able to receive all ping responses. I have been told by my building administrators that the port of the bacnet device should be the default one (47808). What's strange is that Ovak told me to put in the client device's (my work station's) IP address and port in the BACnet IP functions and not the device's. 
 
Also, as you said, the API lack transparency so this is why I struggle to make it work since I have nothing to help me troubleshoot.
0 Kudos
Message 3 of 9
(2,455 Views)

GetAttachmentThumbnail.png

OVAK LabView BacNet/IP software doesn't see devices on local ethernet. I have used their example. Whois is responding with "No devices were found".  Yabe and Wago scanners can access the devices. Both have the same settings of IP address and port.  See the pictures below.  Most of VI are locked by password, so no way to fix the issue. 
 

GetAttachmentThumbnail.png

0 Kudos
Message 4 of 9
(1,416 Views)

Hello,

 

I am also having the same issues as the others in this thread. I am able to connect to the network using Yabe and send pings using Windows. However I am having issues getting the OVAK module to see the devices.

 

One of my co-workers was able to get it working before, but is unable to remember how he resolved this issue. 

 

Has anyone figured out why sometimes OVAK cannot recognize the devices?

0 Kudos
Message 5 of 9
(514 Views)

Did you find a solution to this? The "Who is" command is working from the OVAK vi's. It is returning back the Device ID, but when I try to read the properties it is an empty string and no errors. I validated all the firewall settings and I know that the input values to the read property vi is correct. I verified it on YABE.

0 Kudos
Message 6 of 9
(38 Views)

The link you shared for endigit LabVIEW API is opening up a different website, do you happen to know where I can download the endigit  LabVIEW bacnet IP toolkit from?

0 Kudos
Message 7 of 9
(34 Views)
Solution
Accepted by topic author LTSB_Student

Hello,

 

The reason it wasn't working for me is that I was using LabView 64-bit, while the OVAK library only works with 32-bit. 

 

I was able to get the OVAK library to work when switching to the 32-bit VI. That is weird that you are able to send the WhoIs signal but not receive any read commands.

 

The only advice I have for you is to try some of the OVAK example files and make sure the "Object_Index" input to the ReadProperty.vi is set to int(-1). This is how I was able to get the library to work for me. 

0 Kudos
Message 8 of 9
(31 Views)

Hi,

 

Sorry for not sharing my solution and closing the thread.

 

The problem was caused by the index I was using to extract the value. 

 

For the value I was trying to extract, only the instantaneous value is available, as the Bacnet valve doesnt keep any data history. The index 0 returned an unkown/unavailable variable which simply did nothing, while writing/piging worked without any problem. The index had to be set to -1 so that the value could be read properly.

0 Kudos
Message 9 of 9
(16 Views)