智能建筑软件接口技术综述2008-11-2009:58:40|分类:楼宇自控技术|举报|字号订阅智能建筑软件接口技术综述智能建筑软件接口技术综述(上)同方股份有限公司数字城市软件技术公司邹超群徐珍喜摘要:本文对智能建筑中常用的软件接口技术和通讯协议进行了分析和介绍,内容涵盖了OPC、TCP/IP、RS-232/422/485串行通信、ModBus、Lonworks、BACnet、EIB、ODBC、DDE、API、ActiveX、SNMP等多种技术,并对这些技术在智能建筑中的应用进行了分析,同时对使用这些技术进行接口软件的开发提出了建议。关键词:智能建筑系统集成通讯接口软件OPCTCP/IPRS-232/422/485串行通信ModBusLonworksBACnetEIBODBCDDEAPIActiveXSNMPAnalysisoftheCommunicationInterfaceSoftwareofIntelligentBuildingAbstract:ThispaperanalysesseveralcommunicationinterfacesoftwaredevelopmenttechnologiesandcommunicationprotocolscommonlyusedinIntelligentBuilding,includes:OPC,TCP/IP,RS-232/422/485,serialcommunication,ModBus,Lonworks,BACnet,EIB,ODBC,DDE,API,ActiveX,SNMP.ItalsoanalysestheapplicationofthesetechnologiesinIntelligentBuilding,andgivessomedevelopmentproposal.Keywords:IntelligentBuilding,SystemIntegration,CommunicationInterfaceSoftware,OPC,TCP/IP,RS-232/422/485,SerialCommunication,ModBus,Lonworks,BACnet,EIB,ODBC,DDE,API,ActiveX,SNMP1.软件接口技术是智能建筑的关键技术智能建筑的智能化系统中通常包含了多个子系统,如楼宇自控系统、消防报警系统、视频监控系统、防盗报警系统、门禁系统等。每个子系统中又包含了多种设备,以楼宇自控系统为例,它包含了多种型号的传感器、执行器、现场控制器,同时还要管理冷水机组、变配电系统、UPS等机电设备。智能化集成系统将智能建筑内诸多智能化子系统相互独立的设备、资源、服务、管理功能集成到一个相互关联的、统一协调的系统之中,以实现信息、资源、任务共享,信息集成和综合管理。智能化集成系统是提高智能建筑管理水平和效率的有力工具,正在被越来越多的智能建筑所采用,在智能建筑的日常管理和维护中扮演着日益重要的角色。智能化集成系统与各个子系统建立连接和交换信息的最有效、最方便的方法是使用软件接口技术,在集成系统服务器与子系统管理主机之间使用一个接口软件来完成集成系统与子系统的连接和信息交换。子系统内部的总线或通讯网一般只能连接同一厂商的设备,要对第三方设备进行管理时,可以使用硬件接口设备或者是接口软件,两者的区别在于:硬件接口设备开发复杂、成本高但可以独立运行,而接口软件开发相对简单、成本较低但需要用一台计算机作为运行平台(可与其它系统的软件共用一台计算机)。在实际工程中使用较多的是接口软件,例如要实现楼宇自控系统对冷水机组或UPS的管理时,可以购买或自行开发一套接口软件来建立楼宇自控系统与相应设备的连接,以实现对该设备的监控。近年来,绝大多数智能建筑工程中都或多或少的使用了软件接口技术。采用了智能化集成系统的工程中要使用大量的接口软件,以在集成系统与子系统之间建立连接。没有采用智能化集成系统的工程中,一般也会有通过楼宇自控系统监控一些机电设备的需求,例如精密空调、UPS、变配电系统、电梯等,这时也要通过接口软件来实现楼宇自控系统与相应设备的连接。随着智能建筑技术的不断发展,软件接口技术已经逐渐成为智能建筑中必不可少的一项关键技术。2.接口软件的定义智能建筑中的接口软件一般是指,在一个智能化系统(称为主系统)与另外一个智能化系统或机电设备(称为分系统)之间建立通讯连接、使主系统与分系统之间能够进行数据交换,以使主系统能够监视分系统的运行状态,如有需要时主系统还能控制分系统的运行状态或设置分系统的运行参数,通常运行在PC上的软件。接口软件存在的基础是主系统和分系统都可以提供对外的通讯接口,且主系统使用的通讯接口与分系统使用的通讯接口不兼容。如果主系统或者分系统不能提供对外的通讯接口,接口软件就无法在不干扰主系统及分系统正常运行的情况下获取它们的运行状态数据。主系统与分系统采用不同的两种通讯接口,不能直接建立连接,才需要接口软件,它的作用就是同时支持主系统和分系统采用的两种通讯接口,分别与主系统和分系统建立连接,并在运行中执行以下两个任务:1、按照分系统通讯接口定义的规则和数据格式,定时查询分系统的运行状态数据,或者等待分系统主动将其运行状态数据报告上来;采集到分系统的运行状态数据后,接口软件首先将这些数据转换为主系统通讯接口定义的数据格式,然后将格式化了的分系统运行状态数据报告给主系统,或者等待主系统的查询。2、接收主系统发送过来的命令,命令内容可以是控制分系统的运行状态或者是设置分系统的运行参数,接口软件首先按照主系统通讯接口的定义解析这些命令,然后再按照分系统通讯接口的定义、根据解析出来的命令参数构造一条分系统可以解析的命令并发送给分系统;如果分系统执行命令后有状态报告(如执行成功、执行失败、权限不够等)的话,接口软件还要先按照分系统通讯接口的定义解析该状态报告,随后按照主系统通讯接口的定义构造出主系统可以解析的状态报告并发送给主系统。接口软件只负责完成主系统与分系统之间的数据交换,由接口软件发送给主系统的运行状态数据如何被主系统处理,以及由接口软件发送给分系统的命令如何被分系统执行,则不在接口软件的考虑之内。图1是使用了接口软件的智能建筑智能化系统的示意图。在图中,智能化集成系统通过楼宇自控系统接口软件、消防报警系统接口软件对楼宇自控系统和消防报警系统进行集成,在这里,对接口软件来说,集成系统是主系统、楼宇自控系统和消防报警系统是分系统;楼宇自控系统通过冷水机组接口软件对冷水机组进行监控和管理,在这里,对接口软件来说,楼宇自控系统是主系统、冷水机组是分系统。图1使用接口软件的智能化系统示意图3.常用的软件接口技术和规范应用比较广泛的软件接口技术和规范有:OPC、TCP/IP、RS-232/422/485串行通信、ModBus、Lonworks、BACnet、ODBC、DDE、API、ActiveX等。3.1OPCOPC的全称是OLEforProcessControl,它是由OPC基金会制定的一套开放性的通讯规范。OPC以微软的OLECOM和DCOM技术为基础,在规范中定义了一套标准的对象、接口和方法,OPC采用客户端/服务器模式,OPC客户端与OPC服务器之间通过使用这些标准的对象和接口来进行通讯。目前的OPC规范包含7个部分,即:OPC数据访问规范、OPC报警和事件处理规范、OPC批量过程规范、OPC数据交换规范、OPC历史数据访问规范、OPC安全规范、OPCXML数据访问规范。在智能建筑中常用的是OPC数据访问规范(OPCDataAccess),该规范的最新版本为3.0。在OPC数据访问规范中,OPC服务器由三类对象组成,相当于三个层次上的接口:服务器(Server)、组(Group)和数据项(Item)。Server包含OPC服务器的所有信息,同时也是Group的容器,一个Server中可以包含若干个Group。同时,Group维护自己的信息并提供容纳和组织Item的机制。Item代表着OPC服务器与数据源的连接,它主要参数包括:数据值(Value)、数据质量(Quality)和时间戳(TimeStamp)。图2显示了Group和Item的关系。在OPC数据访问规范中,OPC客户端使用上述的三类对象从OPC服务器获取数据,基本操作步骤如下:通过服务器对象接口枚举服务器端定义的所有数据项。将要操作的数据项加入客户端自定义的组对象中。通过组对象对数据项进行数据的读写操作。3.2TCP/IPTCP/IP起源于60年代末美国政府资助的一个分组交换网络研究项目,到90年代已发展成为计算机之间最常应用的组网形式。它是一个真正的开放系统,因为协议族的定义及其多种实现可以不用花钱或花很少的钱就可以公开地得到。网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,例如TCP/IP,是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统,如图3所示。图3TCP/IP协议族的四个层次示意图图4是两个系统使用TCP/IP协议通讯的示意图。图4TCP/IP通讯协议示意图3.3串行通信串行通信是指一条信息的各位数据被逐位按顺序传送的通信方式,串行通信的特点是:数据位传送按位顺序进行,最少只需一根传输线即可完成,成本低但传送速度慢。串行通信的距离可以从几米到几千米。由于串行通信方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通信时,要求通信双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通信。RS-232是目前PC机与通信工业中应用最广泛的一种串行接口。RS-232标准定义了20个不同的信号连接,推荐(但非强制)使用25针的D型DB-25连接器。实际上,大多数设备只使用20个针脚中的一小部分针脚,出于节省资金和空间的考虑,很多机器采用较小的连接器。表1列出了RS-232的几种常见的针脚定义。图5是几种常见连接器的实物照片。图5常见的串口连接器RS-422由RS-232发展而来,它是为弥补RS-232的不足而提出的。RS-422的接收器采用高输入阻抗,发送驱动器比RS-232具有更强的驱动能力,可允许在相同传输线上连接多个接收节点,最多可接10个节点,其中一个为主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以RS-422支持点对多的双向通信。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各设备之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)实现。为扩展应用范围,EIA又于1983年在RS-422的基础上制定了RS-485标准。由于RS-485是从RS-422基础上发展而来的,所以RS-485许多电气规定与RS-422相仿,如都采用平衡传输方式、都需要在传输线上接终接电阻等。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。在要求通信距离为几十米到上千米时,广泛采用RS-485串行总线标准。RS-485可以采用二线或四线方式,二线制可实现真正的多点双向通信。RS-485用于多点互连时非常方便,可以省掉许多信号线。RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的应用层通信协议。3.4TCP/IP和串行通信的应用层协议应用层协议定义了运行在不同端系统上的应用程序之间如何传递消息。具体地说,一个应用层协议应定义:所传递消息的类型,例如请求消息和响应消息。各种消息类型的语法,也就是消息中的各个字段以及它们如何界定。各个字段的语义,也就是各个字段中的信息的含义。确定一个进程何时以及如何发出消息或响应所收到消息的规则。TCP/IP、RS-232、RS-422及RS-485标准中都没有规定应用层协议,我们看到的应用层协议一般是由