BACnetV3协议接入说明
1 使用流程说明
提示
1.品类功能定义和设备实际点位无需完全一致
2.点位可以多于功能定义,此时品类功能定义满足业务对数据需求即可,当需要新的点位功能,也可以继续在原有品类新增功能
3.功能定义可以多于设备点位,此时功能定义中多余数据,设备上线后不会更新数据,操作指令也会下发失败
2 添加协议
登录阿里云应用服务平台后,找到需要配置的项目,该项目已由项目方创建,如果未创建,请联系项目方。
进入项目内,找到边缘一体机-网关管理,如下图所示。点击网关对应的设备集成
在设备集成页面首次集成时需要点击“新增协议”添加协议及设备:
在设备集成页面非首次集成时,需点击网关右侧的设置按钮中的“添加协议”:
点击网关右侧的设置图标,首先,在弹出菜单中选择“添加协议”,然后,在下拉选择的协议列表中选择“BACnetV3(官方)”,然后选择协议版本,建议选择最新版本进行添加,如下图所示:
3 配置点位
如下图所示,通过点击“BACnetV3”驱动,右侧展现驱动管理页,进入“通道配置”TAP页,点击“创建通道”按钮
BACnet中有通道概念,意指链路。需指定BACnet采用哪种链路进行通信,目前支持UDP方式。
为了提升部署效率,我们扩展了通道属性,把物理设备相关的参数指定在通道中配置
添加配置
参数说明
名称 | 说明 |
通道编号 | 用于点位与通道关联,自行定义,需要保证协议内唯一性 |
传输方式 | 支持UDP |
网卡名称 | 输入网关接入内网网络的网卡名。 |
设备ID | BACnet物理设备ID |
上报周期 | 点位数据上报时间间隔 |
离线判定周期 | 设备离线的判定时间,建议为上报周期*10 |
通信方式 | 定向:根据定向ip、port发现设备;非定向:通过广播方式发现设备 |
最大报文长度 | 传输数据的最大长度,通信方式为“定向”时有效 |
地址 | 设备ID地址和端口号,格式:ip:port,通信方式为“定向”时有效 |
通道备注 | 自定义一个备注信息,方便查看 |
如下图所示,通过点击“BACnetV3”驱动,右侧展现驱动管理页,进入“点位表”TAP页,点击“创建点位”按钮
点位的参数请按下图所示进行配置:
参数说明
名称 | 说明 |
链接通道 | 点位连接通道 |
点位编号 | 点位编号,全局唯一 |
对象类型 | BACnet设备固有参数,由设备商提供,支持模拟量输入、二进制输入等等,详情见“BACnet点位配置表” |
对象ID | BACnet设备固有参数,由设备商提供,详情见“BACnet点位配置表” |
属性ID | BACnet设备固有参数,由设备商提供,详情见“BACnet点位配置表” |
数据类型 | 支持bool,int,float,double等类型,详情见“BACnet点位配置表” |
是否变更上报 | 数据发生变化时触发上报 |
首先下载批量导入模版,如下图所示:
打开导入模版,进入“通道配置表”TAP页,如下图所示:
进入“点位表”TAP页,如下图所示:
基于导入模版填充好所需导入的配置信息后,点击上传文件,选择所需导入的文件后点击确定按钮,首先会基上传的文件进行预校验,预校验过程主要校验配置内容的合法性,预校验过程中确定按钮为不可点击状态,如下图所示
预校验通过后,确定按钮变为可点击状态,点击后进行实际配置导入,如下图所示:
整个导入过程可能需要耗费几分钟时间,请耐心等候(具体由所需导入的点位数,设备数决定),导入进度的展现如下图所示:
当配置数据存在不合法的情况,预校验会不通过,可下载文件进行失败原因的查看,可基于失败原因对导入文件进行修改,入下图所示:
通道配置表预校验失败原因查看,如下图所示:
点位表预校验失败原因查看,如下图所示:
4 添加设备
如下图所示,通过点击“BACnetV3”驱动,右侧展现驱动管理页,进入“设备表”TAP页,点击“创建设备”按钮
设备的参数请按下图所示进行配置:
参数说明
名称 | 说明 |
设备名称 | 设备的IoT编码 |
设备别名 | 设备的备注名称 |
设备品类 | 设备的物模型品类 |
设备表预校验失败原因查看,如下图所示:
点击下拉列表可以进行点位的选择
点击查看点位可以查询选择的点位的详情
支持基于导入模版批量进行通道信息,点位信息,设备信息的导入
4.3.1 基于导入模版中录入设备信息
查看设备对应的品类信息,本例为温度控制_霍尼韦尔,在品类管理页找到该品类,导出设备模版,如下图所示:
打开导出的模版,红框部分为该品类所具备的功能属性定义,需要拷贝至导入模版<设备表>TAP页,如下图所示:
然后在导入模版<设备表>TAP页补充IoT设备ID,IoT设备中文名称,点位编号信息
参数说明
名称 | 说明 |
IoT设备ID | 设备的IoT编码 |
IoT设备中文名称 | 设备的备注名称 |
点位编号 | 设备的点位编号,全局唯一 |
在完成驱动和设备的配置后,点击部署,进行设备配置的协议下发到边缘服务器。如下图所示。
特别提醒:驱动部署时,网关侧对应驱动将重启,该驱动下的所有设备将出现离线后在线。这期间设备不可用,请部署人员提前与甲方沟通部署时间
点击部署后可以查看设备配置下发的状态和部署进度。
5 新建模型
弹出页面如下图所示:
参数说明
名称 | 说明 |
分组名称 | 品类分组名称 |
编码 | 品类分组名称对应的英文名称。编码要求支持英文字母、数字和下划线,长度限制1~10 |
把鼠标放到智慧社区右上方会出现个齿轮,把鼠标放到齿轮上,然后会出现新建品类,点击新建品类,如下图所示:
弹出页面如下图所示:
参数说明
名称 | 说明 |
品类名称 | 品类名称 |
编码 | 品类名称对应的英文名称。编码要求支持英文字母、数字和下划线,长度限制1~10 |
把鼠标放到设施设备,点击新建模型,如下图所示:
弹出页面,如下图所示:
参数说明
名称 | 说明 |
模型名称 | 品类的模型名称 |
接入协议 | 该模型的设备接入协议,固定为“自定义协议” |
编码 | 模型名称对应的英文名称。编码要求支持英文字母、数字和下划线,长度限制1~10 |
根据5.3里新建模型温度控制_霍尼韦尔,点击新增功能,进行点位添加,如下图所示:
参数说明
名称 | 说明 |
功能名称 | 该功能的功能名称 |
标识符 | 功能标识符,用于标识该功能 |
数据类型 | 数据类型包括:int(原生)、float(原生)、double(原生)、text(原生)、date(String类型UTC毫秒)、bool(0或1的int类型)、enum(int类型,枚举项定义方法与bool类型定义0和1的值方法相同)、struct(结构体类型,可包含前面7种类型,下面使用"specs":[{}]描述包含的对象)、array(数组类型,支持int、double、float、text、struct) |
取值范围 | 数据的取值范围,超出取值范围的数据会被丢弃,数据类型为int、float、double有效 |
步长 | 数据变化的最小粒度,数据类型为int、float、double有效 |
单位 | 根据实际情况选择,可选无,数据类型为int、float、double有效 |
数据长度 | 最大10240,数据类型为text有效 |
元素个数 | 最大512,数据类型为array有效 |
布尔值 | 布尔值(0/1)对应的参数描述,数据类型为bool有效 |
枚举项 | 枚举项对应的参数描述,数据类型为enum有效 |
读写类型 | 数据的读写类型,读写或只读 |