BACdoor OEM Client/Server (BACDOC)
Windows Client/Server Software for BACnet Systems
If you're a developer trying to build multi-vendor BACnet client or server applications under Windows, chances are you're struggling to make your apps work properly and inter-operate across vendors. If you've looked at the BACnet standard, you know that even simple communications functions can present some daunting problems, and you probably don't have the time to become that much of a BACnet expert. You need fast and reliable tools to help you get right into communicating with BACnet devices and focus on solving your application problems. You need volume licensing that's flexible, and pricing that won't blow your budget. You need BACDOC™.
BACDOC is the industry's first easy-to-use BACnet Client and Server Software for Windows developers. BACDOC runs under Windows 7/8/10 and Server 2012, and provides a robust set of client/server features tailored to the needs of application designers with OEM distribution in mind.
BACDOC is implemented as a Win32 DLL. The DLL works with BACnet/IP over Ethernet, and you can even use MS/TP through USB or any standard serial COM port, with an external EIA-485 converter. For legacy applications, you can use Ethernet 8802-3 with NDIS-compliant drivers, or PTP through any standard serial COM port.
Our famous fifth generation MS/TP for Windows technology is unequalled and provides fast, reliable operation with direct connection to EIA-485 networks
The DLL can be configured to operate in a "windowed status" mode that provides a dynamic view of the DLL communications and configuration through its own window and system tray icon. Alternately you can configure BACDOC to operate in a "windowless mode" for use within a Windows service.
After initialization, the DLL maintains several separate Windows threads that continuously process requests from client application programs, and receive and handle responses from BACnet peer devices. Only one application program process can use the DLL at a time. The DLL uses an asynchronous method for initiating a request, and the caller must periodically poll for the completion of the request. This approach leaves the control of polling frequency in the hands of the application designer, and makes it simple to interface with the DLL from "C", Visual Basic and other popular Windows development languages.
BACDOC will automatically locate and identify peer BACnet devices for you, even on multiple network segments. You can also configure the peer list statically in a file for faster startup, when you need to communicate with MS/TP slaves, or when using BACnet/IP without BACnet Broadcast Management Devices. The DLL has a flexible policy for peer management allowing both dynamic peer discovery and static peer configuration.
The basic operations of Reading and Writing properties of BACnet objects support all BACnet standard objects and properties with primitive data types. Proprietary objects and properties that return primitive data type values are also supported. A special "RAW DATA MODE" is also provided for handling special and proprietary data types.
The DLL asynchronously receives confirmed and unconfirmed Event Notifications and maintains its own "alarm and event list" that may be examined independently by the application program whenever needed. Individual notifications requiring acknowledgment may also be acknowledged by the application program.
The DLL provides asynchronous file transfer support, which allows calling programs to request the uploading or downloading of files or portions of files from and to peer BACnet devices completely under the DLL's control.
Ancillary functions for DeviceCommunicationControl and ReinitializeDevice are also provided.
- Works with Windows 7/8/10 and Server 2012 in x32 and x64 versions
- Includes complete API documentation
- Includes sample programs in C, C++, VB6, C# and VB.net
- Includes XML-oriented BACDoor Service for multi-process API
- Supports BACnet revision 14
- Fully Asynchronous operation for very high performance applications
- Unicode support
The DLL provides explicit functions for managing each of these popular BACnet tasks:
- Segmentation for transmitted and received messages with configurable sizing
- Read/WriteProperty and Read/Write Multiple
- Alarm/EventNotification receiving and multi-mode alarm handling/logging
Asynchronous reception of Confirmed and UnconfirmedEventNotifications
Independent control over explicit AcknowledgeAlarm initiation
- GetAlarmSummary and GetEventInformation initiation
- Pseudo Alarm “subscription”
- AtomicRead/Write Files
- Automatic Peer Device discovery and management
- Static Device Binding
- Dynamic Device Binding including Who-Is initiation and I-Am execution
Both Automatic and explicit Who-Is (with ranging) are supported
Fully asynchronous management of peer device list
Application program access to peer list
- Dynamic Object Binding through explicit Who-Has initiation and fully asynchronous I-Have reception
- Subscription and management for COV notifications
- Windowed and Windowless modes
windowed mode provides status and diagnostic tools
- ReadRange for Trend Logs
- Time master TimeSynchronization including UTC
- Server support for DE, AV, BV, MV objects
with asynchronous and callback coordination with application
binary database file
virtual device routing
dynamic object creation
- DeviceCommunicationControl initiation
- ReinitializeDevice initiation
- UnconfirmedPrivateTransfer initiation and execution
- Modem and Half-router support
- BACdoor Service provides asynchronous multi-process API with XML features
Multi-Site and OEM Licensing also available licensed in blocks of 5,10,25,50,100,200 etc.