LonWorks技术和LON总线.ppt_第1页
LonWorks技术和LON总线.ppt_第2页
LonWorks技术和LON总线.ppt_第3页
LonWorks技术和LON总线.ppt_第4页
LonWorks技术和LON总线.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LonWorks技术和LON总线,LonTalk协议网络变量神经元芯片,80年代后期,美国埃施朗(Echelon)公司开发出这一平台技术以来,到目前为止,已有约4千万基于LonWorks的设备安装在世界各地。这些产品广泛地应用在智能楼宇、工业控制、家庭智能化和交通等领域。LonWorks技术的核心是LonTalk协议,该协议现在已成为很多组织的标准,包括ANSI/EIA/CEA-709.1-A-1999(最新的版本是:ANSI/EIA/CEA-709.1-B-2002)、ANSI/CEA/EIA852、CENTC247、IEEE1473L等。,LonWorks是一个开放的标准,它使得原始设备制造(OEM)厂商生产出更好的产品,系统集成商可以籍此来创建基于多厂商产品的系统,最终为规范制定人员和业主提供了选择性的可能。LonWorks网络系统地规模,可以从有几个节点构成的系统到涵盖全球的网络体系。在全世界,目前有4500多家厂商生产开发基于LonWorks技术的产品,在中国从事LonWorks技术研发、集成的公司也有上百家。在LonWorks网络中,一个具有网络逻辑地址的智能设备称为一个节点。节点的构成,一般可以用神经元芯片、收发器和应用电路组成。,Echelon公司提供一整套的产品,来帮助客户开发基于LonWorks的产品和集成基于LonWorks的系统。它们包括开发工具、收发器和智能收发器模块、网卡、路由器、互联网服务器、LNS软件和企业级的平台软件Panoramix等等。自从LonTalk协议成为美国国家控制网络标准后,其它公司也开发出了基于ANSI709.1的芯片。在Echelon公司,ANSI709.1协议称为LonTalk协议。运行LonTalk协议的芯片称为神经元芯片(NeuronChip)。,引言,LonWorks网络采用LonTalk通信协议,其通过神经元芯片(NeuronChip)上的硬件和固件(firmware)实现,支持OSI的所有七层模型。网络拓扑结构可以是总线型、星型、环型和混合型,可实现真正的自由拓扑。它采用面向对象的设计方法,通过网络变量把网络通信的设计简化为参数设置,通信速率从300bps到1.25Mbps,直接通信距离可达2700m(78Kbps,双绞线)。通信介质支持双绞线、同轴电缆、光纤、射频、红外线及电力线等。编址方法提供了巨大的网络寻址能力。高可靠性、易于实现和互操作性,使得LonWorks产品应用非常广泛。为促进LonWorks设备的互操作,Echelon公司和一些LonWorks用户成立了LonMark互操作协会。我国也非常重视LonWorks的引入和应用。,LonWorks的智能控制网络组成,LonWorks控制网在某些方面相似于被称为局域网或LAN的数据网。数据网由各种通信介质及路由器连接的计算机组成,而LonWorks控制网通过通讯介质连接基于微处理器的各种智能节点。LonWorks由于是无主结构,其网络拓扑结构突破了树型、总线型、环型等限制,并且大大拓宽可以使用的通信媒介。LonWorks技术可以实现真正意义上的分布式控制网络。任意分布在现场的智能节点或处理器之间都可相互通信。,控制系统利用TCP/IP之类的标准数据传输技术,就能为LonWorks报文提供高速干线。如图1所示,系统在信道段之间使用“隧道路由器”而不是网关。LonWorks报文“穿通”TCP/IP数据包,在TCP/IP网上发送。把LonWorks数据包想象成信封(数据包寻址信息)内的信(数据),借助LonWorks网发送给收信人;一个隧道路由器就把这个“LonWorks信封”包进一个更大的信封,广域网使用不同的寻址方法把这个大包发送到已编址的远地LonWorks网络段,在那里拆去外封。因为系统已经成为一个整体,连接在任何地方的工具能和任何段上的任何节点相互作用,网络将更易安装、监控和维护。LonWorks到TCP/IP的路由器提供从LonWorks网段到以太网或广域干线网的无缝、透明连接。最终形成一个协调而强大的自动化系统,从传感器到设备管理软件都以LonWorks为基础。这种体系结构能显著降低系统的成本,并能利用Web和因特网等技术加入新功能。,LonWorks协议,LONWORKS协议,也称为LonTalk协议和ANSI/EIA709.1控制联网标准,是LONWORKS系统的核心。协议提供一系列通信服务,使设备中的应用程序能在网上对其他设备收发报文而无需知道网络拓扑结构、名称、地址或其他设备的功能。LONWORKS协议也可以提供端到端的报文确认、报文鉴别,网络地址和参数的重新配置、应用程序的下载、报告网络问题以及设备应用程序的起始/停止/复位等。LonTalk协议分为七层。每一层都是面向控制网络的,并和OSI参考模型一致。LonTalk协议是嵌入Neuron芯片内部固件中的,它是使用LonWorks技术组网的基础。Echelon公司提供的开发系统可以帮助我们利用各种基于Neuron芯片的智能节点很容易地使用LonTalk协议组成一个智能分布式控制网络。,LonTalk协议提供各种服务以加强可靠性。如16位CRC,对接收方端到端的应答,Watchdog定时器,片内E2PROM内容的校验和保护、失败报文的通告以及每个节点分组错误的记录等。另外协议还提供鉴别服务以满足发送者的有效识别。在鉴别服务中,通过由收发方使用的传输关键字来实现数据的保护。由于LonTalk协议是在芯片内部的,所以用户不必担心它的一致性。这样用户可以不必花费大量的时间,来建立其内部的标准。正是由于它的这一特性,使得它可以以很小的代价,适应于各种不同的应用场合。在LonTalk协议中网络流量的预测和避免拥塞的方法,使得在最坏情况下的响应时间得到了控制。为报文提供优先级的方式,可以大大提高高优先级报文的响应时间,其支持高达125Mbps的传输速率,并可支持各种实时的应用。,1、物理层定义在通信信道上原始数据的传输。物理层确保由源设备发送的1比特被所有的目的设备以1比特接收。LONWORKS协议不依赖于介质,所以有多个物理层协议受到支持,随通信介质而定。2、数据链路层定义介质访问和数据编码方法以确保有效使用单一的通信信道。物理层的原始比特分解为数据帧。物理层定义何时源设备可以发送一个数据帧,目的设备怎样接收该数据帧并检测传输误差。还定义了确保重要报文发送的优先级机制。3、网络层定义报文数据包怎样选择从源设备到一个或多个目的设备的路由。此层定义设备的命名和寻址以确保数据包的正确发送。还定义了设备在不同的通信信道时,怎样在源设备和目的设备间选择路由。4、传输层确保报文数据包的可靠发送。报文可以使用确认服务来交换。发送设备等待来自接收设备的确认,假如确认未能收到就重发报文。传输层还定义了重复报文怎样检测,假如一个报文由于确认丢失而重发,则将其拒绝。,5、会话层在较低层交换的数据上增加控制。它支持远程操作,使用户可以向远地服务器提出请求并获得对此请求的响应。它还定义了一个鉴别协议,使报文接收者能确定发送者是否有权发送该报文。6、表示层通过定义报文数据的编码,在较低层交换的数据上增加结构。报文可以象网络变量,应用报文或外部幀那样编码。网络变量的互可操作编码由标准网络变量类型(SNVT)提供。7、应用层在较低层交换的数据上增加应用程序兼容性。标准对象确保应用软件对在较低层交换的数据使用共同的语义解释,从而促进互可操作性。共同语义解释确保不同的应用软件对网络变量的更新显示共同的行为。,所有通信都由1个或多个在设备间交换的数据包组成。每个数据包的长度由不同数量的字节组成,包含对7层中每一层所要求的数据的压缩表示。压缩表示使LONWORKS数据包非常短,最大限度降低了每LONWORKS设备的实施成本。信道上的每个设备侦察在信道上传输的每个数据包以决定它是否是接收者,假如是,它就处理该包以确定该包是否包含设备应用程序所需的数据,或者是否是网络管理数据包。应用数据包中的数据提供给应用程序,假如合适,一个确认、响应或鉴别报文就会发给发送设备。,信道类型,LONWORKS协议不依赖介质,所以LONWORKS设备能在任何物理传输介质上通信。这使得网络设计者能够充分利用控制网上各种可用的信道。协议还提供一些可修改的配置参数,以便为某一特殊的应用在性能、安全和可靠性等各方面取得折衷。信道是特定的物理通信介质,LONWORKS设备通过专用于该信道的收发器与其连接。每种信道在所连接设备的最大数量、通信比特率和物理距离限值等各方面有不同的特点。表2是几个广泛应用的信道类型的特点的小结。特别提出的是自由拓扑双绞线信道(TP/FT-10),它允许设备能够用双绞线线缆连接,不论其配置如何没有对短截线长度、设备间距、分支长度等的限制,只是每个网段的电缆最大长度有限制。,LonWorks的介质存取协议,LonWorks网络采用的介质存取协议称为可预测P坚持载波监听多路访问冲突检测(PredictiveP-PersistenceCSMA/CD)协议。CSMA协议要求一个节点在发送报文之前进行网络监听,当信道空闲时发送数据,否则延长一个时隙再监听发送。时隙的选择必须综合考虑传输媒体的利用率和网络冲突的概率。一般的LAN网采用P坚持CSMA协议;由于P固定而不能调整,若P值选择较大,则网络忙时冲突不可避免;P选择太小,必然会带来较大的延时,这都不能满足控制网络的特殊要求。,LonWorks采用可变的P来加入时隙。LonWorks网络上节点的发送时间均被随机分配到16个时隙上。网络空闲时,节点被分配到这16个随机时隙上发送消息;当网络负荷增加时,节点会自动增加发送时隙,从而降低冲突概率。P值的动态调整取决于随机时隙数目,随机时隙的数目取决于网络负荷的预测。网络负荷即网络上此时即将发送消息的数目(用D表示),随机时隙的数目为16*D,D的取值范围是1到63,此时的等价P值为1/(16*D)。发送节点在其发送的消息报文中插入将要应答此消息的接收节点的数目,也就是发送消息包应得的应答报文数目,所有接收到该消息包的节点的D值都会加上该应答数目得到新的D值。此种调整P值的算法建立在应答消息服务的基础上。在LonWorks网中的默认消息服务即是应答服务,因此,这种预测的P值比较准确。实验证明,在网络通信量较小和较大的情况下,MAC协议保证了网络的运行高效可靠。,寻址,寻址算法定义数据包怎样通过路由选择从源设备传输到一个或多个目的设备。数据包可以发送到单一设备,到任何一组设备,或到所有设备。为了支持从两个设备到成千上万设备组成的网络,LONWORKS协议支持几种类型的地址,从简单的物理地址到指定许多设备集合的地址。下面列举LONWORKS地址类型:,物理地址。每个LONWORKS设备包括一个叫做NeuronID(神经元ID)的唯一的48位标识符。神经元ID通常在设备制造时分配,在设备整个工作生命周期不会不改变。设备地址。LONWORKS设备安装到某个网络中时,就会分配到一个地址。设备地址用来代替物理地址,因为它们支持效率更高的报文路由选择;简化失效设备的更换。为网络维持设备地址数据库的网络安装工具负责分配设备地址。设备地址由三部分组成:domainID(域ID)、subnetID(子网ID)和nodeID(节点ID)。域ID标识可以互操作的一组设备。要交换数据包,各设备必须在同一域中。一个域中的设备可高达32,385个。子网ID标识在单一信道上或由中继器连接的一系列信道上的多达127个的设备。子网ID用于在大型网络中数据包的高效路由选择。一个域中的子网可能高达255个,节点ID标识子网内的个别设备。,组地址。一个“group(组)”是一个域内的设备的逻辑集合。与子网不同,设备可以集合成组而不问其在域中的物理位置。当使用不确认的报文发送时,一个组成可以有任意数量的设备;假如使用确认的报文发送,一个组内的设备限定为最多64个。对于发送到多个设备的数据包,组是优化网络带宽的有效方法。一个域中可以有256以下的组。广播地址。广播地址标识子网中的所有设备,或域内的所有设备。广播地址是跟许多设备通信的有效方法,有时也用于代替组地址以保存有限数量的可用的组地址。,每个在网上传输的LONWORKS数据包含有发送设备(源地址)的设备地址和接收设备(目的地址)的地址。那些地址可能是物理地址、设备地址、组地址或广播地址。假如设备数量超过域的限值或想要分离设备使其不能互操作,可以使用多个域。有可能使两个或更多的独立LONWORKS系统共存在同一物理信道上,只要每个系统有唯一的域ID。每个系统中的设备只响应与它们的域ID相符的数据包,不知道也不关心其他域ID发送的数据包。设备响应以它们自己物理地址发送的数据包,该地址通常只有相应的网络安装工具知道。物理网络共享时,由于数据包数量增加,整个网络响应时间将受到影响,所以需要进行协调的整体网络设计。,LonWorks的三级寻址结构,LonWorks技术为设计、创建、安装和维护设备网络方面的许多问题提供解决方案,其网络编制采用三级寻址结构,分别是:域、子网和节点地址。可以支持18,446,744,073,726,329,086个域,一个域中可以支持255个子网,一个子网中可以支持127个节点,即一个域中可最多有32,385个节点。,第一层结构是域。域的结构可以保证在不同的域中通信是彼此独立的。不同应用的节点共存在同一通信介质中时,不同的域的区分可以保证它们的应用完全独立,彼此不会受到干扰。第二层结构是子网。每一个域最多有255个子网。一个子网可以是一个或多个通道的逻辑分组,子网层的智能路由器可以实现子网的数据交换。第三层结构是节点。每个子网最多有127个节点,所以一个域最多有255127=32385个节点。任一节点可以分属一个或两个域,允许一个节点作为两个域之间的网关,也允许一个节点将采集来的数据分别发向两个不同的域。节点也可以被分组,一个组(Group)可以在一个域中跨越几个子网,或几个通道。在一个域中最多有256个组,每一个组中需要应答服务的节点最多有64个,而无应答服务的节点个数不限,一个节点可以分属15个组去接收数据。分组结构可以使一个报文同时为多个节点所接收。,报文服务,LONWORKS协议提供三个基本类型的报文发送服务并支持鉴别的报文。优化的网络常常要使用所有这些服务。这些服务使设计人员能在可靠性、效率和安全之间取得折衷。下面列举这些服务:,确认报文发送服务能够提供端到端的确认。使用确认报文发送时,报文发送给一个设备或由64个以下设备组成的设备组,并要求每个接收设备发来各自的确认。假如未收到确认,发送者进行超时安排,重试发送事务。重试次数和超时两者都是可配置的。重复报文发送服务该项服务可以多次把报文发到一个设备或任意数量设备组成的设备组。此项服务常用于代替确认的报文发送,因为它不会造成额外开销比特和等待确认带来的迟延。在向大型设备组广播信息时,这显得特别重要,因为确认的报文会使所有接收设备在同一时间内尝试发送一个响应。,不确认报文发送服务它向一个设备或任意数量设备组成的设备组发送一次报文,并不要求响应。这个报文发送业务只需最低的开销比特率,因此成为最常用的服务。鉴别服务方式让报文接收者决定发送者是否有权发送此报文。这样,鉴别服务就能防止对设备的非授权访问。,神经元芯片,运行LonTalk协议的芯片称为神经元芯片(NeuronChip)。每一个神经元芯片有一个唯一的48位NeuronID地址,这个NeuronID地址是在神经元芯片出厂时由厂方规定的,作为产品的序列号。一般只在网络安装和配置时使用。Lonworks的核心是神经元芯片(NeuronChip)。神经元芯片是高度集成的内部含有3个8位的CPU:第一个CPU为介质访问控制处理器,处理LonTalk协议的第一层和第二层;Neuron芯片的编程语言为NeuronC,它是从ANSIC中派生出来的,并对ANSIC进行了删减和增补。Neuron芯片可以通过5个通信管脚与网络上的其它节点交换信息,也可以通过11个应用管脚与现场的传感器和执行器交换信息。第二个CPU为网络处理器,它实现LonTalk协议的第三层至第六层;第三个CPU为应用处理器,实现LonTalk协议的第七层,执行用户编写的代码及用户代码所调用的操作系统服务。神经元芯片实现了完整的Lonworks的LonTalk通信协议。,网络变量,LONWORKS协议推行网络变量(NetworkVariable)新概念。网络变量大大简化了具有互可操作性、使用多个销售商产品的LONWORKS应用程序的设计工作,而且方便了以信息为基础而不是以指令为基础的控制系统的设计。所谓网络变量是指一个特定的设备应用程序期望从网上其他设备获得的(输入网络变量)或期望向网上其他设备提供的(输出网络变量)任何数据项(温度、开关值或执行器位置设定等)。,设备中的应用程序根本不需要知道输入网络变量由何处来,输出网络变量往何处去。应用程序具有输出网络变量新值时它就简单地把新值发给设备固件。通过一个在网络设计过程中产生的称为“绑定(binding)”的过程,设备固件被配置成知道网上要求这个网络变量的其他设备或设备组的逻辑地址,于是它就汇集并发送合适的数据包到这些设备。类似地,当设备固件收到应用程序所需的输入网络变量的更新值时,它就把该数据发给应用程序。这样,绑定过程就在一个设备的输出网络变量和另一设备或设备组的输入网络变量间建立了逻辑联系。这样的连接也可以看作“虚拟线路”。假如一个设备包含一个物理开关,具有称为“switchon/off”的输出网络变量而另一个设备驱动一个灯泡,具有相应的称为“lampon/off”的输入网络变量,把这两个网络变量绑定起来建立的连接具有象从开关到灯泡的同样的功能效应。,每个网络变量具有类型,它定义包含在网络变量内的数据的单位、比例和结构。只有相同类型的网络变量才能连接。这可以防止发生通常的安装错误,例如,压力输出连接到温度输入。有类型转换程序可把网络变量从一个类型转换成另一类型。对通常使用的类型定义了一套标准网络变量类型(SNVT)。另外,制造商为他们自己的用户定义网络变量类型(UNVT)。网络变量使我们能抛开老式的基于指令的控制系统而建立基于信息的控制系统。这意味着在LONWORKS系统中,每个设备应用程序根据从其他设备收集到的有关系统的信息作出自己的控制决定。在基于指令的系统中,设备向其他设备发出指令,使得许多销售商很难设计能方便地集成的标准控制设备。网络变量便于制造商设计让集成商方便地结合互可操作的、以信息为基础的控制系统。,网络变量是一个节点中的一个对象,它可以与一个或多个其它的节点的网络变量相连接。一个节点的网络变量从一个网络的观点定义了它的输出和输入,同时允许在分布式应用中共享数据。无论何时,一个程序更新了它的输出网络变量(非垂询)的值,则该值通过网络传给所有的与该输出网络变量相连接的其他节点的输入网络变量。虽然网络变量通过LonTalk报文传播,但报文的传送是透明的。应用程序不需要任何显式的指令来接收或发送网络变量的更新。网络变量大大简化了开发和安装分布式系统的过程,因为节点可以独立地定义,新的节点可以很容易地连接入LonWorks系统。当使用网络变量时,报文的实际建造和发送发生在后台。如图2。它包含三个层次的软件:应用层、网络层和介质访问控制层(MAC)。这些软件层与LonTalk协议相对应,并且由Neuron芯片上不同的处理器处理。,如图2所示,当一个节点向一个输出网络变量赋值时,实际上应用程序向网络变量写入一个新值,然后调度程序建造一个网络变量报文并传送该报文到网络层,网络层再将地址信息加入该网络变量报文并将其传送至MAC层。MAC层将更复杂的信息加入网络变量报文中,通过通信通道发送该报文。当接收节点得到这个报文后,首先MAC层使该报文生效,然后网络层检查包含在该报文中的地址信息,看是否地址匹配。若是则将网络变量信息传给调度,而后调度程序允许应用程序使用新值。网络层和MAC层软件存在于LonWorks固件,对于用户而言是隐型的,节点间的数据通信可以理解为应用层数据的通信。,在一个Neuron芯片上运行的NeuronC应用程序最多可以说明62个网络变量。而把Neuron芯片作为通讯处理器,另外一个其它处理器作为应用处理器的节点(Host-based)可以说明更多的网络变量。这个应用宿主可以是微处理器、微控制器、PC、工作站或任何其它计算机。运行在每个Neuron芯片上的程序中的网络变量需要事先定义,然后才能使用。当网络变量声明为数组时,每个数组元素作为单独的网络变量计数。网络变量的类型说明一方面保证节点应用程序正确使用网络变量,另一方面则保证网络变量之间的正确连接。网络变量的大小有限制,一个网络变量最多31个字节,在网络变量数组中,单个元素也被限制在31个字节内。网络变量如果是结构型数据,则当它被写入节点修改后,不管是部分或是全部修改,在读入节点的一个关键段区间结束时,整个结构被更新。网络变量如果是数组,则其中的单元素被写入节点修改,在读入节点中只有被修改的元素被更新。,一个写入节点可以改变网络变量的值。根据这个改变,所有读入节点上已经与此网络变量连接的输入网络变量的值自动更新。当更新发生时,由读入节点接收到的网络变量的新值,并不立即起作用,而是要等到接收并处理这个报文时。类似地,给一个输出网络变量赋新值,也并非立即发送一个报文。确切地说,更新发生在应用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论