|
BACnetX ActiveX Component - Frequently Asked Questions
Where I can get more information about BACnet?
Developed under the auspices of the American Society of Heating,
Refrigerating and Air-Conditioning Engineers (ASHRAE),
BACnet is now an American national standard, a European pre-standard,
and a potential global standard.
BACnet is "a data communication protocol for building automation and control networks."
A data communication protocol is a set of rules governing the exchange of
data over a computer network. The rules take the form of a written
specification (in BACnet's case they are also on compact disk) that
spells out what is required to conform to the protocol.
What is a Device ID?
The Device ID is used to uniquely identify each BACnet Device, it can be in the
range of 0 to 4194304. There cannot be more than 1 device using the same Device ID.
How can I change the Device ID?
By default BACnetX will have a Device ID of zero, it can be changed in the initialization
string when the application starts.
Private Sub Form_Load()
Set objApplicationLayer = New BACNETXLib.ApplicationLayer
'Start BACnetX with a Device ID of 200
objApplicationLayer.Initialize 200
End Sub
How can I change the BACnet/IP Network Number?
The Initialize method of the ApplicationLayer object has an optional
second parameter called a connection string. The connection string can be
used to configure optional properties like the UDP Port Number
Private Sub Form_Load()
Set objApplicationLayer = New BACNETXLib.ApplicationLayer
objApplicationLayer.Initialize 200 "TYPE=BACNETIP;NETWORK=1;"
End Sub
How can I change the UDP Port?
The Initialize method of the ApplicationLayer object has an optional
second parameter called a connection string. The connection string can be
used to configure optional properties like the UDP Port Number
Private Sub Form_Load()
Set objApplicationLayer = New BACNETXLib.ApplicationLayer
objApplicationLayer.Initialize 200 "TYPE=BACNETIP;NETWORK=1;UDPPORT=47808;"
End Sub
Where do I specify the IP Address?
You don't need to, BACnetX will locate other devices on the network using
the BACnet Services whoIs/Iam. Using these services, BACnetX will automatically
map a Device ID to an IP address.
What is a BACnet Object?
A BACnet object is a stored inside a BACnet device to hold information. There are standard
object types like Analog Input, Analog Output, etc which are used to hold real time data
and other information. Each Object Type is referenced by a number, for example 0 is an
analog input. Each Object has many properties for holding information and must contain
an ObjectName. Objects are numberred within a device from 0 to 4194304
What is a BACnet Property?
A property is an item within a BACnet Object. For example an ObjectName, PresentValue,
Description etc are all properties of an object. In most cases, you will only ever use
the PresentValue property.
What is the Array Index?
Some properties are stored as an array. For example the ObjectList is stored as an array
of object identifiers. The PresentValue property is not an array, for all properties that are
not arrays, an array index of -1 must be used.
How do I access information?
First of all you need to know which device to talk to using it's Device ID. Then you need to
find out the Object Type, Instance, Property and Array Index.
What are Internal Objects?
BACnet Internal Objects are BACnet Objects stored inside BACnetX, they
are visible as BACnet Objects to other BACnet devices on the network.
Can I use BACnet Ethernet?
Yes, there is a seperate dll which has BACnet Ethernet support built in. You will need
to register this dll instead of BACnetX.dll
It also requires winpcap to be installed in order for it to run.
BACnet Ethernet was superseeded
by BACnet/IP but it may still exist on some older systems.
What depencies does BACnetX have?
BACnetX requires the following dll's to be present on the target machine. Note that normally
these files would already be loaded onto a Windows PC.
| COMCTL32.DLL | Microsoft Common Controls |
| MSVCP60.DLL | Microsoft Visual Studio runtime |
| MSVCRT.DLL | Microsoft Visual Studio runtime |
| WININET.DLL | Windows Internet connection control |
| WS2_32.DLL | Windows Sockets Library |
Does BACnet work across subnets?
Yes, but a BBMD needs to be installed.
What is a BBMD?
A BBMD (BACnet Broadcast Management Device) is used to allow devices on
different subnets to communicate to one another. There can only be one
BBMD on each subnet. BACnetX can be configured to operate as a BBMD.
What is a Foreign Device?
A foreign device is a device that is not on the same subnet as a BBMD. BACnetX
can operate as a foreign device to enable it to connect across subnets.
Does BACnetX support COV Reporting?
Yes, BACnetX fully supports COV reporting.
Does BACnetX support Intrinsic Reporting?
Yes, all internal objects support Intrinsic REporting for Alarms.
|