removeListElement [9] RemoveListElement-Request, createObject [10] CreateObject-Request, deleteObject [11] DeleteObject-Request, readProperty [12] ReadProperty-Request, readPropertyConditional [13] ReadPropertyConditional-Request, readPropertyMultiple [14] ReadPropertyMultiple-Request, readRange [26] ReadRange-Request, writeProperty [15] WriteProperty-Request, writePropertyMultiple [16] WritePropertyMultiple-Request, 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
}
上述标记为红色的既是针对BACnetConfirmedServiceChoice所用到的数据结构。
ReadProperty-Request ::= SEQUENCE //读数据请求和读数据回答 {
objectIdentifier [0] BACnetObjectIdentifier, propertyIdentifier [1] BACnetPropertyIdentifier,
propertyArrayIndex [2] Unsigned OPTIONAL --used only with array datatype }
ReadPropertyMultiple-Request ::= SEQUENCE {
listOfReadAccessSpecs SEQUENCE OF ReadAccessSpecification }
ReadAccessSpecification ::= SEQUENCE {
objectIdentifier [0] BACnetObjectIdentifier,
listOfPropertyReferences [1] SEQUENCE OF BACnetPropertyReference }
BACnetPropertyReference ::= SEQUENCE {
propertyIdentifier [0] BACnetPropertyIdentifier,
propertyArrayIndex [1] Unsigned OPTIONAL --used only with array datatype
-- if omitted with an array the entire array is referenced
}
BACnetPropertyIdentifier ::= ENUMERATED {
accepted-modes (175), acked-transitions (0), ack-required (1), action (2),
action-text (3), active-text (4), active-vt-sessions (5), active-cov-subscriptions (152), adjust-value (176), alarm-value (6), alarm-values (7), all (8), all-writes-successful (9), apdu-segment-timeout (10), apdu-timeout (11), application-software-version (12), firmware-revision (44), archive (13), attempted-samples (124), list-of-group-members (53), list-of-object-property-references (54), list-of-session-keys (55), local-date (56), local-time (57), location (58), maintenance-required (158), manipulated-variable-reference (60), manual-slave-address-binding (170), maximum-output (61), maximum-value (135), maximum-value-timestamp (149), max-apdu-length-accepted (62), max-info-frames (63), max-master (64), max-pres-value (65), max-segments-accepted (167), member-of (159), minimum-off-time (66), minimum-on-time (67), minimum-output (68), event-state (36), model-name (70), number-of-APDU-retries (73), object-identifier (75), object-list (76), object-name (77), object-property-reference (78), object-type (79),
operation-expected optional out-of-service output-units -- see event-parameters polarity prescale present-value priority pulse-rate priority-array priority-for-writing protocol-object-types-supported protocol-revision protocol-services-supported protocol-version reliability relinquish-default schedule-default segmentation-supported state-text status-flags stop-time stop-when-full system-status tracking-value units variance-value vendor-identifier vendor-name -- see database-revision
(161), (80), (81), (82), (83), (84), (185), (85), (86), (186), (87), (88), (96), (139), (97), (98), (103), (104), (174), (107), (110), (111), (143), (144), (112), (164), (117), (151), (120), (121), (155),
}
上述标记为红色者既是本次应用所用到的属性对象
BACnetObjectIdentifier的编码分为两个部分: Object type 占用了10Bits Object Type的表格如下: BACnetObjectTypesSupported ::= BIT STRING {
-- accumulator (23), analog-input (0), analog-output (1), analog-value (2),
Instance Number 占用了22Bits -- averaging binary-input binary-output binary-value calendar command device event-enrollment file group loop multi-state-input multi-state-output -- multi-state-value notification-class program (18),
(3), (4), (5), (6), (7), (8), (9), (10), (11), (12), (13), (14), (19), (15), (16),
}
设备对象所具备的所有属性及其数据结构如下: DEVICE ::= SEQUENCE {
object-identifier [75] BACnetObjectIdentifier, object-name [77] CharacterString, object-type [79] BACnetObjectType, system-status [112] BACnetDeviceStatus, vendor-name [121] CharacterString, vendor-identifier [120] Unsigned16, model-name [70] CharacterString, firmware-revision [44] CharacterString, application-software-version [12] CharacterString, location [58] CharacterString OPTIONAL, description [28] CharacterString OPTIONAL, protocol-version [98]Unsigned, protocol-revision [139]Unsigned, protocol-services-supported [97] BACnetServicesSupported, protocol-object-types-supported [96] BACnetObjectTypesSupported, object-list [76] SEQUENCE OF BACnetObjectIdentifier,
-- accessed as a BACnetARRAY
max-APDU-length-supported [62] Unsigned, segmentation-supported [107] BACnetSegmentation, vt-classes-supported [122] SEQUENCE OF BACnetVTClass OPTIONAL, active-vt-sessions [5] SEQUENCE OF BACnetVTSession OPTIONAL, local-time [57] Time OPTIONAL, local-date [56] Date OPTIONAL, utc-offset [119] INTEGER OPTIONAL,
daylight-savings-status apdu-segment-timeout apdu-timeout number-of-APDU-retries list-of-session-keys time-synchronization-recipients
[24] BOOLEAN OPTIONAL, [10] Unsigned, [11] Unsigned, [73] Unsigned,
[55] SEQUENCE OF BACnetSessionKey OPTIONAL, [116] SEQUENCE OF BACnetRecipient OPTIONAL,
-- required for time master
max-master [64] Unsigned(1..127) OPTIONAL,
-- required for MS/TP master, see 12.11
max-info-frames [63] Unsigned OPTIONAL,
-- required for MS/TP master, see 12.11
device-address-binding [30] SEQUENCE OF BACnetAddressBinding, database-revision [155] Unsigned, configuration-files [154] SEQUENCE OF BACnetObjectIdentifier, last-restore-time [157] BACnetTimeStamp, backup-failure-timeout [153] Unsigned16, active-cov-subscriptions [152] SEQUENCE OF BACnetCOVSubscription, max-segments-accepted [167] Unsigned, slave-proxy-enable [172] SEQUENCE OF BOOLEAN OPTIONAL, auto-slave-discovery [169] SEQUENCE OF BOOLEAN OPTIONAL, slave-address-binding [171]SEQUENCE OF BACnetAddressBinding OPTIONAL, manual-slave-address-binding [170] SEQUENCE OF BACnetAddressBinding OPTIONAL, profile-name [168] CharacterString OPTIONAL }
上述标记为红色者既是本次应用用到的设备属性对象
ANALOG-INPUT ::= SEQUENCE {
object-identifier [75] BACnetObjectIdentifier, object-name [77] CharacterString, object-type [79] BACnetObjectType, present-value [85] REAL, description [28] CharacterString OPTIONAL, device-type [31] CharacterString OPTIONAL, status-flags [111] BACnetStatusFlags, event-state [36] BACnetEventState, reliability [103] BACnetReliability OPTIONAL, out-of-service [81] BOOLEAN, update-interval [118] Unsigned OPTIONAL, units [117] BACnetEngineeringUnits, min-pres-value [69] REAL OPTIONAL, max-pres-value [65] REAL OPTIONAL, resolution [106] REAL OPTIONAL, cov-increment [22] REAL OPTIONAL,