(5168cc银河官网娱线路技术部推荐阅读)
核心提示:在楼宇自控系统建设中常常面临BACNet与LonWorks技术之争,或推崇BACNet,或支持LonWorks。事实上,这两者各擅所长,相辅相成。
关键词:LonWorks,BACNet,LON控制网络,LonTalk协议,BACnet IP,BACnet MS/TP,系统集成,楼宇自控,现场网络,通讯传输
一、简介
本文旨在介绍BACnet 和LonWorks 平台在总体架构和实施方面的区别。对使用LonWorks平台和基于这种平台之上的开放的、标准的通讯协议的产品供应商而言,优势包括:快速的将产品投入市场、降低了产品和生命周期成本,以及更易于开发可互操作的、多供应商的楼宇自动化系统(Building Automation Systems - BAS )。
二、BACnet协议
BACnet协议是用于楼宇自动化网络的一种数据通讯协议。这种数据通讯协议是用来控制网络上数据交换过程的一组标准。为了实现设备之间的互操作性,连接到同一个网络的所有类型的设备和所有设备厂商都必须一致地遵循并实施这些规则。
BACnet协议是基于客户端/ 服务器模式的,其消息被称为“服务请求(Service Requests )”。客户机向服务器发送一个服务请求,服务器会执行相关的服务并将结果报告给客户机。BACnet 提供了一个分层的体系架构,其中,工作站位于最顶层,控制设备位于其下一层,依此类推。这种分层的网络要求使用网关(实际上就是数据转换器)为工作站级别使用的协议和低级别中可能使用的多种不同协议之间提供转换。网关是一种昂贵的设备,因此在实施、管理和维护这种分层的系统中,其总体成本会比非分层的(或者说平坦的)系统架构高。
BACnet协议为表示各种设备的功能提供了预定义的方法。BACnet协议是一个基于OSI模型的四层协议堆栈结构,分别对应为物理层、数据链路层、网络层和应用层(如下图所示)。BACnet协议的设计目的是为了在网络化设备之间实现唯一的逻辑通道。BACnet的网络层针对在BACnet系统中的使用进行了自定义,也就是说,标准化的基础体系组件(如以太网路由器)不能用作BACnet信道之间的路由。为了支持MS/TP数据链路技术(该技术既不如以太网路由器等标准的基础体系组件普及,其成本也较高),该网络层经过了自定义。
所有通过BACnet协议的数据必须被ASN.(1)编码,这对不同于主机的在小型设备(比如VAV控制器、区域控制器和屋顶设备)中普遍使用的8 位微控制器就很难完成这个任务。对于系统到系统级的或企业级的通讯,这种使用ASN.(1)的要求将成为一个问题,因为这种编码的格式远未达到普及的程度。行业规范使用的是XML而不是ASN.(1),这对那些在整体系统架构中必须包括标准 IP基础体系结构和企业应用的情形而言,这进一步增加了使用BACnet协议的难度。实际上,如果不借助 OSI表示层,BACnet应用层自身也难以使用BACnet协议——它只能使用一种传输语法,该语法由一个固定的编码方案定义。
使用BACnet协议构建可互操作的设备网络尤其困难,因为该协议是围绕一个包括网关的架构来设计的。举例而言,BACnet协议中没有定义应用接口,这导致各个厂商所采用的接口彼此不同并且互不兼容。在对象(“Object ”)定义方面,BACnet协议主要定义了低层的对象(如传感器和执行器),而它定义的高级对象(如调度器、报警告警器和趋势记录器)非常少。传感器和执行器对象对网关的实现非常有用,而调度器和报警告警器对象有助于实现主机端控制器。该协议没有定义标准的HVAC设备简表,而这是构建可互操作网络所必需的“粘合剂”之一。
一致性和互操作性
所有遵守BACnet协议的设备都必须带有一个协议实施一致性声明,该声明标识了所实施的协议内容。为了符合BACnet协议,所有设备都必须通过一致性测试,以检验PICS声明中的对象类型和服务得到了正确实施。如果厂商采用了不同的实施方法(这是一种常见情形),则会导致不兼容问题。因此,在理论上原本应可以使用多个厂商的产品并且可互操作的网络现在却只能使用某一个厂商的设备;也就是说,实际上变成了一个专有网络。虽然所使用的仍然是BACnet协议,但其它支持BACnet 协议的产品却无法实现互操作。如果网络只能采用某一个厂商的产品,那么在购买以及部件更换和产品生命周期方面的成本都会升高。
下图显示了BACnet协议堆栈结构:
就控制消息和广播消息(包括本地、远程和全局广播)而言,一个BACnet/IP网络的功能在概念上等同于其它的非IP网络类型。本地网络上的所有工作站接收本地广播,而某个远程网络上的所有工作站接收远程广播。在由BACnet互连网络技术构成的任何网络上,所有工作站都能接收全局广播。
协议层 |
8位字节数 |
第 2 层报头 |
3 |
第 2 层地址信息 |
22 |
数据 |
46到1500 |
第 2 层 CRC |
4 |
大多数使用BACnet协议的厂商都对该协议进行了自己独特的扩展。在该协议之上构建的扩展层需要实现除基本通讯以外的所有功能。但真正的问题是,没有哪两个供应商会实现相同的自定义扩展,这使得供应商的解决方案完全变成专有的解决方案。
三、LonWorks平台
LonWorks平台是一种分布式控制系统,支持智能设备之间的对等式和/ 或主从式通讯。LonWorks技术使用一种平坦的体系架构,该架构可支持整个系统的寻址要求,同时又允许对网络进行逻辑分段。网络划分是借助网络级路由器来实现的(对节点中的应用程序而言,它们是透明的),在网络任何位置连接的安装工具、诊断工具或监视工具都可以通过这些路由器实现直接访问。
LonTalk®是一个开放并且基于标准的协议(它也称为ANSI/CEA709.1 和IEEE1473-L)。它提供了一整套通讯服务,借此,设备可以通过网络向其它设备发送消息和接收来自其它设备的消息。它还为绑定传输提供可选的端到端的消息确认机制、消息验证机制和优先传输机制。
LonTalk协议(OSI——针对控制网络的7 层协议)提供了下列功能:
第 1 层——物理层
由于控制网络应用要求能够支持多种媒体(以适应不同的安装需要和简化系统扩展),LonWorks平台支持一系列的不同物理介质,包括有源和无源的自由拓扑双绞线、电力线、无线、红外、光纤和同轴电缆。
第 2 层——链路层(介质存取&数据帧)
介质存取方案对控制网络至关重要,系统性能将取决于存取方案的先进性。
LonTalk协议使用了可预测的p-保持CSMA、冲突避免、可选的优先级和冲突检测存取方案。可以通过信道、节点或某个特定节点的变量来调整这些选项,从而在不影响控制系统其余部分的情况下优化并提高网络性能。应用级别的定论可通过专用的应用软件来增强。
第 3 层——网络层(目标寻址)
该层确保消息或数据包可从一个源设备正确发送到一个或多个目标设备。主要功能包括无连接、全域广播、没有分段、无环拓扑、自学习路由器。
第 4 层——传输层(端到端的可靠性)
传输层确保数据传输的完整性,包括多种服务(如确认和非确认点对点和组播)、认证服务器和传输控制子层(常规的排序和重复检测)。有效的实施手段使得LonTalk数据包非常小,这有助于节省网络带宽和加快通讯速度。
第 5 层——会话层(远程操作)
会话层负责建立、协调和终止应用程序之间的会话、交换和对话。该层还负责处理会话和连接。
第 6 层——表示层(数据解释)
该层也称作语法层,通常是操作系统的一部分。该层定义了在什么位置将输入和输出数据从一种显示格式转换为另一种格式。LonTalk协议用网络变量、消息或外部组帧的方式传输语法,因此提供了巨大灵活性。
第 7 层——应用层(传感器/ 执行器应用兼容性)
该层确定通讯双方服务质量和数据语法以及用户身份认证和保密性。该层不是纯粹意义的应用层,尽管某些应用可以实现应用层的功能。LonTalk协议在更低层提供了其中的某些功能,从而使得开发应用程序和创建可互操作产品变得容易,并且大幅度降低了复杂性。
下表显示了典型的LonTalk数据包大小:
协议层 |
8位字节数 |
第 2 层报头 |
1 |
第 3 层地址信息 |
4 |
第 4 层服务类型 |
1 |
第 5 层报头 |
2 |
第 6 层报头 |
2 |
数据 |
2到218 |
第 2 层CRC |
2 |
LonWorks/IP网络的功能在概念上类似于BACnet/IP网络,但也存在一个重大区别:在LonWorks/IP解决方案中,通信数据包使用开放的EIA-852标准封装在UDP/IP数据包内。这种架构使数据包可以使用标准的IP基础体系(包括以太网路由器)高速传输到较远距离。相应地,网络规模也可以不受限制(从最基本的两节点系统直到基于全球Web并且包括数以百万计站点的系统)。
四、协议区别对BAS产品和服务的影响
类别 |
BACnet |
LonWorks系统 |
成本 |
系统成本高: 1、客户端/ 服务器模式的分层体系架构要求使用较多带有自定义软件的网关 2、为支持MS/TP而对网络层进行了自定义,从而要求使用非标准的以太网路由器 4、每种数据链路类型都需要自定义的安装和诊断工具 |
系统成本低: 1、为网络配置、安装和使用提供了简化而灵活的方法 2、低成本的双绞线自由拓扑提供了现场级的楼宇控制 3、可以使用低成本组件进行设备设计 4、单一协议贯穿始终,因此只需使用常见的安装和诊断工具;不论厂商和介质有何不同,都能提供访,问所有网络设备的能力 |
复杂 程度 |
不必要的复杂性: 1、 协议堆栈架构增加了应用层的复杂程度 2、 未定义应用接口,导致实施方法千差万别 3、 开发新设备的时间较长 4、由于可使用的产品有限,并且 缺乏互操作性,因此限制了用户的选择 5、 通过专门的实施方式支持6 种不同协议,需要不同介质,结果使总体系统设计和安装变得复杂 |
结构合理: 1、在物理层提供了使用多种介质类型的能力,具有完善的API定义,从而可方便快捷地进行产品开发 2、先进而灵活的介质存取方案增强了控制网络的性能 3、通过定义单一的网络规则——SNVT(标准网络变量)、SCPT(标准配置属性)、功能块和功能简表,加快了产品开发速度和促进了不同产品之间的互操作性 4、可以提供嵌入有协议和物理层收发器的集成电路,从而缩短了开发时间并降低了成本 |
互操 作性 |
设备之间无法实现互操作性 1、 各自专有的协议扩展使得产品变为专有,并且缺乏互操作性 2、 缺乏开发标准,各个厂商不得不采用自己的数据元素,这限制了不同供应商产品之间的互操作性 3、 合格的产品有限,从而导致竞争不足,价格居高不下 4、 通常无法使用其它供应商的产品替换 |
设备之间可实现互操作性 1、支持不同供应商和不同市场的解决方案 2、 LonMark®组织定义了标准和相关测试,从而可实现不同供应商产品之间的互操作性 3、这些标准是通过行业众议程序制订出的 4、 众多供应商提供了大量合格产品确保了价格竞争环境和产品之间的互换 |
现有的 诊断和 开发工 具 |
现有的诊断工具有限 1、 基于PC 的软件只能访问上级协议层 2、 为了包括新的对象和数据类型,将需要不断更新,因此用户被迫只能使用专有的工具 3、 对于所支持的6 种协议,每种都需要不同的开发工具 |
可从多方面获得相关工具 1、可方便快捷地解决网络问题 2、可以验证互操作性和网络完整性 3、Echelon和其它多家供应商提供了优秀的开发工具 |
结论
BACnet和LonWorks平台在体系架构和实施方面均存在重大差异。BACnet协议的初衷是为了让不同BAS供应商提供的工作站能借助网关将数据从设备协议转换为BACnet协议,从而实现同其它设备的协同工作。但BACnet协议将过多的实施任务交给了产品厂商,这些厂商采取了各不相同的实施方法,他们并不关心产品的互操作性。
LonWorks平台在设计上采用了平坦的体系架构,它不需要在设备之间使用网关,并且允许所有设备使用相同的安装和诊断工具。LonTalk协议的标准化实施和符合行业标准的对象使得不同供应商系统实现互操作性成为可能。借助开放的并且基于标准的LonWorks平台,厂商可以加快产品开发速度;集成商可以使用通用的安装和诊断工具;用户可以降低安装成本和产品生命周期成本。
5168cc银河官网娱线路产品中心
5168cc银河官网娱线路ModBus转BACNet网关
5168cc银河官网娱线路LonWorks转BACnet网关
5168cc银河官网娱线路BACNet联网型5168cc银河官网娱线路
5168cc银河官网娱线路LonWorks联网型5168cc银河官网娱线路