文|同济大学社区信息化与智能建筑研究中心 贾坚萍
西门子楼宇科技公司 孙 浩
BACnet协 议(A Data Communication Protocol for Building Automation and Control Networks)是ASHRAE于1987年研发制定的开放的标准协议。2003年,它正式成为国际标准(ISO 16484-5),是迄今为止在楼宇自动化领域中唯一的ISO标准。BACnet协议产生的背景是一个系统中不同厂商的DDC产品不兼容,产品的升级与替换都受制于原来的厂商,损害系统使用者的利益。BACnet协议打破专有协议的约束,实现不同厂商产品之间的互操作和系统的集成。
由于控制目的和策略不同,一个BACnet设备并不需要实现BACnet标准的所有功能,因而形成各式各样的BACnet设备,大大促进对新产品的设计开发。本文要讨论的内容是如何从各种BACnet设备中合理地选择符合楼宇控制要求的设备。文章以Siemens APOGEE系统的PXC Modular和AIRTEK公司的DPC4442B为例,对它们的互操作性进行分析。
BTL(BACnet Testing Laboratories,即BACnet测试实验室)是测试BACnet设备互操作性并认证设备是否符合BACnet协议的组织。经过BTL认证的BACnet设备必须提供PICS文件,各厂商的PICS文件都必须在BTL网站上公开。
PICS是BACnet Protocol Implementation Conformance Statement( 即 BACnet协 议实现一致性声明)的简称,它描述BACnet设备的关键信息,具有特定的格式,是比较不同厂家的BACnet设备的功能和互操作性的高效有用的工具。理论上,制造商、客户和咨询工程师根据该文件可以确定给定设备可实现的功能,并确定任意给定的BACnet设备间的互操作性。
尽管不同厂商的PICS文件的格式可能不尽相同,但PICS文件一般都包括以下几个方面:产品名称、版本号和描述,设备类型,支持的标准BACnet对象类型以及该对象是否可以用BACnet服务动态创建或删除,支持的BIBB,支持的非标准服务,支持的分段和窗口调节大小,支持的数据链路层和物理层。
数据链路层是确定BACnet设备互操作性的前提,其互通容易判断,在此不作介绍。设备类型、支持的标准BACnet对象类型和BIBB是确定BACnet设备互连后最终可以实现哪些功能的工具,下面将重点介绍这三项内容。
BACnet标准定义了6类BACnet标准化设备,分别为BACnet操作员工作站(B-OWS)、BACnet楼 宇 控 制 器(BBC)、BACnet高级应用控制器(B-AAC)、BACnet专用控制器(B-ASC)、BACnet智能执行器(B-SA)和BACnet智能传感器(B-SS)。
B-OWS是操作员监视管理BACnet系统的窗口。B-OWS在分层楼宇自控网络系统中通常不作为DDC对现场设备进行控制,其作用是监视和管理BACnet系统及其设备。B-BC是一种通用现场可编程控制器,用于各种楼宇自控任务。B-AAC是与应用有关的高级控制器,虽然具有一定的可编程能力,但资源较少,功能不及B-BC。B-ASC是特定应用的控制器,功能比B-AAC还少。B-SA是功能极为有限的简单控制器,B-SS是资源极为有限的传感器设备。
在以APOGEE系统为代表的部分设备中,上述六类设备的连接方式通常如图1所示。
不同类型的BACnet设备规定实现的BIBB(BACnet Interoperability Building Blocks,即BACnet楼宇互操作基本块)也不同。如表1所示,B-SS只支持BIBBDataSharing-ReadPropertyMultiple-B,而B-BC支持五个互操作域内的多个BIBB。设备所能实现的服务和设备具备的对象主要取决于该设备的类型,因此,在PICS中必须注明该设备属于BACnet标准化设备的哪一类,以便选取设备。
每个楼宇自控系统中的设备都能抽象为一组对象实例,并且每个设备都必须有且仅有一个Device对象实例。例如:一个智能温度传感器只需用1个设备对象和1个模拟量输入对象表示。而一个楼宇控制器则需要用1个设备对象、多个模拟量输入对象、多个二进制输入对象、多个二进制输出对象、多个时间安排对象等组合表示。
图1 BACnet设备之间的相互关系图
当然,某个产品如果具有某个对象,其本身必须具有该对象表示的功能,才有意义。例如,一个设备不具备时间安排的功能,就不能写该BACnet设备具有时间安排对象。
属性是对对象内容的详细描述,例如:一个模拟量输入对象有工作极限、状态等属性。每个对象至少包含Object Identifier、Object Name和Object Type三个属性,每个属性都由属性的名称或标识符以及属性值两部分组成。设备的属性可以是只读或读/写的,其他BACnet设备可以读取设备中的属性或者重新赋值给该属性。BACnet标准将某些属性定义为必选属性,而将另一些属性定义为可选属性。
PICS除了列出设备支持的标准BACnet对象之外,还要对每个对象作进一步说明,标明其支持的可选属性、可写属性、是否可以用BACnet服务动态创建或删除,以及对该属性取值范围的要求。下面简要介绍各个对象的功能。
Analog Input/Output Object,即模拟量输入/输出对象,该对象用于描述输入/输出信号的大小。
Analog Value Object,即模拟量值对象,该对象用于表示控制系统中的一个参数值。
Binary Input/Output Object,即二进制输入/输出对象,该对象用于描述输入/输出信号的开关量。
Binary Value Object,即二进制值对象,该对象与Analog Value对象一样,用于表示控制系统中的一个参数值。
Calendar Object,即日期表对象,BACnet设备根据该对象(通常为特殊的日期)自动执行操作。
Schedule Object,即时间安排对象,该对象描述了一周内的时间安排,用于周期性地控制一个或多个BACnet对象。
Command Object,即命令对象,该对象对具体的BACnet设备的一组对象属性写入一组数值,可用作在其他设备中安排时间表。
Device Object,即设备对象,该对象用于描述该BACnet设备厂家及模型的信息。
Event Enrollment Object,即事件登录对象,该对象用于定义事件类型和事件通告的接受者。
File Object,即文件对象,该对象涉及到控制器数据库的上传和下载。
Group Object,即组对象,该对象定义了一个标准化的对象,其属性能代表一组其他对象或一个或多个其他属性,因而能够简化BACnet设备之间信息的交换。
Loop Object,即控制环对象,该对象用于描述完整的反馈控制环。
Notification Class Object,即通告类对象,该对象包含了一张表,该表列出了当数值达到通告阈值后要通告给哪些设备。
Program Object,即程序对象,该对象用于描述应用程序。
Trend Log Object,即趋势日志对象,该对象用于用于监视对象的属性。
BACnet标准根据“ASHRAE 13 DDC系统说明和设计指南”定义了5个互操作域,也就是数据共享域(Data Sharing)、报警与事件管理域(Alarm and Event Management)、时间安排域(Scheduling)、趋势域(Trending)和设备与网络管理域(Device and Network Management)。每个互操作域由多个BIBB组成,如表1所示。
表1 不同BACnet标准化设备必须具备的BIBB表
BIBB是一种BACnet应用服务或多种BACnet应用服务的集合。为了便于选择设备,匹配两设备的互操作性,BIBB分别用设备A和设备B来定义服务。一般情况下,设备A表示服务的请求方,设备B表示服务的响应方。例如,BIBB-DSCOV-A是命令B设备向A设备提供COV信息,其中涉及到的BACnet应用服务有SubscribeCOV、ConfirmedCOVNotification和UnconfirmedCOVNotification。SubscribeCOV服务用于COV请求方(A设备)向COV响应方(B设备)预订COV事 件。ConfirmedCOVNotification和UncomfirmedCOVNotification服务都是用于向COV预订用户通告对象的属性值已经发生变化,前者是证实服务,后者是非证实服务。
某项目已有AIRTEK公司的DPC4442B控制器,需要添加一台功能更全的上层控制器进行联网控制,业主想选用Siemens APOGEE系统的PXC Modular。下面我们就对这两台设备的互操作性进行分析。
DPC4442B微电脑可编程控制器是一台多功能高性能完全可程序化的逻辑控制器,可用于监控楼宇机电设备、大型空调箱、洁净室、排气柜、大型终端设备或类似的设备控制场合,且是符合BACnet标准的控制器。
PXC Modular可编程控制器是一个高性能的DDC控制器,可以单机工作,也能够联网完成一些复杂的监控和能量管理的工作。
BACnet设备选择流程,如图2所示。
首先,要在一个大范围中初步选定设备,从BTL网站上获得这些设备的PICS,查看两台设备支持的数据链路层表上是否有匹配的连接方式,如果没有就要重新选择。如表2所示,PXC Modular通过BACnet IP与上层连接,通过MS/TP与下层连接。如表3所示,DPC与上层的连接是通过MS/TP实现的。因此PXC Modular与DPC可以互连。如果将PXC Modular换成PXC Compact,与DPC的互连就无法实现,因为PXC Compact只支持BACnet IP。
图2 设备选择流程图
接下来要查看BACnet标准设备类型,从设备的PICS文件的BACnet Standardized Device Profile中可以查到其类型,如表4、表5所示。
然后需比较两设备支持的标准对象是否能满足基本的控制要求。如表6所示,DPC与PXC Modular都支持File和Device对象,能完成对点输入输出和数值的数字量和模拟量的控制。
表2 PXC Modular支持的数据链路层表
表3 DPC支持的数据链路层表
表5 PXC Modular的BACnet标准设备类型表
表6 DPC与PXC Modular支持的标准对象表
表7 DPC BIBB表
最后,要查看这两台设备中是否有B-OWS,或者是否都是B-BC。因为B-AAC、B-ASC、B-SA和B-SS通常都是响应方,不涉及到XX-XX-A之类的BIBB,所以只要查看上层设备的XX-XX-A BIBB和下层(同层)设备的XX-XX-B BIBB是否能成对匹配,就能确定两者互连后能否实现该BIBB定义的功能。如果能成对匹配,则可以实现该BIBB定义的功能;如不能成对匹配,则还要查看上层设备的XX-XX-B BIBB和下层设备的XX-XX-A BIBB。例如,要想了解PXC Modular和DPC互连后支持的BIBB,只要考虑PXC Modular是否支持DPC XXXX-B对应的XX-XX-A即可。如表7和表8所示(粗框中的是该类型BACnet设备支持的,除必备BIBB之外的BIBB),DPC支持DS-RP-B,PXC Modular支 持 DS-RP-A,这一对BIBB表明设备A能读取设备B的属性,而设备B能响应设备A读属性的请求。作为现场设备控制器,DPC不需要读取上层控制器的数据,因此DPC不支持DS-RP-A并不妨碍它与PXC Modular的互连;而即使
PXC Modular支持DS-RP-B,该功能也与DPC无关。
表8 PXC Modular BIBB表
从表7和表8中还能发现,两台设备都只能支持DM-DCC-B和DM-TS-B BIBB,这是因为只有B-OWS设备才具有DMDCC-A和DM-TS-A,通信以及同步时钟一般都是由操作员工作站控制的。
因此,这样的两台设备互连后能实现的功能有:读取某个点的属性、读取多个点的属性、写某个点的属性、动态绑定设备和动态绑定对象。
搭建测试环境对上述分析加以验证。通过Insight软件可以看出DPC与PXC Modular成功互连,并且能在PXC Modular上完成对所有点输入输出和数值的操作。如图3、图4所示。
由 于DPC4442B不 具 备Schedule、Calendar和Trend Log对象,因此在PXC Modular上设定Schedule表对DPC4442B不会生效,这也是与分析的结果一致的。
图3 系统概览图
图4 DPC配置图
BACnet是楼宇自控领域中的开放的标准,其应用正不断得到拓展。PICS文件可以为BACnet设备间互操作性实现的分析提供依据,其可行性已经在实践中得到了证明。
1 ANSI/ASHRAE Standard 135.2001.BACnet-A Data Communication Protocol for Building Automation and Control Networks[M].2001
2 程大章.智能建筑楼宇自控系统.中国建筑工业出版社,2005.4
3 董春桥.智能楼宇BACnet原理与应用.电子工业出版社,2003.3
4 Siemens BACnet Information Guide.2005
5 Steven T.Bushby,H.Michael Newman,Martin A.Applebaum.GSA Guide to Specifying Interoperable Building Automation and Control Systems Using ANSI/ASHRAE Standard 135-1995,BACnet.1999
6 付保川,奚雪峰,王中杰,许维胜.BACnet网络互操作模型及其应用研究.制造业自动化,2008(11)