BACnet/IP

BACnet(Building Automation and Control Networks)是一种用于智能建筑的通信协议,它是由国际标准化组织(ISO)、美国国家标准协会(ANSI)和美国采暖、制冷与空调工程师学会(ASHRAE)定义的通信协议。BACnet 是专门为智能建筑及控制系统设计的通信协议,可用于暖通空调系统(HVAC)、照明控制、门禁系统、火警侦测系统以及其相关设备。其优点在于可降低维护系统所需成本,并且安装比一般工业通信协议更为简易。此外,BACnet 还提供了五种业界常用的标准协议,可以防止设备和系统供应商的垄断,从而增加未来系统的扩展性和兼容性。BACnet 协议支持多种通信方式,包括串口、IP、Ethernet、ZigBee 等。

Neuron 支持 BACnet IP 协议,可以通过 UDP 协议与 BACnet 设备进行通讯。

添加插件

配置 -> 南向设备,点击添加设备来创建设备节点,输入插件名称,插件类型选择 BACnet/IP 启用插件。

设备配置

点击插件卡片或插件列,进入设备配置页。配置 Neuron 与设备建立连接所需的参数,下表为插件相关的配置项。

字段说明
设备 IP 地址BACnet 设备的 IP
设备端口BACnet 设备的端口号,默认为 47808

设置组和点位

完成插件的添加和配置后,要建立设备与 Neuron 之间的通信,首先为南向驱动程序添加组和点位。

完成设备配置后,在南向设备页,点击设备卡片/设备列进入组列表页。点击创建来创建组,设定组名称以及采集间隔。完成组的创建后,点击组名称进入点位列表页,添加需要采集的设备点位,包括点位地址,点位属性,数据类型等。

公共配置项部分可参考连接南向设备,本页将介绍支持的数据类型和地址格式部分。

数据类型

  • FLOAT
  • BIT
  • INT8
  • UINT8
  • UINT16
  • BOOL
  • STRING

地址格式

AREA ADDRESS(.PROPERTY_ID)

支持区域

区域地址范围属性数据类型备注
AI0 - 0x3ffffffloat模拟输入
AO0 - 0x3fffff读/写float模拟输出
AV0 - 0x3fffff读/写float模拟量
BI0 - 0x3fffffbit二进制输入
BO0 - 0x3fffff读/写bit二进制输出
BV0 - 0x3fffff读/写bit二进制值
MSI0 - 0x3fffffuint8多状态输入
MSO0 - 0x3fffff读/写uint8多状态输出
MSV0 - 0x3fffff读/写uint8多状态值
DEV0 - 0x3fffff设备
ACC0 - 0x3fffff读/写uint8累加器

目前支持标准属性和自定义属性

标准属性

属性地址类型
对象名称Object_Namestring
对象类型Object_Tyepuint8
描述Descriptionstring
设备类型Device_Typestring
状态标志Status_Flagsstring
事件状态Event_Stateuint8
脱离服务Out_Of_Servicebool
更新间隔Update_Intervaluint8
最小值Min_Pres_Valuefloat
最大值Max_Pres_Valuefloat
分辨率Resolutionfloat
COV增量COV_Incrementfloat
时间延迟Time_Delayuint8
通告类Notification_Classuint8
通告类型Notify_Typeuint8
单位Unitsuint8
高阈值High_Limitfloat
低阈值Low_Limitfloat
阈值宽度Deadbandfloat
可靠性Reliabilityuint8
极性Polarityuint8
系统状态System_Statusuint8
厂商名Vendor_Namestring
厂商IDVendor_Identifieruint8
型号名称Model_Namestring
固件版本Firmware_Revisionstring
应用软件版本Application_Software_Versionstring
位置Locationstring
协议版本Protocol_Versionuint16
协议一致类别Protocol_Conformance_Classuint8
协议服务支持Protocol_Service_Supportedstring
协议对象类型支持Protocol_Object_Types_Supportedstring
序列号Serial_Numberstring
最大APDU长度支持Max_APDU_Length_Accepteduint16
分段支持Segmentation_Supporteduint8
本地时间LOCAL_TIMEstring
本地日期LOCAL_DATEstring
时差UTC_Offsetint8
夏令时状态Daylight_Savings_Statusbool
APDU分段超时APUD_Segment_Timeoutuint8
APDU超时APUD_Timeoutuint16
APDU重传次数Number_Of_APDU_Retriesuint8
最大主节点数Max_Masteruint8
最大信息帧数Max_Info_Frameuint8
配置名Profile_Namestring
频率Pulse_Rateuint8
分频Scalefloat
预分频Prescalefloat
原值Value_Before_Changeuint8
修改时间Value_Change_Timestring

不指定属性,默认为当前值(Present_Value)属性,DEV 区域除外。

自定义属性

PROPERTY_ID 由两部分组成,一个是 custom 标志,一个是属性的值(int),整体格式为 AREA ADDRESS.custom.id。

支持 Present Value 置零操作,目前支持 AO 和 BO 区域,地址形式为 (AO|BO)xxx.NULL,只支持写操作,根据区域的类型,写入类型的零值即可。

地址示例

地址数据属性说明
AI0floatAI 区域,地址为 0
AI1floatAI 区域,地址为 1
AV30floatAV 区域,地址为 30
BO10bitBO 区域,地址为 10
BO10.NULLbitBO 区域,地址为 10,写入NULL值
BO20bitBO 区域,地址为 20
BI0bitBI 区域,地址为 0
BI1bitBI 区域,地址为 1
BV3bitBV 区域,地址为 3
MSI10uint8MAI 区域,地址为 10
MSI20uint8MSI 区域,地址为 20
MSI30uint8MSI 区域,地址为 30
ACC1stringACC 区域,地址为 1
AI0.Object_NamestringAI 区域,地址为 0,属性为对象名
AI0.custom.1234ALLAI 区域,地址为 0,属性值为1234
DEV400001.Vendor_NamestringDEV 区域,地址为 400001,属性值为厂商名