|
BACnet RDK
The BACnet specification can be a little daunting to even the most
experienced computer programmer. The specification is over 500 pages
long and requires an in depth knowledge of TCP/IP, threading etc.
Not only is it very time consuming to build a driver, it is very difficult
to provide all of the features that BACnet has to offer. The BACnetX ActiveX
component eliminates the need for a developer to write the BACnet Driver
so they can concentrate on the implimentation of the driver into an application.
The BACnet RDK consists of an ActiveX component called BACnetX that
can be used to develop a BACnet Application. The BACnetX ActiveX Component
could be used to build a Management Station, Display Real Time Data on a Web page,
or in a Gateway.
Table Of Contents
BACnetX ActiveX Component
BACnetX is an ActiveX dll that provides an API for providing BACnet Client and
Server capability into any Microsoft Windows Application using VB, .Net, Delphi,
Java etc. For Visual Studio C++ applications we reccomend the BACnet Server API.
BACnet services, datatypes etc. are represented as ActiveX objects that can be built
into a Visual Basic application.
Server Mode
When operating as a Server, BACnetX will respond to BACnet requests from other
devices. Standard BACnet services such as readProperty etc. are all handled
by BACnetX automatically which is able to understand the request and send a response
based upon the Internal Objects stored within BACnetX.
BACnet Internal Objects can be created inside the BACnet Server for
storing real-time data. When operating in this mode an application will
create the required objects and then pass real time data to the internal objects.
BACnetX automatically handles the communication between other clients, it will
respond to requests such as readProperty, subscribeCOV etc. If another device writes
to an object, then an event is fired to indicate this has taken place. BACnetX can
easily store 10,000 internal objects and it is possible to quickly create a gateway
application to many third party systems.
Client Mode
When operating as a Client, BACnetX can be used to send almost any standard BACnet
Service to another BACnet Device. These BACnet Services can be used to access the
BACnet Objects for reading, writing etc.
Services Supported
The BACnetX ActiveX Component implements the following services listed in the the table.
All Objects support COV reporting as well as Intrinsic Reporting for Alarms.
| BACnet Service |
Initiate |
Execute |
| Who Is |
Yes |
Yes |
| I Am |
Yes |
Yes |
| Who Has |
Yes |
Yes |
| I Have |
Yes |
Yes |
| Read Property |
Yes |
Yes |
| Write Property |
Yes |
Yes |
| Device Communication Control |
Yes |
Yes |
| ReinitializeDevice |
Yes |
Yes |
| Atomic Read File |
Yes |
Yes |
| Atomic Write File |
Yes |
Yes |
| Time Synchronization |
Yes |
Yes |
| UTC Time Synchronization |
Yes |
Yes |
| Subscribe COV |
Yes |
Yes |
| Subscribe COV Property |
Yes |
Yes |
| Confirmed COV Notification |
Yes |
Yes |
| Unconfirmed COV Notification |
Yes |
Yes |
| Read Property Multiple |
Yes |
Yes |
| Read Property Conditional |
- |
- |
| Read Range |
Yes |
Yes |
| Write Property Multiple |
Yes |
Yes |
| Get Alarm Summary |
Yes |
Yes |
| Get Event Information |
Yes |
Yes |
| Get Enrollment Summary |
Yes |
Yes |
| Acknowledge Alarm |
Yes |
Yes |
| Confirmed Event Notification |
Yes |
Yes |
| Unconfirmed Event Notification |
Yes |
Yes |
| Unconfirmed Text Message |
Yes |
Yes |
| Confirmed Text Message |
Yes |
Yes |
| Add List Element |
Yes |
Yes |
| Remove List Element |
Yes |
Yes |
| Create Object |
Yes |
Yes |
| Delete Object |
Yes |
Yes |
| Unconfirmed Private Transfer |
Yes |
Yes |
| Confirmed Private Transfer |
Yes |
Yes |
| VT Open |
- |
- |
| VT Data |
- |
- |
| VT Close |
- |
- |
| Life Safety Operation |
Yes |
Yes |
| Get Event Information |
Yes |
Yes |
Object Types Supported
The BACnetX ActiveX Component implements the following objects listed in the the table.
| BACnet Object |
Creatable |
Deletable |
| AnalogInput |
Yes |
Yes |
| AnalogOutput |
Yes |
Yes |
| AnalogValue |
Yes |
Yes |
| BinaryInput |
Yes |
Yes |
| BinaryOutput |
Yes |
Yes |
| BinaryValue |
Yes |
Yes |
| Calendar |
Yes |
Yes |
| Command |
Yes |
Yes |
| Device |
No |
No |
| EventEnrolment |
Yes |
Yes |
| File |
No |
No |
| Group |
Yes |
Yes |
| Loop |
Yes |
Yes |
| MultistateInput |
Yes |
Yes |
| MultistateOutput |
Yes |
Yes |
| NotificationClass |
Yes |
Yes |
| Program |
No |
No |
| Schedule |
Yes |
Yes |
| Averaging |
Yes |
Yes |
| MultistateValue |
Yes |
Yes |
| TrendLog |
Yes |
Yes |
| LifeSafetyPoint |
Yes |
Yes |
| LifeSafetyZone |
Yes |
Yes |
| Accumulator |
Yes |
Yes |
| PulseConverter |
Yes |
Yes |
|