Difference between revisions of "BACnet"
Line 242: | Line 242: | ||
|rowspan="1"|2 | |rowspan="1"|2 | ||
|rowspan="1"|Unsigned Integer | |rowspan="1"|Unsigned Integer | ||
− | |0 ... (2^32 - 1) | + | |0 ... (2<sup>^32</sup> - 1) |
|- | |- | ||
|rowspan="1"|3 | |rowspan="1"|3 | ||
|rowspan="1"|Signed Integer | |rowspan="1"|Signed Integer | ||
− | | -2^31 ... (2^31 - 1) | + | | -2<sup>^31</sup> ... (2^<sup>31</sup> - 1) |
+ | |- | ||
+ | |rowspan="1"|4 | ||
+ | |rowspan="1"|Real (IEEE-754 floating point) | ||
+ | |floating point number (with decimal point separator) | ||
+ | |- | ||
+ | |rowspan="1"|5 | ||
+ | |rowspan="1"|Double (IEEE-754 double precision floating point) | ||
+ | |double precision floating point number (with decimal point separator) | ||
+ | |- | ||
+ | |rowspan="1"|6 | ||
+ | |rowspan="1"|Octet String | ||
+ | |the hexadecimal representation of byte values, for example: “3b0ac2ff” | ||
+ | |- | ||
+ | |rowspan="1"|7 | ||
+ | |rowspan="1"|Character String | ||
+ | |a string. The default character set is UTF-8. Additional supported character sets are: ISO-8859-1, UCS-2, EUC-JP | ||
+ | |- | ||
+ | |rowspan="1"|8 | ||
+ | |rowspan="1"|Bit String | ||
+ | |a string representing a sequence of bit values, for example: “111010001” | ||
+ | |- | ||
+ | |rowspan="1"|9 | ||
+ | |rowspan="1"|Enumerated | ||
+ | |0 ... (2<sup>32</sup> - 1) | ||
+ | |- | ||
+ | |rowspan="1"|10 | ||
+ | |rowspan="1"|Date | ||
+ | |yyyy/mm/dd[/ddd] | ||
+ | |||
+ | yyyy is the year number; a * character is a wildcard matching any year, or an unspecified value. | ||
+ | |||
+ | mm is the month number, with January as 1; a * character is a wildcard matching any month, or an unspecified value; “odd” represent all odd months; “even” represent all even months. | ||
+ | |||
+ | dd is the day number, starting from 1 for the first day of the month; a * character is a wildcard matching any day, or an unspecified value; “odd” represent all odd days; “even” represent all even days; “last” represent the last day of the month. | ||
+ | |||
+ | /ddd is the week day, and is only present if set to a day of the week, and not to the wildcard/unspecified value; days are represented as “mon”, “tue”, “wed”, “thu”, “fri”, “sat”, “sun” | ||
+ | |- | ||
+ | |rowspan="1"|11 | ||
+ | |rowspan="1"|Time | ||
+ | |hh:mm:ss.ff | ||
+ | |||
+ | hh is the hour, using a 24-hour clock from 0 to 23; a * character is a wildcard matching any hour, or an unspecified value. | ||
+ | |||
+ | mm is the minute, from 0 through 59; a * character is a wildcard matching any minute, or an unspecified value. | ||
+ | |||
+ | ss is the seconds, from 0 through 59; a * character is a wildcard matching any second, or an unspecified value. | ||
+ | |||
+ | .ff is the hundreds of seconds number, from 0 to 99; a * character is a wildcard matching any fraction of second, or an unspecified value. | ||
+ | |- | ||
+ | |rowspan="1"|12 | ||
+ | |rowspan="1"|BACnetObjectIdentifier | ||
+ | |object_type.object_id | ||
+ | |||
+ | object_type is represented with the type name for supported types, and with the BACnet object type number for unsupported objects. | ||
+ | |||
+ | object_id is the object instance number | ||
|- | |- |
Revision as of 15:00, 28 February 2014
BACnet is a protocol developed by ASHRAE for building automation and control networking, specifically designed to meet the communication needs of building automation and control systems for applications such as heating, ventilating, air-conditioning control, lighting control, access control and fire detection systems. HSYCO conforms to a functional subset of the BACnet protocol, as defined in ANSI/ASHRAE Standard 135-2010. HSYCO can only be configured as a BACnet/IP client device. BACnet support is implemented as an I/O Server with a data point representation that you can use in the EVENTS language and Java to read and write BACnet’s objects and properties, and to manage asynchronous notification services.
Contents
Communication
HSYCO supports BACnet/IP, where the BACnet messaging protocol is transported over standard IP networks, over local networks. Routing of BACnet traffic is currently not supported by the HSYCO BACnet/IP I/O Server. You should configure only one I/O Server for each LAN used for BACnet traffic. Support for multiple BACnet/IP local networks is achieved by configuring one I/O Server for each network.
HSYCO Configuration
Options
ID | Default | Values | Description |
---|---|---|---|
deviceid | 590001 | 0 to 4194303 | BACnet device identifier assigned to the HSYCO BACnet client |
disableverbosedump | false | true | when verbose log is enabled, don’t write IP packets dump to the log files |
false | when verbose log is enabled, all BACnet IP packets are written to the log files | ||
eventslog | false | true | if the general eventsLog option is also true in System Settings, BACnet events for this gateway are written in the log files |
false | BACnet events for this gateway are not written in the log files, even if the eventsLog option is true in System Settings | ||
gui | false | true | enables support of the (bacnetutility) Web GUI object |
false | disables support for the Web GUI |
BACnet Integration
The BACnet driver is implemented as a bidirectional I/O Server. All interaction is based on EVENTS’ IO events and actions. HSYCO conforms to a functional subset of the BACnet protocol.
The following services are supported:
- Alarm and Event Services:
- ConfirmedCOVNotification
- UnconfirmedCOVNotification
- SubscribeCOV
- Object Access Services:
- ReadProperty
- WriteProperty
- Remote Device Management Services:
- Who-Is
- I-Am
The BACnet I/O Server supports all standard object types and properties for the ReadProperty service, while object’s properties that could be written using the WriteProperty service are listed in the following table.
Following HSYCO’s naming convention for BACnet, all object types and properties are written in lowercase letters with no spaces or underscore characters. For example, Present_Value is written as “presentvalue”, and the binary input object type is written as “binaryinput”.
Objects Type Supported
Object Type | Writable Properties |
---|---|
accumulator |
|
analoginput |
|
analogoutput |
|
analogvalue |
|
averaging |
|
binaryinput |
|
binaryoutput |
|
binaryvalue |
|
command |
|
lifesafetypoint |
|
lifesafetyzone |
|
loop |
|
multistateinput |
|
multistateoutput |
|
multistatevalue |
|
program |
|
pulseconverter |
|
accessdoor |
|
loadcontrol |
|
Application Datatype Supported
Tag # | Description | HSYCO Data Type |
---|---|---|
0 | Null | null |
1 | Boolean | 0: false
1: true |
2 | Unsigned Integer | 0 ... (2^32 - 1) |
3 | Signed Integer | -2^31 ... (2^31 - 1) |
4 | Real (IEEE-754 floating point) | floating point number (with decimal point separator) |
5 | Double (IEEE-754 double precision floating point) | double precision floating point number (with decimal point separator) |
6 | Octet String | the hexadecimal representation of byte values, for example: “3b0ac2ff” |
7 | Character String | a string. The default character set is UTF-8. Additional supported character sets are: ISO-8859-1, UCS-2, EUC-JP |
8 | Bit String | a string representing a sequence of bit values, for example: “111010001” |
9 | Enumerated | 0 ... (232 - 1) |
10 | Date | yyyy/mm/dd[/ddd]
yyyy is the year number; a * character is a wildcard matching any year, or an unspecified value. mm is the month number, with January as 1; a * character is a wildcard matching any month, or an unspecified value; “odd” represent all odd months; “even” represent all even months. dd is the day number, starting from 1 for the first day of the month; a * character is a wildcard matching any day, or an unspecified value; “odd” represent all odd days; “even” represent all even days; “last” represent the last day of the month. /ddd is the week day, and is only present if set to a day of the week, and not to the wildcard/unspecified value; days are represented as “mon”, “tue”, “wed”, “thu”, “fri”, “sat”, “sun” |
11 | Time | hh:mm:ss.ff
hh is the hour, using a 24-hour clock from 0 to 23; a * character is a wildcard matching any hour, or an unspecified value. mm is the minute, from 0 through 59; a * character is a wildcard matching any minute, or an unspecified value. ss is the seconds, from 0 through 59; a * character is a wildcard matching any second, or an unspecified value. .ff is the hundreds of seconds number, from 0 to 99; a * character is a wildcard matching any fraction of second, or an unspecified value. |
12 | BACnetObjectIdentifier | object_type.object_id
object_type is represented with the type name for supported types, and with the BACnet object type number for unsupported objects. object_id is the object instance number |