BACnet Questions

I’ve been given a project to get Opto22 PAC Controllers talking to BACnet equipment. I’m slowly learning BACnet. I downloaded the Opto22 BACnet/IP integration kit and didn’t have much luck getting it to work with my initial setup which includes a an Opto22 PAC R2, a Fieldserver router and a Johnson Controls stat. I then noticed the code submitted by Nick Stephens a few years ago and downloaded that to give it a try. He had posted two subroutines, one for discovery and one for reading multiple points. I got the discovery subroutine to work although its a little odd. It will discovery 5 of 19 points very quickly but it will take a couple of minutes for the rest of the points to be discovered. The read operation still doesn’t work. I converted the read subroutine back to a chart last week and seem to get the same results as with the subroutine regardless of various small changes. So I fired up Wireshark to look at the packets being generated. Every TransmitString command seems to result in two similar but slightly different packets. I also get replies to both packets. On the discovery packets I can see the points coming back. I am not seeing any errors from the charts or subroutines.

So two questions:

  1. Can anyone tell me why I am getting two packets for every TransmitString command?
  2. Anyone with any further tips regarding BACnet on Opto22 hardware?


BACnet can be a bit tricky to integrate but I have had some success with it. I actually created my own subroutines to read/write to a device. I cannot answer the specific question about Nick’s subroutines but I know a few people have used them with success.

Are you attempting to make a PAC controller a device in a BACnet ecosystem? Or are you just trying to read/write data to a BACnet device? I can try to help either way. Feel free to respond here or contact me at