BACnet对象说明 - 图文
更新时间:2024-04-22 21:57:01 阅读量: 综合文库 文档下载
BACNET对象说明
目录
1 Analog Input---模拟输入对象 ....................................................................................................... 2 2AnalogOutput--模拟输出对象 ....................................................................................................... 8 3 AnalogValue--模拟值对象 .......................................................................................................... 13 4 Binary Input--二进制输入对象 ................................................................................................ 17 5 Binary Output 二进制输出对象 ................................................................................................. 23 6 Binary Value--二进制值对象 ...................................................................................................... 29 7. Calendar(日期表)对象 .......................................................................................................... 34 8. Command(命令)对象 ............................................................................................................ 36 9.Device(设备)对象 .................................................................................................................. 38 10. Event Enrollment(事件登录)对象 ...................................................................................... 42 11 File(文件)对象 ........................................................................................................................... 46 12 Group(组)对象 ..................................................................................................................... 47 13 Loop(控制环)对象..................................................................................................................... 49 14 Multi-State Input(多态输入)对象 .......................................................................................... 53 15 Multi-State Output(多态输出)对象 ........................................................................................... 56 16 Notification Class(通告类)对象 ................................................................................................ 58 17 Program(程序)对象 ................................................................................................................... 60 18 Schedule(时间安排)对象 .......................................................................................................... 63
1
1 Analog Input---模拟输入对象
Analog_Input结构体成员定义 序成员名数据类型 号 称 1 Object_IBACnetObjectIdendentifier tifier 2 3 4 5 6 7 属编号 说明 性 75 相同设备中唯一,不同设备中对象可相同。 标志符 Object_NCharacterString 77 最小长度为1字符,要求为可对ame 象打印字符,设备中唯一 名称 Object_TBACnetObjectType 对79 此属性的值为ype 象“ANALOG_INPUT”类(ANALOG_INPUT为枚举型,取型 值为0),表示对象 是Analog Input标准对象 Present_REAL 85 表示输入信号大小,单位由 当Value 前Unit决定;当Out_Of_Service值 为TRUE时,此属性可写 DescriptiCharacterString 28 可选属性,用于说明。若支持描on 述 中文,则可赋值为中文 Device_TCharacterString 31 表示控制单元的类型。 设ype 备类型 Status_FlBACnetStatusFlag状111 有4个标志,表示如下: ags es {IN_ALARM,FALUT,OVERRIDDEN,态OUT_OF_SERVICE} 标志 ?IN_ALARM(报警),如果Event_State的值为NORMAL则为FALSE(0),否则为TRUE(1) ②FAULT(故障),如果Reliability存在且其值不是NO_FAULT_DETECTED则为TRUE(1),否则为FALSE(0) ③OVERRIDDEN(管制),若某值被与BCAnet设备本身的有关机制所管制则为TRUE(1)。此时,“管制”表示当前值和可靠性属性2
8 Event_State BACnetEventState 事件状态 9 Reliability BACnetReliability 可靠性 10 Out_Of_Service BOOLEAN 脱离服务 11 Update_Interval Unsigned 12 13 Unit BACnetEngineeringUnits Min_PresREAL _Value 更新间隔 单位 最小值 值不再随设备输入变化而变化 ④OUT_OF_SERVICE(脱离服务),如果Out_Of_Service属性值为TRUE,则为TRUE(1),否则为FALSE(0) 36 如果对象支持Intrinsic Reporting(报告)则此属性表示对象的事件状态。如果不支持内省报告,则属性应为NORMAL。如果Reliability属性存在且不等于NKO_FAULT_DETECTED,则该属性为FAULLT,此时认为是“fault”(失效)事件 103 该属性有下列值:{NO_FAULT_DETECTED(未发现故障), NO_SENSOR(无传感器),OVER_RANGE(超出范围), UNDER_RANGE(低于范围),OPEN_LOOP(开路),SHORTED_LOOP(短路),MULTI_STATE_FAULT(多状态失效),UNRELIABEL_OTHER(其他不可靠)} 81 设备工作时为TRUE,否则为FALSE。当Out_Of_Service为TRUE时,Present_Value不随输入变化而变化。同时,Reliability属性和Status_FlagsN属性中的FAULT位上的值也不能反映我再输入设备的状态。因此当Out_Of_Service为TRUE时,可用于测试过程,可随意改相关属性值。 118 表示两次正常更新Present_Value属性值之间的最大时间间隔(以10ms为单位) 117 表示此对象的测量单位 结构体里是Units 69 表示Present_Value属性的最小可靠值 3
14 Max_Pres_Value REAL 15 ResolutioREAL n COV_Increment REAL 16 最大值 分辨率 COV增量 时间延迟 65 表示Present_Value属性的最大可靠值 17 Time_DelUnsigned ay 18 NotificatiUnsigned on_Class 通告类 19 High_LimREAL it 高限值 106 表示Present_Value属性中以工程单位可分辨的最小变化量(只读) 22 它定义Present_Value属性的最小改变值,这个值将产生COVNotification(COV通告),如果对象支持COV Reporting(COV报告),则此属性必备。 113 它表示当Present_Value属性处于由High_Limit(高限值)属性和Low_Limit(低限值)属性确定的范围之外时,到生成一个TO_OFFNORMAL(进入异常)事件之间的最小时间(单位为秒)。该属性也可表示Present_Value属性进入由High_Limit和Low_Limit确定的范围之内时,到生成一个TO_NORMAL(进入正常)事件的最小时间间隔(单位秒)。若对象支持内部报告 ,此属性必备 15 它用于引用一个Notification Class对象实例,该Notification Class对象实例中Notification_Cass属性值与该属性值相等。若对象支持内部报告,则此属性必备 45 它定义生成一个事件时Present_Value属性的上限值。若对象支持内部报告,则此属性必备。 ? 生成TO_OFFNORMAL(进入异常)事件要同时满足的3个条件: ①Present_Value属性值超过High_Limit属性值,并且时间超过Time_Delay属性确定的时间间隔 ②Limit_Enable(限值使能)属性的HighLimitEnable(高阈值使能)标志置位 4
③Event_Enable(事件使能)属性20 Low_LimiREAL t 低限值 59 21 Deadband REAL 限值宽度 25 中的TO_OFFNORMAL(进入异常)标志位置位 ? 生成TO_NORMAL(进入正常)事件要同时满足的3个条件: ①Present_Value属性下降到低于(High_Limit-Deadband)之后,且时间超过Time_Delay属性确定 的时间间隔 ②Limit_Enable属性中的HighLimitEnable标志位置位 ③Event_Enable属性中的TO_NOKRMAL标志位置位 它定义一个事件的Present_Value属性的下限值。若对象支持内部报告,则此属性必备。 ? 生成TO_OFFNORMAL(进入异常)事件要同时满足的3个条件: ①Present_Value属性低于Low_Limit属性,且时间超过Time_Delay属性确定的时间间隔②Limit_Enable属性中的LowLimitEnable标志位置位③Event_Enable属性中的TO_OFFNORMAL标志位置位 ? 生成TO_NORMAL(进入正常)事件要同时满足的3个条件: ①Present_Value属性值上升到高于(Low_Limit + Deadband)之后,且时间超过Time_Delay属性确定的时间间隔 ②Limit_Enable属性中的LowLimitEnable标志位置位 ③Event_Enable属性中的TO_NORMAL标志位置位 它在Hihg_Limit属性和Low_Limit之间定义一个宽度范围值。当Present_Value属性值在这个范围内且同时满足下列条件时则产生一个TO_NORMAL5
22 Limit_Enable BACnetLimitEnable 23 Event_Enable BACnetEventTransitionBits 24 Acked_TrBACnetEventTransansitions itiionBits 限值使能 事件使能 状态变迁确认 52 事件: ①Present_Value属性值低于(High_Limit - Deadband) ②Present_Value属性值高于(Low_Limit + Deadband) ③Present_Value属性值在该属性定义的范围之内且时间超过Time_Delay属性确定的时间间隔 它有两个标志位 35 0 25 Notify_Type BACnetNotifyType 通告类型 72 它有三个标志位,分别表示使能或禁止TO_OFFNORMAL和TO_NORMAL事件。后面一句话不太理解 它有三个标志位,分别表示是否收到对TO_OFFNORMAL,TO_FAULT和TO_NORMAL事件的确认。这些标志将在相应事件出现的情况下被清除,并在下列任一条件下设置: ①收到相应的确认; ②若Event_Enable中相应的标志位未设置时,事件发生; ③若设置Event_Enable中相应位,且由Notification_Class引用的Notification_Class对象中的Acked_Required的相应标志位没设置。若对象支持内部报告,则此属性必备 如果是事件类,则为Events;如果是报警类,则为Alarms。若对象支持内部报告,则此属性必备 例子:读取AI对象的Present_Value属性。
----------------------------------MSTP---LPDU--------------------------------------- 55 FF --前导码 02 --帧类型 64 --目标地址
6
EE --源地址
00 16 --帧数据部分长度(22个byte) 2E --帧头CRC校验 高位在先
--------------------------------------NPDU-------------------------------------------------- ----PCI
01 ---BACnet协议版本号
04 ---00000100 bit7:表示传输的是APDU报文
Bit5:0 和Bit3:0 表示DNET,DLEN,HopCount,SNET,SLEN,SARD都不存在。 Bit2:1 表示证实服务或者复杂确认分段报文或要求确认的网络协议管理和控制报文。
Bit1.0:00 表示普通优先级报文
---PDU
--------------------------------------APDU---------------------------------------------------- -----PCI
02 ---Pdu Type = 0,表示是APDU,SEG = 0,表示不分段发送,MOR=0表示没有分段后续 SA=1
需要分段请求复杂确认
01 --Max Resp = 0001,表示最大报文长度128字节 00 --InvokeID=0,该值可变,但必须符合协议要求
0C --表示服务是ReadProperty,因为读属性服务的枚举值为12 -----PDU
0C -- 对象标示符的上下文标记为0表示应用编码,编码字节长度为4 00-00-00-02 –AI对象类型枚举值为0,本例假设对象实例号为2 2D -对象标示符的上下文标记为1,编码长度为1 55 -- Presend_Value属性枚举值为45
---------------------------------------APDU------------------------------------------------------- F0 B8 --数据帧部分CRC校验
FF --可选填充域 (不推荐使用)
7
2AnalogOutput--模拟输出对象
Analog_Output结构体成员定义 序号 成员名称 数据类型 1 Object_Identifier BACnetObjectIdentifier 2 Object_Name CharacterString 3 Object_Type BACnetObjectType 4 Present_Value REAL 5 6 Description Device_Type CharacterString CharacterString 7 Status_Flags BACnetStatusFlages 属性 对象标志符 对象名称 对象类型 当前值 描述 设备类型 状态标志 编号 75 描述 参见AI部分 77 参见AI部分 79 85 属性值为ANALOG OUTPUT(枚举值为1) 参见AI部分 28 31 参见AI部分 参见AI部分 111 该属性的OVERRIDDEN位为1时,表示该对象所表示的物理输出设备的输出值不再与Present_Value属性值一致,且Reliability属性也不再反映物理输出8
8 Event_State BACnetEventState 9 Reliability BACnetReliability 10 Out_Of_Service BOOLEAN 11 12 Unit Min_Pres_Value Max_Pres_Value Resolution BACnetEngineeringUnits REAL 13 REAL 14 REAL 15 Priority_Array BACnetPriorityArray 事件状态 可靠性 脱离服务 单位 最小值 最大值 分辨率 优先级数组 36 设备的状态 参见AI部分 103 参见AI部分 81 参见AI部分 117 69 参见AI部分 参见AI部分 65 参见AI部分 106 参见AI部分 87 16 Relinquish_Default REAL 释放默认值 104 它由16个无符号整型元素组成的“只读”数组,其作用是规定操作实体的操作优先级。当多个操作实体同时对该对象进行操作时,得按该数组确定的优先级进行操作。 它表示在所有的实体放弃对该对象的操作时,Present_Value属性应的默认值。当所有9
17 COV_Increment 18 19 20 21 22 23 24
COV增量 Time_Delay Unsigned 时间延迟 Notification_ClUnsigned 通ass 告类 High_Limit REAL 高限值 Low_Limit REAL 低限值 Deadband REAL 限值宽度 Limit_Enable BACnetLimitEnable 限值使能 Event_Enable BACnetEventTransitionBits 事REAL 22 操作实体放弃对此对象操作时,该对象的Present_Value属性必须有一个确定的值,这个值或为0,或为其他值,但必须确定,且必须是保证控制系统处于安全或预定状态值。这个值就是Relinquish_Default属性所定义的值。 参见AI部分 113 参见AI部分 15 参见AI部分 45 参见AI部分 59 参见AI部分 25 参见AI部分 52 参见AI部分 35 参见AI部分 10
25 Acked_Transitions BACnetEventTransitiionBits 26 Notify_Type BACnetNotifyType 件使能 状态变迁确认 通告类型 0 参见AI部分 72 参见AI部分 例 :写Present_Value属性值
----------------------------------MSTP---LPDU--------------------------------------- 55 FF --前导码 02 --帧类型 64 --目标地址 EE --源地址
00 16 --帧数据部分长度(22个byte) 2E --帧头CRC校验 高位在先
--------------------------------------NPDU-------------------------------------------------- ----PCI
02 ---BACnet协议版本号
04 ---00000100 bit7:表示传输的是APDU报文
Bit5:0 和Bit3:0 表示DNET,DLEN,HopCount,SNET,SLEN,SARD都不存在。 Bit2:1 表示证实服务或者复杂确认分段报文或要求确认的网络协议管理和控制报文。
Bit1.0:00 表示普通优先级报文
---PDU
--------------------------------------APDU---------------------------------------------------- -----PCI
02 ---Pdu Type = 0,表示是APDU,SEG = 0,表示不分段发送,MOR=0表示没有分段后续 SA=1
需要分段请求复杂确认
02 --Max Resp = 0001,表示最大报文长度128字节 01 --InvokeID=0,该值可变,但必须符合协议要求
0F --表示服务是WriteProperty,因为读属性服务的枚举值为15 -----PDU
0C -- 对象标示符的上下文标记为0表示应用编码,编码字节长度为4 00-60-00-03 –AO对象类型枚举值为1,本例假设对象实例号为3 19 -对象标示符的上下文标记为1,编码长度为1 55 -- Presend_Value属性枚举值为85
11
3E --构造类型起始
44 -unsinged int类型(标示符为简单类型),编码长度为1 23 –PresentVlaue 4位中第一位 03 –PresentVlaue 4位中第二位 00 –PresentVlaue 4位中第三位 00 –PresentVlaue 4位中第四位 3F --构造类型结束
49 -对象标示符上下文标记为1,编码长度1 02 --优先级为2
---------------------------------------APDU------------------------------------------------------- F0 B8 --数据帧部分CRC校验
FF --可选填充域 (不推荐使用)
12
3 AnalogValue--模拟值对象
Analo_Value结构体成员的定义 序成员名称 数据类型 号 1 Object_Identifier BACnetObjectIdentifier 2 Object_Name CharacterString 3 Object_Type BACnetObjectType 4 Present_Value REAL 5 6 Description Status_Flags CharacterString BACnetStatusFlages 属性 对象标志符 对象名称 对象类型 当前值 描述 状态标志 编号 75 描述 参见AI部分 77 参见AI部分 79 85 属性值为ANALOG VALUE(枚举值为2) 参见AI部分 参见AI部分 属性的OVERRIDDEN位为1时,表示该对象的Present_Value值不能通过BACnet服务修改 参见AI部分 28 111 7 Event_State BACnetEventState 8 Reliability BACnetReliability 9
Out_Of_Service BOOLEAN 事件状态 可靠性 脱36 103 参见AI部分 参见AI部13
81 10 11 Unit Priority_Array 12 Relinquish_Default 13 COV_Increment 14 Time_Delay 15 Notification_Class 16 High_Limit 17 Low_Limit 18 Deadband 19 Limit_Enable 20 Event_Enable 21
Acked_Transitions 离服务 BACnetEngineeringUnits 单位 BACnetPriorityArray 优先级数组 REAL 释放默认值 REAL COV增量 Unsigned 时间延迟 Unsigned 通告类 REAL 高限值 REAL 低限值 REAL 限值宽度 BACnetLimitEnable 限值使能 BACnetEventTransitionBits 事件使能 BACnetEventTransitiionBit状分 117 87 参见AI部分 参见AI部分 104 参见AI部分 22 参见AI部分 参见AI部分 113 15 参见AI部分 参见AI部分 参见AI部分 参见AI部分 45 59 25 52 参见AI部分 35 参见AI部分 0 参见AI部14
s 22 Notify_Type BACnetNotifyType 23 Event_Time_Stamps[3] BACnetTimeStamp 态变迁确认 通告类型 事件时间戳 分 72 参见AI部分 130 例子:读AnalogValue对象中的多个属性。Deadband死区属性和presentvalue属性
----------------------------------MSTP---LPDU---------------------------------------
55 FF --前导码 02 --帧类型 64 --目标地址 EE --源地址
00 16 --帧数据部分长度(22个byte) 2E --帧头CRC校验 高位在先
--------------------------------------NPDU-------------------------------------------------- ----PCI
03 ---BACnet协议版本号
04 ---00000100 bit7:表示传输的是APDU报文
Bit5:0 和Bit3:0 表示DNET,DLEN,HopCount,SNET,SLEN,SARD都不存在。 Bit2:1 表示证实服务或者复杂确认分段报文或要求确认的网络协议管理和控制报文。
Bit1.0:00 表示普通优先级报文
---PDU
--------------------------------------APDU---------------------------------------------------- -----PCI
02 ---Pdu Type = 0,表示是APDU,SEG = 0,表示不分段发送,MOR=0表示没有分段后续 SA=1
需要分段请求复杂确认
03 --Max Resp = 0001,表示最大报文长度128字节 02 --InvokeID=0,该值可变,但必须符合协议要求
0E --表示服务是Read multiple Property,因为读属性服务的枚举值为14 -----PDU
0C -- 对象标示符的上下文标记为0表示应用编码,编码字节长度为4 00-C0-00-07 –AnalogVlaue对象类型枚举值为3,本例假设对象实例号为7 19 -对象标示符的上下文标记为1,编码长度为1
15
19 -- DeadBand 死区 25
19 -对象标示符的上下文标记为1,编码商都为1 55 -PresentValue 85
---------------------------------------APDU------------------------------------------------------- F0 B8 --数据帧部分CRC校验
FF --可选填充域 (不推荐使用)
16
4 Binary Input--二进制输入对象
Binary_Input结构体成员的定义 序号 成员名称 1 Object_Identifier 2 Object_Name 3 Object_Type 4 Present_Value 属性 BACnetObjectIdentifie对r 象标志符 CharacterString 对象名称 BACnetObjectType 对象类型 BACnetBinaryPV 当前值 数据类型 编号 75 描述 参见AI部分 77 参见AI部分 79 85 5 6 Description Device_Type CharacterString CharacterString 7 Status_Flags BACnetStatusFlages 描述 设备类型 状态标28 31 该属性值为BINATY_INPUT或数值3(枚举值) 用于表示输入设备的逻辑状态。其取值和表示的意义与Polarity属性有关。表4.1为Present_Value和Polarity之间的关系表。另外,如果Out_Of_Service属性为TRUE,则该属性应可写。 参见AI部分 参见AI部分 111 参见AI部分 17
8 Event_State BACnetEventState 9 Reliability BACnetReliability 10 Out_Of_Service BOOLEAN 11 Polarity BACnetPolarity 志 事件状态 可靠性 脱离服务 极性 36 参见AI部分 103 参见AI部分 81 参见AI部分 84 12 Inactive_Text CharacterString 非活动文本 46 用于表示Present_Value属性与输入物理状态的关系(见表4.1)。另外,如果Out_Of_Service为FALSE时,对于一恒定的输入状态,当该属性改变时,Present_Value属性了改变,以保持输入状态的恒定。这种使Present_Value属性改变的事件称为“状态改变”但当Out_Of_Service为TRUE时,Present_Value属性不起作用。 用于表示Present_Value为INACTIVE时的意义。该属性是面向操作者的字符串,18
13 Active_Text CharacterString 14 Change_Of_State_TBACnetDateTime ime 活动文本 状态改变时间 4 16 15 Change_Of_State_CUnsigned ount 16 Time_Of_State_Count_Reset BACnetDateTime 17 Elapsed_Active_Time Unsigned32 状态改变次数 状态计数重置时间 当前值处于活15 其内容可以根据实际情况填写。 用于表示Present_Value为ACTIVE时的意义。 用于表示本次状态改变的时刻。“状态改变”,Present_Value的任意改变。当Out_Of_Service属性为FALSE时,如果Polarity发生改变,则Present_Value属性值也发生改变,这种中以认为是“状态改变” 表示自该属性为0以来的状态改变次数。 115 表示最近一次Change_Of_State_Count属性设置为0的时刻。 33 表示最近一次设置为0时,Present_Value属性为ACTIVE时的累计时间(秒) 19
18 Time_Of_Active_Time_Reset BACnetDateTime 19 Time_Delay Unsigned 20 Notification_Class Unsigned 21 Alarm_Value BACnetBinaryPV 动状态的累计时间 活动状态重置时间 时间延迟 通告类 报警值 114 表示最近一次Elapse_Active_Time属性设置为0的时刻。 113 参见AI部分 15 参见AI部分 6 表示产生一个事件时Present_Value属性必须的值。以下是该对象产生事件的条件。产生TO_OFFNORMAL事件必须同时满足如下两个条件: ①Present_Value属性必须在Time_Delay属性规定的时间内等于该属性定义的值 ②Event_Enable属性中的TO_OFFNORMAL标志位置位 20
22 Event_Enable BACnetEventTransitionBits 23 Acked_Transitions BACnetEventTransitiionBits 24 Notify_Type BACnetNotifyType 25 Event_Time_Stamps[3] BACnetTimeStamp 事件使能 状态变迁确认 通告类型 事件时间戳 35 一旦Present_Value属性等于该属性定义的值时,产生TO_NORMAL事件的条件: ①Present_Value属性必须在Time_Delay规定的时间内不等于该属性定义的值 ②Event_Enable属性中的TO_NORMAL标志位置位 参见AI部分 0 参见AI部分 72 参见AI部分 130 表4.1 Present_Value和Polarity间的关系表 Present_Value属性 INACTIVE ACTIVE INACTIVE ACTIVE Polarity属性 NORMAL NORMAL REVERSE REVERSE 输入的物理状态 INACTIVE(断开) ACTIVE(闭合) ACTTIVE(闭合) INACTIVE(断开) 设备的物理状态 停止 运行 停止 运行 21
例子:读取BI对象中的Out_Of_Service属性。
----------------------------------MSTP---LPDU--------------------------------------- 55 FF --前导码 02 --帧类型 64 --目标地址 EE --源地址
00 16 --帧数据部分长度(22个byte) 2E --帧头CRC校验 高位在先
--------------------------------------NPDU-------------------------------------------------- ----PCI
04 ---BACnet协议版本号
04 ---00000100 bit7:表示传输的是APDU报文
Bit5:0 和Bit3:0 表示DNET,DLEN,HopCount,SNET,SLEN,SARD都不存在。 Bit2:1 表示证实服务或者复杂确认分段报文或要求确认的网络协议管理和控制报文。
Bit1.0:00 表示普通优先级报文
---PDU
--------------------------------------APDU---------------------------------------------------- -----PCI
02 ---Pdu Type = 0,表示是APDU,SEG = 0,表示不分段发送,MOR=0表示没有分段后续 SA=1
需要分段请求复杂确认
04 --Max Resp = 0001,表示最大报文长度128字节 03 --InvokeID=0,该值可变,但必须符合协议要求
0C --表示服务是ReadProperty,因为读属性服务的枚举值为12 -----PDU
0C -- 对象标示符的上下文标记为0表示应用编码,编码字节长度为4 01-00-00-01 –BI对象类型枚举值为4,本例假设对象实例号为1 19 -对象标示符的上下文标记为1,编码长度为1 51 -- Out_Of_Service的property id号为81
---------------------------------------APDU------------------------------------------------------- F0 B8 --数据帧部分CRC校验
FF --可选填充域 (不推荐使用)
22
5 Binary Output 二进制输出对象
Binary_Output结构体成员定义 序号 成员名称 1 Object_Identifier 数据类型 BACnetObjectIdentifier 2 Object_Name CharacterString 3 Object_Type BACnetObjectType 4 Present_Value BACnetBinaryPV 5 6 Description Device_Type CharacterString CharacterString 7 Status_Flags BACnetStatusFlages 8 Event_State BACnetEventState 9 Reliability BACnetReliability 10 Out_Of_Service BOOLEAN 属性 对象标志符 对象名称 对象类型 当前值 描述 设备类型 状态标志 事件状态 可靠性 脱离服编号 75 描述 参见BI部分 77 参见BI部分 79 参见BI部分 85 参见BI部分 参见BI部分 参见BI部分 28 31 111 参见BI部分 36 参见BI部分 103 参见BI部分 参见BI部分 81 23
11 12 Polarity Inactive_Text BACnetPolarity CharacterString 13 Active_Text CharacterString 14 Change_Of_State_Time BACnetDateTime 15 Change_Of_State_Count Unsigned 16 Time_Of_State_CountBACnetDateTime _Reset 17 Elapsed_Active_Time Unsigned32 务 极性 非活动文本 活动文本 状态改变时间 状态改变次数 状态计数重置时间 当前值处于活动状态的累计84 46 参见BI部分 参见BI部分 4 参见BI部分 16 参见BI部分 15 参见BI部分 115 参见BI部分 33 参见BI部分 24
18 Time_Of_Active_TimeBACnetDateTime _Reset 19 Minimum_Off_Time Unsigned32 时间 活动状态重置时间 非活动最小时间值 活动最小时间值 114 参见BI部分 66 20 Minimum_On_Time Unsigned32 67 21 Priorty_Array BACnetPriorityArray 22 Relinquish_Default BACnetBinaryPV 23 Time_Delay Unsigned 24 Notification_Class Unsigned 优先级数组 释放默认值 时间延迟 通告87 表示Present_Value属性值被改变为INACTIVE时必须保留此值的最小时间(秒) 表示Present_Value属性值被改变为ACTIVE时必须保留此值的最小时间(秒) 参见BI部分 104 参见BI部分 113 参见BI部分 15 参见BI部分 25
25 Feedback_Value BACnetBinaryPV 类 反馈值 40 表示从物理输出设备反馈的值。该属性主要用作与Present_Value属性值相比较,以判断物理设备是否运行正常。以下是产生两个事件必须同时满足的条件。 产生TO_OFFNORMAL事件必须同时满足的条件:①Present_Value属性必须在Time_Delay规定的时间内不等于该属性定义的值 ②Event_Enable属性中的TO_OFFNORMAL标志位置位 一旦Present_Value属性不等于该属性定义的26
26 Event_Enable BACnetEventTransitionBits 27 Acked_Transitions BACnetEventTransitiionBits 28 Notify_Type BACnetNotifyType 29 Event_Time_Stamps[3] BACnetTimeStamp 事件使能 状态变迁确认 通告类型 事件时间戳 35 值时,产生TO_NORMAL事件的条件: ①Present_Value属性必须在Time_Delay规定的时间内等于该属性定义的值 ②Event_Enable属性中的TO_NORMAL标志位置位 参见BI部分 0 参见BI部分 72 参见BI部分 130 例:读取BO对象中Polarity属性
----------------------------------MSTP---LPDU--------------------------------------- 55 FF --前导码 02 --帧类型 64 --目标地址 EE --源地址
00 16 --帧数据部分长度(22个byte)
27
2E --帧头CRC校验 高位在先
--------------------------------------NPDU-------------------------------------------------- ----PCI
05 ---BACnet协议版本号
04 ---00000100 bit7:表示传输的是APDU报文
Bit5:0 和Bit3:0 表示DNET,DLEN,HopCount,SNET,SLEN,SARD都不存在。 Bit2:1 表示证实服务或者复杂确认分段报文或要求确认的网络协议管理和控制报文。
Bit1.0:00 表示普通优先级报文
---PDU
--------------------------------------APDU---------------------------------------------------- -----PCI
02 ---Pdu Type = 0,表示是APDU,SEG = 0,表示不分段发送,MOR=0表示没有分段后续 SA=1
需要分段请求复杂确认
05 --Max Resp = 0001,表示最大报文长度128字节 04 --InvokeID=0,该值可变,但必须符合协议要求
0C --表示服务是ReadProperty,因为读属性服务的枚举值为12 -----PDU
0C -- 对象标示符的上下文标记为0表示应用编码,编码字节长度为4 01-10-00-0C –File对象类型枚举值为5,本例假设对象实例号为12 19 -对象标示符的上下文标记为1,编码长度为1 54 -- Polarity的property id号为84
---------------------------------------APDU------------------------------------------------------- F0 B8 --数据帧部分CRC校验
FF --可选填充域 (不推荐使用)
28
6 Binary Value--二进制值对象
Binary_Value结构体成员定义 序号 成员名称 1 Object_Identifier 数据类型 BACnetObjectIdentifier 2 Object_Name CharacterString 3 Object_Type BACnetObjectType 4 Present_Value BACnetBinaryPV 5 Description CharacterString 属性 对象标志符 对象名称 对象类型 当前值 描述 状态标志 事件状态 可靠性 脱离服务 非活编号 75 描述 参见BI部分 77 参见BI部分 参见BI部分 参见BI部分 参见BI部分 参见BI部分 参见BI部分 参见BI部分 参见BI部分 参见BI部29
79 85 28 6 Status_Flags BACnetStatusFlages 111 7 Event_State BACnetEventState 36 8 Reliability BACnetReliability 103 9 Out_Of_Service BOOLEAN 81 10 Inactive_Text CharacterString 46
11 Active_Text CharacterString 12 Change_Of_State_Time BACnetDateTime 13 Change_Of_State_Count Unsigned 14 Time_Of_State_Count_Reset BACnetDateTime 15 Elapsed_Active_Time Unsigned32 16 Time_Of_Active_Time_Reset BACnetDateTime 动文本 活动文本 状态改变时间 状态改变次数 状态计数重置时间 当前值处于活动状态的累计时间 活动状分 4 参见BI部分 参见BI部分 16 15 参见BI部分 115 参见BI部分 33 参见BI部分 114 参见BI部分 30
17 Minimum_Off_Time 18 Minimum_On_Time 19 Priorty_Array 20 Relinquish_Default 21 Time_Delay 22 Notification_Class 23 Alarm_Value 24 Event_Enable 态重置时间 Unsigned32 非活动最小时间值 Unsigned32 活动最小时间值 BACnetPriorityArray 优先级数组 BACnetBinaryPV 释放默认值 Unsigned 时间延迟 Unsigned 通告类 BACnetBinaryPV 报警值 BACnetEventTransitionBits 事件使能 66 参见BI部分 67 参见BI部分 87 参见BI部分 104 参见BI部分 113 参见BI部分 参见BI部分 参见BI部分 参见BI部分 31
15 6 35
25 Acked_Transitions 26 Notify_Type 27 Event_Time_Stamps[3] BACnetEventTransitionBits 状态变迁确认 BACnetNotifyType 通告类型 BACnetTimeStamp 事件时间戳 0 参见BI部分 72 参见BI部分 参见BI部分 130 例子:写 PolarityArray属性 ----------------------------------MSTP---LPDU---------------------------------------
55 FF --前导码 02 --帧类型 64 --目标地址 EE --源地址
00 16 --帧数据部分长度(22个byte) 2E --帧头CRC校验 高位在先
--------------------------------------NPDU-------------------------------------------------- ----PCI
06 ---BACnet协议版本号
04 ---00000100 bit7:表示传输的是APDU报文
Bit5:0 和Bit3:0 表示DNET,DLEN,HopCount,SNET,SLEN,SARD都不存在。 Bit2:1 表示证实服务或者复杂确认分段报文或要求确认的网络协议管理和控制报文。
Bit1.0:00 表示普通优先级报文
---PDU
--------------------------------------APDU---------------------------------------------------- -----PCI
02 ---Pdu Type = 0,表示是APDU,SEG = 0,表示不分段发送,MOR=0表示没有分段后续 SA=1
需要分段请求复杂确认
06 --Max Resp = 0001,表示最大报文长度128字节 05 --InvokeID=0,该值可变,但必须符合协议要求
0F --表示服务是WriteProperty,因为读属性服务的枚举值为15 -----PDU
0C -- 对象标示符的上下文标记为0表示应用编码,编码字节长度为4 01-00-00-03 –BinaryValue对象类型枚举值为6,本例假设对象实例号为3 19 -对象标示符的上下文标记为1,编码长度为1
32
57 --PolarityArray数组属性枚举值为87 29 --PolarityArray数组中的index( 索引值) 00 --表示第1个元素 3E --构造类型起始
21 --应用类型编码(unsigned型) 值长度为1 00 --表示NORMAL 3F --构造类型结束
49 -对象标示符上下文标记为1,编码长度1 02 --优先级为2
---------------------------------------APDU------------------------------------------------------- F0 B8 --数据帧部分CRC校验
FF --可选填充域 (不推荐使用)
33
7. Calendar(日期表)对象
这个对象用来记录和表示一些特殊的日期,比如一些节假日,特殊日期或周末等。在这些日期时楼宇自控系统的运行状态将和正常日期的运行状态有所不同。
属性类型 属性名称 BACnetObjectIdentifier Object_Identifier CharacterString BACnetObjectType CharacterString BOOLEAN Object_Name Object_Type Description //描述 Present_Value //当前值 属性编码 75 77 79 28 85 属性说明 Present_Value: 这个属性是BOOLEAN类型,如果当前日期在Date_List[]记录范围内,则置为TRUE,如果不是则置为FALSE。 该属性类型为BACnetCalendarEntry。它可用三种形式的值表示(日期:Date,日期范围:BACnetDateRange,月/周/日: BACnetWeekNDay)日期的表达方式也可以用通配符的形式表示。 BAcnetCalendarEntry Date_List[] //日期列表 23
例子:读取Calendar对象的Present_Value属性。
----------------------------------MSTP---LPDU--------------------------------------- 55 FF --前导码 02 --帧类型 64 --目标地址 EE --源地址
00 16 --帧数据部分长度(22个byte) 2E --帧头CRC校验 高位在先
--------------------------------------NPDU-------------------------------------------------- ----PCI
34
07 ---BACnet协议版本号
04 ---00000100 bit7:表示传输的是APDU报文
Bit5:0 和Bit3:0 表示DNET,DLEN,HopCount,SNET,SLEN,SARD都不存在。 Bit2:1 表示证实服务或者复杂确认分段报文或要求确认的网络协议管理和控制报文。
Bit1.0:00 表示普通优先级报文
/*
2C ---00101100 bit7: 0 表示NPDU中传输的是APDU内容 Bit6:0 保留位 默认0
Bit5:1 表示DNET,DLEN和Hop Count域存在 Bit4:0 保留位 默认0
Bit3:1 表示SNET,SLEN和SARD域存在
Bit2:1 表示是证实服务或者复杂确认分段报文或要求确认的网络协议管理和控制报文
Bit1.0:00 表示普通优先级报文 00-02 --表示目标网络号(00 02) 01 --表示目标MAC地址长度 01 --表示目标MAC地址为1 00-05 --表示源网络号(00 05) 01 --表示源MAC地址长度 15 --表示源MAC地址为21
07 --表示将经过的路由器的个数,每过一个减1.到0为止。 */ ---PDU
--------------------------------------APDU---------------------------------------------------- -----PCI
02 ---Pdu Type = 0,表示是APDU,SEG = 0,表示不分段发送,MOR=0表示没有分段后续 SA=1
需要分段请求复杂确认
07 --Max Resp = 0001,表示最大报文长度128字节 06 --InvokeID=0,该值可变,但必须符合协议要求
0C --表示服务是ReadProperty,因为读属性服务的枚举值为12 -----PDU
0C -- 对象标示符的上下文标记为0表示应用编码,编码字节长度为4 01-80-00-02 –Clanedar对象类型枚举值为6,本例假设对象实例号为2 19 -对象标示符的上下文标记为1,编码长度为1 55 -- Presend_Value属性枚举值为85
---------------------------------------APDU------------------------------------------------------- F0 B8 --数据帧部分CRC校验
FF --可选填充域 (不推荐使用)
35
8. Command(命令)对象
该对象用于分组操作,每组操作课包含一个或者多少“写”访问操作,分组操作的内容由该对象的Action属性表示,某个时刻执行的分组操作由该对象的Present_Value属性索引。
该对象可以适用于具有不同控制方式的控制系统,例子:办公室中有“上班时间”和“下班时间”两种控制方式,在上班时间比如需要开空调,开照明等,下班时间比如要执行关空调和关照明等操作。
同步控制机制: 为了保证一个分组的所有操作按Action属性列表中的顺序执行完毕,该对象具有控制并发操作或同步的机制。当一个分组操作在执行时,In_Process属性会置为TRUE,此时所有的对Present_Value属性“写”访问的服务均失败,并且返回Result(-)。当In_Process属性为FALSE时,表示空闲,处在等待状态。
在某些系统中,某些操作是不允许重新执行的,所以如果分组中的某个操作失败时,该操作的Quit_On_Failure表示为TRUE,则放弃分组中的其他操作,退出对该分组的操作。如果当Quit_On_Failure标志位FALSE,则将该操作相应的Write_Sucessful置为FALSE,并执行下一个操作。想重新执行分组中失败的操作要在In_Process属性为FALSE时,重新对present_Value属性写入相同的值,以重新执行整个分组操作。 属性类型 属性名称 BACnetObjectIdentifier Object_Identifier CharacterString BACnetObjectType CharacterString Unsigned Object_Name Object_Type Description Present_Value 属性编码 75 77 79 28 85 属性说明 该属性用于索引Action属性中的分组操作。 该属性用于“并发”和“同步”. 当一个分组中的所有操作成功时,则为TRUE。若分组操作中有一个失败时,则为FALSE。 该属性为一个数组,数组中每一项都由9个数据部分组成。其中的Post_Delay表示两个操作中间的时间间隔。(上一个结束到下一个开始)。 该属性为字符型数36
Boolean In_Process //正在处理中 All_Write_Successful //所用操作写入成功 47 Boolean 9 BACnetActionList Action[] //操作动作 2 CharacterString Action_Text 3 //操作文本 组,数量和Action列表中元素数量一样,用于说明每个Present_Value取值的意义。
例子:写 PresentValue属性
----------------------------------MSTP---LPDU--------------------------------------- 55 FF --前导码 02 --帧类型 64 --目标地址 EE --源地址
00 16 --帧数据部分长度(22个byte) 2E --帧头CRC校验 高位在先
--------------------------------------NPDU-------------------------------------------------- ----PCI
08 ---BACnet协议版本号
04 ---00000100 bit7:表示传输的是APDU报文
Bit5:0 和Bit3:0 表示DNET,DLEN,HopCount,SNET,SLEN,SARD都不存在。 Bit2:1 表示证实服务或者复杂确认分段报文或要求确认的网络协议管理和控制报文。
Bit1.0:00 表示普通优先级报文
---PDU
--------------------------------------APDU---------------------------------------------------- -----PCI
02 ---Pdu Type = 0,表示是APDU,SEG = 0,表示不分段发送,MOR=0表示没有分段后续 SA=1
需要分段请求复杂确认
08 --Max Resp = 0001,表示最大报文长度128字节 07 --InvokeID=0,该值可变,但必须符合协议要求
37
0F --表示服务是WriteProperty,因为读属性服务的枚举值为15 -----PDU
0C -- 对象标示符的上下文标记为0表示应用编码,编码字节长度为4 01-C0-00-03 –Command对象类型枚举值为7,本例假设对象实例号为3 19 -对象标示符的上下文标记为1,编码长度为1 55 -- Presend_Value属性枚举值为85(因为找不到各种property和编号的对应值表,所以
这里假设85) 3E --构造类型起始
29 -unsinged int类型(标示符为简单类型),编码长度为1 06 --PresentVlaue索引值为6 3F --构造类型结束
49 -对象标示符上下文标记为1,编码长度1 02 --优先级为2
---------------------------------------APDU------------------------------------------------------- F0 B8 --数据帧部分CRC校验
FF --可选填充域 (不推荐使用)
9.Device(设备)对象
每个BACnet设备必须有且只有一个Device对象实例,对于功能复杂的楼宇自控设备,可以用多个BACnet设备来表示,则该楼宇自控设备可以有多个Device对象。
一个Device对象实例中包含有BACnet设备中的所有对象实例表,Device对象的Identifier必须在网络上是唯一的。要索引一个非Device对象实例的话,必须先索引该对象实例所在的Device对象,然后在Device对象对应的BACnet设备内索引这个对象实例。 属性类型 BACnetObjectIdentifier CharacterString BACnetObjectType BACnetDeviceStatus 属性名称 Object_Identifier Object_Name Object_Type System_Status //系统状态 属性属性说明 编码 75 77 79 112 该属性是枚举类型反应的是BACnet设备物理和逻辑状态的参数,对于枚举类型中的每一个状态的确切意义,BACnet标准没有规定,可以有开发厂商自行决定 {OPERATIONAL,OPERATIONAL_READ_ONLY,DOWNLOAD_REQUIRED,DOWNLOAD_IN_PROGRESS,NON_OPERATIONAL} 表示生产厂商或开发公司的名称 CharacterString Vendor_Name //生产商名称 121 38
Unsigned16 CharacterString CharacterString CharacterString Vendor_Identifier //生产商标识符 Model_Name //型号名称 Firmware_Revision //固件版本 120 由ASHRAE分配给厂商或开发公司的唯一标识码 70 44 表示BACnet设备的型号 表示固件版本号 Application_So12 ftware_Version //应用软件版本号 Location //位置 Description Protocol_Version //协议主版本 Protocol_Revision //协议次版本 58 28 98 表示应用软件版本号,通常包含开发时间,开发者,以及主文件版本号等 CharacterString CharacterString Unsigned 表明该楼宇自控设备的安装位置 表示楼宇自控设备支持的协议版本号,目前发展到1.2 该属性已被取消或代替 Unsigned BACnetServiProtocol_ServiceSupported ce_Supported //支持的协议服务 BACnet ObjectTypesSupported BACnet ObjectIdentifier Unsigned Protocol_Object_Types_Supp Orted //支持的对象类型 Object_List[] //对象列表 97 表示设备所支持的标准协议服务 96 表示设备所支持的标准对象类型 76 该属性是一个数组,数组的每一项为Object_Identifier ,即一个4byte的数据结构 表示此设备能够接受的最大应用层协议数据单元,该属性由BACnet网络底层结构确定(见第七章).但不得小于50 bytes 它表示BACnet设备是否报文分段,以及分段的方式。 {SEGMENTED_BOTH,SEGMENTED_TRANSMIT,SEGMENTED_RECEIVE,NO_SEGMENTATION} 该属性的数据类型为列表,一个BACnet设备可以同时支持多种虚拟终端(VT),而且每种VT具有不同的字符集,如果设备支持VT功能,则必须支持39
BACnetSegmentation BACnetVTClass Max_APDU_Le62 ngth_Accepted //接收APDU的最大长度 Segmentation_107 Supported //分段支持 VT_Classes_Su122 pported[] //虚拟终端类
型支持 BACnetVTSession Active_VT_Sessions[] //活动虚拟终端会话 5 “Defalut-terminal(默认终端)”类型。 该属性的数据类型为列表,BACnetVTSession由Local VT Session(当地VT会话标识符),RemoteVT Session(远程VT会话标志符),Remote VT Address(远程会话地址)三项组成。当新建立一个VT会话,则该列表动态新增一项,反之终止一个VT会话时,则在列表中动态删除一项。 由四个字节组成,第一个byte开始分别表示时,分,秒,秒/100。该属性用于有计时要求的设备中。如果设备不要求计时功能,则可以省略此属性。 该属性的数据为Date型,其功能同上。 取值范围为-720~+720。表示与UTC的时差,0度子午线以西的时区为正,以东的时区为负值。 表示是否处于夏令时节。 Time Local_Time //本地时间 Local_Date //本地日期 UTC_Offset //UTC时差 Daylight_Savings_Status //夏令时状态 APDU_Segment_Timeout //APDU分段超时 APDU_Timeout //APDU超时 57 Date INTEGER BOOLEAN 56 119 24 Unsigned 10 表示APDU分段超时重传的等待时间(毫秒),默认值为2000毫秒,如果APDU重传次数属性不为0,则此属性也不为0,如果支持任何形式的分段,则此属性必须存在。为了通信可靠,建议网络上所有Device对象此属性值相同 表示APDU超时重传的等待时间,对于允许修改该参数的设备,默认值为3000ms。否则为60000ms,如果APDU重传次数属性不为0,那么这个属性值也不为过0。也建议全网络的Device此属性一致。与前一个属性区别是:此属性描述的是一个报文(可能分段,也可能不分段)等待确认或证实的超时时间,而上一个属性描述的是一个分段报文等待确认或证实的超时时间。一个分段报文再分段发送完毕后,必须在该属性定义内的事件等待对整个报文的确认或证实。通常此属性大于上一个属性值。 表示APDU重传的最大次数,默认为3,如果设备与允许重传,那么该属性值为0.如果该属性值大于0,则APDU_Timeout属性值不为0。 表示具有安全要求的BACnet设备惊醒通信的密钥表,除了”密钥服务器”之外,任何设备不可对该属性进行读/写操作。会话密钥由56位密钥和进行安全通信的对等设备的BACnet地址(BACnet Address)组成。 该属性的数据类型为列表,该属性用于对TimeSynchronization服务的控制。当该属性的列表长度为0时,则该设备禁止发送TimeSynchronization服务请求。当属性长度不为0时,则该设备可以发送40
Unsigned 11 Unsigned Number_Of_APDU_Retries //APDU 重传次数 List_Of_Session_Keys //会话秘钥列表 Time_Synchronization_ Recipients //时间同步容器 73 BACnetSessionkey 55 BACnetRecipient 116
TimeSynchronization服务请求,但只能向列表中的设备或地址发送此请求。如果该设备为TimeMaster(时间主设备),则该属性必须存在。 Unsigned Max_Master //最大主节点数(1…127) Unsigned Max_Info_Frame //最大信息帧数 BAcnetAddressBinding Device_Address_Binding //设备地址捆绑 30 63 64 表示主设备节点(Master node)的最高地址值,在BACnet中应不大于127。如果该设备MS/TP网络上的主设备节点,则该属性存在,且不能通过BACnet服务进行访问。 表示一个MS/TP网络节点在获得令牌时能发送信息帧的最大数量,不过该属性不可写或用户不可配置时,默认值为1。 该属性的数据类型为列表,其中每一项由BACnet的Device对象的Object_Identifier属性和BACnet设备的地址组成。该属性表示用BACnet服务进行访问的远程设备的实际地址。如果远程BACnet设备地址中的网络号为0,则表示远程设备与该设备位于同一个BACnet网络中,如果没有远程与该设备捆绑,则该属性的列表长度为0。 例子:读Device对象中的多个属性。
----------------------------------MSTP---LPDU---------------------------------------
55 FF --前导码 02 --帧类型 64 --目标地址 EE --源地址
00 16 --帧数据部分长度(22个byte) 2E --帧头CRC校验 高位在先
--------------------------------------NPDU-------------------------------------------------- ----PCI
09 ---BACnet协议版本号
04 ---00000100 bit7:表示传输的是APDU报文
Bit5:0 和Bit3:0 表示DNET,DLEN,HopCount,SNET,SLEN,SARD都不存在。 Bit2:1 表示证实服务或者复杂确认分段报文或要求确认的网络协议管理和控制报文。
Bit1.0:00 表示普通优先级报文
---PDU
--------------------------------------APDU---------------------------------------------------- -----PCI
02 ---Pdu Type = 0,表示是APDU,SEG = 0,表示不分段发送,MOR=0表示没有分段后续 SA=1
需要分段请求复杂确认
09 --Max Resp = 0001,表示最大报文长度128字节 08 --InvokeID=0,该值可变,但必须符合协议要求
41
0E --表示服务是Read multiple Property,因为读属性服务的枚举值为14 -----PDU
0C -- 对象标示符的上下文标记为0表示应用编码,编码字节长度为4 02-00-00-07 –Device对象类型枚举值为8,本例假设对象实例号为7 19 -对象标示符的上下文标记为1,编码长度为1 62 -- Protocol_Version协议主版本
19 -对象标示符的上下文标记为1,编码商都为1 46 -Model_Name 设备名称
---------------------------------------APDU------------------------------------------------------- F0 B8 --数据帧部分CRC校验
FF --可选填充域 (不推荐使用)
10. Event Enrollment(事件登录)对象
该对象的主要作用是定义事件类型和时间通告的接受者。从广义的角度看,任何的BACnet对象属性的改变均称为“事件”或当做“事件”处理。如果预定义了事件产生的条件算法,若对象属性的变化也满足这个条件算法,则这个对象属性的变化就称为一个“事件”。其中不同的条件算法就称为“事件类型“。事件类型是有参数的,不同类型参数不同。事件的详细内容可参见第八章。 事件的接受者可以在该对象的Recipicent属性中定义。也可以引用一个Notification Class对象 属性类型 属性名称 属性编码 75 属性名称 BACnetObjectIdentifier CharacterString Object_Identifier Object_Name 77 79 28 37 是一个枚举类型,它表示事件的类型,有8种事件类型,最后两种为新增的。 {CHANGE_OF_BITSTRING,CHANGE_OF_STATE,CHANGE_OF_VALUE,COMMAND_FAILURE,FLOATING_LIMIT,OUT_OF_RANGE,BUFFER_READY,CHANGE_OF_LIFE_SAFETY} 42
BACnetOObject_TbjectType ype CharacterString BACnetEventType Description Event_Type //事件类型
BACnetNotifyType BACnetEventParameter BACnetDeviceObject PropertyReference BACnetEventState Notify_T72 ype //通告类型 Event_Pa83 rameters //事件参数 Object_Property_ Reference //对象属性引用 Event_State 36 78 该属性根据Event_Type属性定义了相应的条件算法所需的参数,不同的算法具有不同参数,详见下表 表示事件条件算法所见是的对象属性 可见下表所示 BACnetEventTransition Bits BACnetEventTransition Bits //事件状态 Event_E35 nable //事件使能 Acked_Tr0 ansitions //确认转换 Unsigned Notificati17 on_Class //通告类 BACnetRRecipien101 ecipient t //接收者 Unsigned32 Process_89 Identifier //进程标志符 Unsigned Priority 86 //优先级 Boolean Issue_Co51 nfirmed_
用来指示接收事件者,如果此属性存在,则Recipient必须为NULL。 若Recipient不为NULL,则忽略此属性。 当Notification_Class不存在时,Recipient属性就表示由Event_Type属性定义事件的事件通告接受者。如果事件通告接受者由Notification_Class属性引入的Notification Class对象定义,此时 Recipient属性存在,其值必须为NULL. 表示事件接受者中对事件进行处理的进程句柄(大多是OS总表示进程的进程号或句柄一致)。有句柄号为该号的进程进行处理。 优先级范围为0~255。数值越小,优先级越高。此属性适用于具有实时(REAltime)要求的事件。 该属性定义了事件通知的服务类型,如果用证实服务发送事件通告,则该属性值为TRUE,如果用非证实服务发送事件通告,43
Notifications //发送确认通告 BACnetTiEvent_TimeStamp me_Stamp[3] //事件时间戳 则该属性为FALSE。
Bitmask:这个参数的数据类型为BITSTRING(位串行),应用与引用属性为BITSTRING类型的CHANGE_OF_BITSTRING事件算法和CHANGE_OF_VALUE事件算法。该参数是一个位掩码,用于指示算法所见识的引用属性位。比特位1表明引用属性中的这个比特位呗算法检测。比特位0表明引用属性中的这个比特位对CHANGE_OF_BITSTRING或CHANGE_OF_VALUE算法不起作用。
List_Of_Values: 应用于CHANGE_OF_STATE算法,CHANGE_OF_STATE算法应用于有离散值或枚举值的引用属性。如果引用属性值变为该属性列表的某一项,如果引用属性值变为该属性列表中的某一项,则引用属性的对象就产生一个TO_OFFNORMAL事件,并产生相应的事件通告,且将Event_State属性设置为OFFNORMAL。显然,该属性定义的值也是引用属性的一个子集。
Referenced_Property_Increment: 应用于CHANGE_OF_VALUE算法。该属性表示产生一个事件时引用属性的变化量。
Time_Delay: 应用于所有的事件类型,表示产生事件通告时由事件算法检测的条件必须保持的事件,单位:秒
44
Feedback_Property_Reference:应用于COMMAND_FAILURE算法。该参数值与引用的“可命令属性“值比较,如果该参数的值与引用属性值在经过Time_Delay定义的事件后任不相同,则产生一个TO_OFFNORMAL事件,发出一个事件通告,且置Event_State属性为OFFNORMAL。Z这个属性仅仅引用枚举型或是布尔型的对象属性。 Setpoint_Reference: 应用于FLOARTING_LIMIT算法。该参数定义引用的属性值作为事件算法中的中间值。Deadband,Higi_Diff_Limit,Low_Diff_Limit,Higi_Limit,Low_Limit这些都是REAL类型,应用与FLOATING_LIMIT和OUT _OF_RANGE算法。 例子:读取Event对象中的EventState属性。
----------------------------------MSTP---LPDU---------------------------------------
55 FF --前导码 02 --帧类型 64 --目标地址 EE --源地址
00 16 --帧数据部分长度(22个byte) 2E --帧头CRC校验 高位在先
--------------------------------------NPDU-------------------------------------------------- ----PCI
10 ---BACnet协议版本号
04 ---00000100 bit7:表示传输的是APDU报文
Bit5:0 和Bit3:0 表示DNET,DLEN,HopCount,SNET,SLEN,SARD都不存在。 Bit2:1 表示证实服务或者复杂确认分段报文或要求确认的网络协议管理和控制报文。
Bit1.0:00 表示普通优先级报文
---PDU
--------------------------------------APDU---------------------------------------------------- -----PCI
02 ---Pdu Type = 0,表示是APDU,SEG = 0,表示不分段发送,MOR=0表示没有分段后续 SA=1
需要分段请求复杂确认
10 --Max Resp = 0001,表示最大报文长度128字节 09 --InvokeID=0,该值可变,但必须符合协议要求
0C --表示服务是ReadProperty,因为读属性服务的枚举值为12 -----PDU
0C -- 对象标示符的上下文标记为0表示应用编码,编码字节长度为4 02-40-00-01 –Event对象类型枚举值为9,本例假设对象实例号为1 19 -对象标示符的上下文标记为1,编码长度为1 24 -- Event_State的property id号为36
---------------------------------------APDU------------------------------------------------------- F0 B8 --数据帧部分CRC校验
FF --可选填充域 (不推荐使用)
45
11 File(文件)对象
该对象藐视文件的外部可见特性。在计算机操作系统上利用操作系统命令如(windows的dir命令,Unix的ls-l)对文件进行查询时,则可以显示文件的许多外部可见属性。所以File对象属性应包括这些常见的文件外部特性。当BACnet服务队文件对象属性进行操作时,最终仍然有该对象所在的设备上的操作系统来完成。 属性类型 BACnetObjectIdentifier CharacterString BACnetObjectType CharacterString CharacterString Unsigned 属性名称 Object_Identifier Object_Name Object_Type Description File_Type //文件类型 File_Siza //文件大小,单位:byte Modification_Date //修改日期 Archive //存档 属性编码 75 77 79 28 43 42 属性说明 文件类型有 流式文件和记录文件 BACnetDateTime BOOLEAN BOOLEAN 71 13 99 41 141 Read_Only //只读 BACnetFileAccessMethod File_Access_Method //文件访问方法 Unsigned Record_Count //记录数 例:读取File对象中的 FileType和FileSize属性
----------------------------------MSTP---LPDU--------------------------------------- 55 FF --前导码 02 --帧类型 64 --目标地址 EE --源地址
00 16 --帧数据部分长度(22个byte) 2E --帧头CRC校验 高位在先
--------------------------------------NPDU-------------------------------------------------- ----PCI
11 ---BACnet协议版本号
04 ---00000100 bit7:表示传输的是APDU报文
Bit5:0 和Bit3:0 表示DNET,DLEN,HopCount,SNET,SLEN,SARD都不存在。 Bit2:1 表示证实服务或者复杂确认分段报文或要求确认的网络协议管理
46
和控制报文。
Bit1.0:00 表示普通优先级报文
---PDU
--------------------------------------APDU---------------------------------------------------- -----PCI
02 ---Pdu Type = 0,表示是APDU,SEG = 0,表示不分段发送,MOR=0表示没有分段后续 SA=1
需要分段请求复杂确认
11 --Max Resp = 0001,表示最大报文长度128字节 10 --InvokeID=0,该值可变,但必须符合协议要求
0E --表示服务是ReadmultipleProperty,因为读属性服务的枚举值为14 -----PDU
0C -- 对象标示符的上下文标记为0表示应用编码,编码字节长度为4 02-80-00-0C –File对象类型枚举值为10,本例假设对象实例号为12 19 -对象标示符的上下文标记为1,编码长度为1 2A -- FileSize的property id号为43
19 -对象标示符的上下文标记为1,编码长度为1 2B --FileType的property id为 43
---------------------------------------APDU------------------------------------------------------- F0 B8 --数据帧部分CRC校验
FF --可选填充域 (不推荐使用)
12 Group(组)对象
该对象描述了一个或多个对象的属性及其值。其作用是通过一次BACnet服务(如ReadProperty服务)读取该对象描述的一个或多个属性值。因此可以理解为该对象提供一次访问多个属性的快捷方式。( 所以此对象是用于“读”一组对象属性值,而Command对象则用于“写”一组对象的属性值。 ) 属性类型 BACnetObjectIdentifier CharacterString BACnetObjectType CharacterString 属性名称 Object_Identifier Object_Name Object_Type Description 属性编码 75 77 79 28 属性说明 该属性中的每一项由Object_Indentifier和其所代表的对象中的属性引用列表组成。所有属性均为一个BACnet对象47
ReadAccessSpecification List_Of_Group_Menbers 53 //组成员列表 的属性。 ReadAccessResult Present_Value[] //当前值 85 该属性为一列表,其中每一项为List_Of_Group_Members属性中引用的属性值。为防止并发访问带来的问题,该属性列表中的各属性值在每次被读取之后更新 例子:写 Description属性
----------------------------------MSTP---LPDU---------------------------------------
55 FF --前导码 02 --帧类型 64 --目标地址 EE --源地址
00 16 --帧数据部分长度(22个byte) 2E --帧头CRC校验 高位在先
--------------------------------------NPDU-------------------------------------------------- ----PCI
12 ---BACnet协议版本号
04 ---00000100 bit7:表示传输的是APDU报文
Bit5:0 和Bit3:0 表示DNET,DLEN,HopCount,SNET,SLEN,SARD都不存在。 Bit2:1 表示证实服务或者复杂确认分段报文或要求确认的网络协议管理和控制报文。
Bit1.0:00 表示普通优先级报文
/*
2C ---00101100 bit7: 0 表示NPDU中传输的是APDU内容 Bit6:0 保留位 默认0
Bit5:1 表示DNET,DLEN和Hop Count域存在 Bit4:0 保留位 默认0
Bit3:1 表示SNET,SLEN和SARD域存在
Bit2:1 表示是证实服务或者复杂确认分段报文或要求确认的网络协议管理和控制报文
Bit1.0:00 表示普通优先级报文 00-02 --表示目标网络号(00 02) 02 --表示目标MAC地址长度 02 --表示目标MAC地址为1 00-05 --表示源网络号(00 05) 02 --表示源MAC地址长度 15 --表示源MAC地址为21
07 --表示将经过的路由器的个数,每过一个减1.到0为止。 */
48
---PDU
--------------------------------------APDU---------------------------------------------------- -----PCI
02 ---Pdu Type = 0,表示是APDU,SEG = 0,表示不分段发送,MOR=0表示没有分段后续 SA=1
需要分段请求复杂确认
12 --Max Resp = 0001,表示最大报文长度128字节 11 --InvokeID=0,该值可变,但必须符合协议要求
0F --表示服务是WriteProperty,因为读属性服务的枚举值为15 -----PDU
0C -- 对象标示符的上下文标记为0表示应用编码,编码字节长度为4 02-30-00-03 –Group对象类型枚举值为11,本例假设对象实例号为3 19 -对象标示符的上下文标记为1,编码长度为1 55 -- Presend_Value属性枚举值为85(因为找不到各种property和编号的对应值表,所以
这里假设85) 3E --构造类型起始
75 -- characterstring类型7(标示符为简单类型),编码长度为14 0E --扩展长度字节编码 长度:14 00 --字符集字节编码 ASC
42 41 43 6E 66 74 20 73 74 72 69 6E 67 06 --PresentVlaue索引值为6 3F --构造类型结束
49 -对象标示符上下文标记为1,编码长度1 02 --优先级为2
---------------------------------------APDU------------------------------------------------------- F0 B8 --数据帧部分CRC校验
FF --可选填充域 (不推荐使用)
13 Loop(控制环)对象
该对象描述一个完整的反馈控制环。结构定义如下: 属性类型 BACnetObjectIdentifier CharacterString BACnetObjectType REAL 属性名称 Object_Identifier //对象标志符 Object_Name //对象名称 Object_Type //对象类型 Present_Value //当前值 属性编码 75 77 79 85 属性说明 相同设备中唯一,不同设备中可相同 最小长度为1字符,要求为可打印字符,设备中唯一 在不同的对象中,此属性表示该对象的分类,或对象的隶属关系 表示该对象的实际状态 49
CharacterString BACnetStatusFlags Description //描述 Status_Flags //状态标志 28 111 可选属性,用于说明。若支持中文,则可赋值为中文 有4个标志,表示如下:{IN_ALARM,FALUT,OVERRIDDEN,OUT_OF_SERVICE} ?IN_ALARM(报警),如果Event_State的值为NORMAL则为FALSE(0),否则为TRUE(1) ②FAULT(故障),如果Reliability存在且其值不是NO_FAULT_DETECTED则为TRUE(1),否则为FALSE(0) ③OVERRIDDEN(管制),若某值被与BCAnet设备本身的有关机制所管制则为TRUE(1)。此时,“管制”表示当前值和可靠性属性值不再随设备输入变化而变化 ④OUT_OF_SERVICE(脱离服务),如果Out_Of_Service属性值为TRUE,则为TRUE(1),否则为FALSE(0) BACnetEventState Event_State //事件标志 8 如果对象支持Intrinsic Reporting(报告)则此属性表示对象的事件状态。如果不支持内省报告,则属性应为NORMAL。如果Reliability属性存在且不等于NO_FAULT_DETECTED,则该属性为FAULLT,此时认为是“fault”(失效)事件 该属性有下列值:{NO_FAULT_DETECTED(未发现故障),NO_SENSOR(无传感器),OVER_RANGE(超出范围),UNDER_RANGE(低于范围),OPEN_LOOP(开路),SHORTED_LOOP(短路),MULTI_STATE_FAULT(多状态失效),UNRELIABEL_OTHER(其他不可靠)} 设备工作时为TRUE,否则为FALSE。当Out_Of_Service为TRUE时,Present_Value不随输入变化而变化。同时,Reliability属性和Status_Flags属性中的FAULT位上的值也不能反映物理输入设备的状态。因此当Out_Of_Service为TRUE时,可用于测试过程,可随意改相关属性值。 该属性的数据类型为无符号整形。它表示控制算法更新输出的时间间隔(ms),值得注意的是对控制变量没有取样时间或频率的规定。 表示此对象的测量单位 BACnetReliability Reliability//可靠性 103 BOOLEAN Out_Of_Service //脱离服务 81 Unsigned Update_Interval //更新间隔 118 BACnetEngineeringUnits BACnetObjectPropertyReference BACnetObjectPropertyReference REAL Output_Units //单位 Manipulated_Variable_Referencet //操作变量引用 Controlled_Variable_Referencet //控制变量引用 Controlled_Variable_Value 82 60 19 21 50
正在阅读:
BACnet对象说明 - 图文04-22
甘肃民族师范学院实习表09-29
县交通运输局半年最新工作总结和2022年工作规划范文04-04
2012年4月全国自考《中国古代文学史(一)》试题和答案08-24
Nicolet iS5傅里叶红外光谱仪主要配置技术性能05-17
甜甜的回忆作文500字06-28
南昌红谷驾校解析科目三变更车道技巧05-09
离婚格式02-17
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 对象
- 说明
- 图文
- BACnet
- 集成电路制造中的腐蚀工艺
- 论排球二传手的选材与培养
- 人教版一年级上册数学第六七八九单元试卷各n套 - 图文
- API SPEC 7-1 旋转钻柱构件规范(中)
- 饮食与营养
- 2018江西执业药师继续教育试题答案
- 西班牙语虚拟式小结
- 二〇一四年江苏省建设工程造价员考试卷(安装)
- 电液控制系统设计参考资料
- 接触网运行检修规程实施细则
- 贵州省百万公众网络学习答题4
- 热工基础题库(带答案)
- 明辉门业商业计划书
- 材料应用与处理 课程标准
- 学习预算必须了解的名词
- Spring@Transactionalpropagation各个属性值的含义
- 最新试论资产负债表债务法与损益表债务法比较分析论文
- 新课程理念下小学数学应用题解题策略
- 贵州省遵义四中2018-2019学年高三下学期物理模拟试卷(10月份)
- 金融机构上半年普惠金融工作总结