BACnet服务

链接

http://www.doczj.com/doc/dc6910225-7.html

BACnet服务有很多, 一种特定功能的设备无需支持全部服务, 例如一台网络型风阀执行器只需要支持: ReadProperty, WriteProperty,而一台可编程控制器至少需要支持: Who Is, TimeSynchronization, ReadProperty, WriteProperty, CreateObject, DeleteObject, AtomicReadFile, AtomicWriteFile. 以下为几种常用的BACnet服务的含义:

ReadProperty

含义是读对象属性, 例如设备A需要知道设备B的温度数据, 设备A就会发出ReadProperty命令, 在命令中指定设备B的物理地址和网络号, 温度点对象的ID, 温度点对象的属性(如果想读取温度值, 属性为: PresentValue, 如果想读取温度单位, 属性为: Unit), 如果设备B支持ReadProperty服务, 并且温度点对象是可读的, 它的回答就会包含正确数据.

WriteProperty

含义是写对象属性, 例如设备A需要修改设备B的温度设定值, 设备A就会发出WriteProperty命令, 在命令中指定设备B的物理地址和网络号, 温度点对象的ID, 温度点对象的属性, 要设定的新值, 如果设备B支持WriteProperty服务, 同时这个对象支持被写, 它的温度设定点就会被改变, 同时返回一个成功通知.

ReadPropertyMultiple

含义是读多个对象的多个属性值, 如果设备A需要知道设备B的多个数据, 可以发出多个ReadProperty命令, 但是这样会降低网络效率, 因为每条命令由应用层下传到物理层会增加许多协议控制信息, 如果只发送一条ReadPropertyMultiple命令, 会提高效率. 在命令中指定设备B的物理地址和网络号, 相关对象的ID和相关属性, 如果设备B支持ReadProperty服务, 它的回答就会包含所有数据, 如果某个数据不可读, 它会被一个错误码替代.

SubscribeCOV

含义是订阅COV(Change Of Value), 例如设备A需要连续了解设备B的某个数据, 设备A可以每隔一段时间发送ReadProperty命令, 这就是常见的查询. 这样做的缺点就是效率太低, 例如查询时间间隔较短, 会增加网络负荷, 如查询时间间隔较长, 则会增减数据传输延时. 在BACnet网络中, 使用COV进行数据交换是常见的方法, 这个方法就是设备A现在设备B处做一个登记, 以后设备B的相关数据发生了改变就会主动通知设备A. 首先, 设备A需要发送SubscribeCOV命令, 在命令中指定设备B的物理地址和网络号, 关心的对象ID等, 如果设备B支持SubscribeCOV服务, 并且关系的对象是可订阅的, 设备B会返回一个订阅成功的通知.

UnconfirmedCOVNotification

含义是无需确认的COV(Change Of Value)通知, 如果设备A在设备B处成功的订阅了某个对象, 当这个对象的相关属性发生改变时, 设备B会向设备A发出UnconfirmedCOVNotification通知, 包含这个对象的相关属性列表, 设备A收到该命令后不需要回答, 与之相对的还有一个ConfirmedCOVNotification通知, 这个需要设备A确认的通知, 设备A会收到哪种类型的通知取决于订阅时指定的参数.

Who Is

含义是"谁在?", 这个一个远程设备管理服务, 典型情况是由工作站以广播形式发送Who Is命令, 所有在线的, 支持该服务的设备将陆续提交一个"I Am"报告, 说明自己的地址, 生产商编号等重要参数. 在Who Is命令中也可以指定地址范围, 这样只有在该范围内的设备提交"I Am"报告.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值