PolarSoft BACnet Stacks

If you're a software developer tasked with implementing BACnet, the international standard for building and control systems networking, you've come to the right place. If you've looked at the BACnet standard, you know that it's very complex, and you probably don't have the time to become that much of a BACnet expert. You probably don't have the time or resources necessary to develop BACnet support from the ground up. You need a source for reliable platforms to help jumpstart the process of getting your products communicating with other BACnet devices. You may even have multiple platforms that require a customized BACnet solution to fit your products. You need PolarSoft®.


Whether you need Windows or Linux or embedded applications down to the smallest of devices, our extensive collection of BACnet products is the first place to look.


Windows Applications - Binary Deployment

PolarSoft provides two different Windows BACnet stacks that are licensed based on binary deployment. This means that you pay a small royalty fee for each copy that you distribute. The pricing model makes this an attractive choice for applications that are deployed on PCs.

Our BACDOC product is a Windows DLL that allows programs in C, C++, VB6 and .Net to make use of an extensive collection of functions covering both client and server applications. The API provides multiple schemes for interacting with application programs, including windowed and windowless operation, and synchronous/asynchronous calls. Our CBQ product is a Windows managed native 64 bit DLL designed for programs using C# and VB.Net. It also includes a large collection of functions covering both client and server applications. The API provides multiple schemes for interacting with application programs, including windowless operation, and synchronous/asynchronous calls. Fully supports BACnet/IP, IPv6 and MS/TP. (Recommended for newer designs).


Embedded and Linux Applications

PolarSoft FreeRange is a set of modular software component modules that provide BACnet client and server application layer, network layer and media access (MAC) layer communications services to embedded systems programs. FreeRange is written entirely in the C language for ease of portability to various platforms.


FreeRange interfaces with the embedded system through simple function calls. FreeRange abstracts underlying tasking and I/O to simplify implementation on different platforms and operating environments. FreeRange implements nearly every BACnet service in client and server forms. However a unique conditional compilation feature allows configuration of specific subsets of services for smaller and easier-to-implement products with corresponding reduction in resource requirements.


The stack also includes full routing functionality and a high-performance MAC layer interface. You can use FreeRange with a single media type, or with multiple ports with N-way routing. The BACnet device object may be homed on any single media type. In addition it supports Segmentation, BBMD functionality, MS/TP Proxy functionality and virtual devices.


Not all BACnet devices require the power and sophistication of FreeRange. Often a much smaller set of capabilities are required, as well as more restricted resources in terms of CPU and memory. For these applications we created Very Small BACnet (VSB). This is a family of BACnet stacks that are tailored to constrained devices ranging from the very smallest sensor to fairly modest capability controllers. While not as capable as FreeRange, VSB stacks pack a big punch and are widely used in many industry-leading devices.