Bacnet协议报⽂格式详解(三)⼗⼆、差错报⽂的表述
1. BACnetAbortReason
BACnetAbortReason :: = ENUMERATED {
Other (0) ,
buffer-overflow (1) ,
invalid-apdu-in-this-state (2) ,
preempted-by-higher-Priority-task (3) ,
gmentation-not-supported (4) ,
…….
}
--枚举值 0-63 保留为 ASHRAE ⽤作定义中。
2. BACnet-Error
BACnet-Error :: = CHOICE {
other [127] Error,
-- 本表述其余的选择表⽰对有证实服务所定义的‘Result(-) ’ 参数。
-- Alarm and Event Services
acknowledgeAlarm [0] Error,
confirmedCOVNotification [1] Error,
confirmedEventNotification [2] Error,
getAlarmSummary [3] Error,
getEnrollmentSummary [4] Error,
subscribeCOV [5]Error,
-
- File Access Services
atomicReadFile [6]Error,
atomicWriteFile [7] Error,
-- Object Access Services
addListElement [8] ChangeList-Error,
removeListElement [9] ChangeList-Error,
createObject [l0] CreateObject-Error,
deleteObject [11] Error,
readProPerty [l2] Error,
readPropertyConditional [l3] Error,
readPropertyMultiple [l4] Error,
writeProperty [15] Error,
writeProPertyMultiPle [16] WritePropertyMultiPle-Error,
-- Remote Device Management Services
deviceCornmunicationControl [l7] Error,
confirmedPrivateTransfer [18]ConfirmedPrivateTransfer- Error,
confirmedTextMessage [19] Error,
reinitializeDevice [20] Error,
-- Virtual Terminal Services
vtOPen [21] Error,
vtClo [22] VTClo-Error,
vtData [23] Error,
-
- Security Services
authenicate [24] Error,
requestKey [25] Error
}
-- 在编码中没有使⽤上下⽂特定标记 0. . 25 和 127。 标记编号在 BACnet 差错 PDU 中作为差错选择参数传送。--新定义的服务可以增加到上述的枚举类型中。 本表述中的所有枚举值都保留为 ASHRAE ⽤作定义中。
3. BACnetRejectReason
BACnetRejectReason : : = ENUMERATED {
other (0) ,
buffer-overflow (1) ,
inconsistent-Parameters (2) ,
invalid-Parameter-datatype (3) ,
invalid-tag (4) ,
missing-required-parameter (5) ,
parameter-out-of range (6) ,
too-man-arguments (7) ,
undefined-enumeration (8) ,
unrecognized-rvice (9) ,
}
--枚举值 0-63 保留为 ASHRAE ⽤作定义中。枚举值 64-65535 可以被其它机构根据 23 节中的规定使⽤。4. ChangeLiSt-Error
ChangeLiSt-Error : : = SEQUENCE {
errorType [0] Error,
firstFailedElementNumber [1] Unsigned
}
5. CreateObect-Error
CreateObect-Error :: = SEQUENCE {
errorType [0] Error,
firstFailedElementNumber [1] Unsigned
}
6. ConfirmedPrivateTransfor-Error
ConfirmedPrivateTransfor-Error :: =SEQUENCE{
errorType [0] Error,
vendorID [1] Unsigned,
rviceNumber [2] Unsigned,
errorParameters [3] ABSTRACT-SYNTAX. &Type OPTIONAL }
7. Error
Error : : = SEQUENCE {
error-class ENUMERATED {
device (0) ,
object (1) ,
property (2) ,
resources (3) ,
curity (4) ,
rvices (5) ,
vt (6) ,
…
} ,
--枚举值 0-63 保留为 ASHRAE ⽤作定义中。
error-code ENUMERATED {
other (0) ,
authentication-failed (1) ,
character-t-not-supported (41) ,
configuration-in-progress (2) ,
device-busy (3) ,
dynamic-creation-not-supported (4) , file-access-denied (5) ,
incompatible-curity-levels (6) ,
inconsistent-parameters (7) ,
inconsistent-lection-criterion (8) ,
Invalid-array-index (42) ,
Invalid-data-type (9) ,
invalid-file-access-method (10) ,
invalid-file-start-position (11) ,
operator-name (12) ,
invalid-parameter-data-type (13) , invalid-time-stamp (14) ,
key-generation-error (15) ,
missing-required-parameter (16) ,
no-objects-of-specified-type (17) ,
no-space-for-object (18) ,
no-space-to-add-list-element (19) , no-space-to-write-property (20) ,
no-vt-ssions-available (21) ,
object-deletion-not-permitted (23) , object-identifier-already-exists (24) , operational-problem (25) ,
password-failure (26) ,
property-is-not-a-list (22) ,
read-access-denied (27) ,
curity-not-supported (28) ,
rvice-request-denied (29) ,
timeout (30) ,
unknown-object (31) ,
unknown-property (32) ,
this enumeration was removed (33) , unknown-vt-class (34) ,
unknown-vt-ssion (35) ,
unsupported-object-type (36) ,
value-out-of range (37) ,
vt-ssion-already-clod (38) ,
vt-ssion-termination-failure (39) ,
write-access-denied (40) ,
…
}
--枚举值 0-255 保留为 ASHRAE ⽤作定义中。 本版本使⽤的最后⼀个枚举值是 42。}
8. WritePropertyMultiple-Error
WritePropertyMultiple-Error : : = SEQUENCE {
errorType [0] Error,
firstFailedWriteAttempt [1] BACnet Object Property Reference
}
9. VTClo-Error
VTClo-Error :: = SEQUENCE {
errorType [0] Error,
listOfVTSessionIdentifiers [1] SEQUENCE OF Unsigned8 OPTIONAL
}
⼗三、应⽤类型
编码的 BACnet 应⽤标记的标记编号域表⽰应⽤数据类型, 参数分配如下:
标记编号:
0 = Null
1 = Boolean
2 = Unsigned Integer
3 = Signed Integer (2’ complement notation)
4 = Real (ANSI/IEEE-754 floating point)
5 = Double (ANSI/IEEE-754 double precision floating point)
6 = Octet String
7 = Character String
8 = Bit String
9 = Enumerated
10 = Data
11 = Time
12 = BACnetObjectIdentifier