您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 造纸印刷 > LON和LonWorks技术
第八章LON和LonWorks第八章LON和LonWorksLON(LocalOperatingNetworks)是Echelon公司开发的现场总线,并开发了配套的LonWorks技术。开放的总线平台技术,该技术给各种控制网络应用提供端到端的解决方案。LON和LonWorks技术可以应用于工业控制、交通控制、楼宇自动化等领域。主要内容第一节总体概述第二节LonTalk协议第三节神经元芯片第四节NeuronC编程第一节总体概述一、LonWorks技术特点1、支持OSI七层模型的LonTalk通信协议LonTalk通信协议支持OSI/RM的所有七层模型,是直接面向对象的网络协议。LonTalk协议通过神经元芯片实现,不仅提供介质存取、事务确认和点对点通信服务;还提供一些如认证、优先级传输、广播/组播消息等高级服务。2、神经元芯片神经元芯片是LonWorks技术的核心,它不仅是LON总线的通信处理器,而且是具有I/O和控制的通用处理器。神经元芯片已提供了LonTalk协议的第1-6层,开发者只需用NeuronC语言开发。神经元芯片包括3个8位CPU、RAM、ROM、通信接口和I/O接口。ROM中存储操作系统、LonTalk协议和I/O函数库;RAM用于存储从网络上下载的配置数据和应用程序。3、基于LNS(LonWorksNetworkOperatingSystem)的软件工具LonWorks技术有多种基于LNS的工具,用于LON网络的维护和组态。LonMaker是图形化工具,用于图形绘制、系统调试和网络的维修保养;节点开发工具NodeBuilder;节点和网络安装工具LonBilder;网络管理工具LonManage以及客户/服务器网络构架——LNS技术。4、开放性LonWorks技术提供了开放系统设计平台,使不同公司生产的同类LonWorks产品可以互操互换。LonWorks产品的互操作标准由LonMark协会制定。二.LON总线系统的开发LON总线系统的开发有两种途径:a.基于开发工具LonBuilder或NodeBuilder,使用NeuronC语言编程,即针对具体控制系统的要求编写应用代码,然后经过编译与通信协议代码连接生成总的目标代码,一起烧录到节点的存储器中;b.基于图形方式的软件开发工具VisualControl,通过组态构成控制系统,自动编译生成总的目标代码,直接下载到节点的FlashROM中。对复杂系统,需编制自定义模块。第二节LonTalk协议一、LonTalk协议简介LonTalk协议是LON总线的专用协议,是LonWorks技术的核心。它符合1SO/OSI参考模型的七层体系结构,即含有物理层、链路层、网络层、传输层、会话层、表示层和应用层。LonTalk协议提供一系列通信服务,可使一台设备的应用程序可以在不了解网络拓扑、名称、地址或其他设备功能的情况下发送和接收网络上其他设备的报文。还提供端到端的报文确认、报文认证、打包业务和优先传送服务,支持网络管理服务,允许远程网络管理工具与网络设备进行交互。采用神经元芯片的网络节点含有LonTalk协议固件,使网络节点可以可靠地通信。①采用分级编制方式,即域、子网和节点地址。②支持多种通信介质,如双绞线、电力线、同轴电缆、无线电和红外线、光纤传输介质等。③支持多点通信,互操作性强,网络上任一节点可对其他节点进行操作,传输控制信息。④发生报文是很短的数据(通常几个到几十个字节),通信带宽不高(几kbit/s到2Mbit/s),响应时间快,通信安全可靠。⑤网络节点是低成本、低维护的单片机。1.LonTalk协议特点2.LonTalk的七层协议物理层:定义通信信道上位流的传输,它确保源设备发送的位流准确地被目的设备接收。数据链路层:定义介质访问方法和单一信道的数据编码。网络层:定义设备名称和地址,源设备的报文如何选择路由到达一台或多台目的设备,以及当源设备和目的设备不在同一信道上时,如何确定报文路由。传输层:确保可靠的报文传输。会话层:对较低层数据交换加以控制。表示层:定义报文数据的编码。应用层:定义一种低层交换数据的公共语义解释,使不同应用程序中的网络变量改变时,均能自动将更新的网络变量值下传(发送)或上传(接收)。应用层还定义了一个文件传输协议,用来传输应用程序间的传输流。二、LonTalk各层协议及功能1.物理层LonTalk协议支持一种或多种不同传输介质构成的网络传输介质:双绞线(twisted-pair)、电力线(powerline)、无线射频(radio-frequency)、红外线(infrared)、同轴电缆(coaxialcable)和光纤(fiber),甚至是用户自定义的通信介质。不同介质的传输距离、传输速率、网络拓扑结构以及所使用的收发器均不相同,为支持各种传输介质,物理层协议支持多种通信协议。收发器是神经元芯片与信道的接口,LonTalk协议支持在通信介质上的硬件碰撞检测,可自动地将正在发生碰撞的报文取消,重新再发。(1)MAC子层介质访问控制(MAC,MediaAccessControl)层是数据链路层的一部分。为使数据帧传输独立于所采用的物理介质和介质访问的控制方法,将数据链路层分为两个子层:逻辑链路控制(LLC,LogicalLinkControl)和介质访问控制(MAC)。LLC与介质无关,MAC则依赖于介质。MAC协议是确定设备安全地传送数据包,减少冲突的控制算法。它使用OSI标准接口和链路层的其他部分进行通信,如图8-1所示。2.链路层LonTalk的MAC协议是CSMA(载波信号多路侦听)协议的一种改进:带预测的P-坚持CSMA(PredictiveP-presistentCSMA)。其MPDU如图8-2所示。图8-3为带预测的P-坚持CSMA概念示意图。当一个节点信息需要发送而试图占用通道时,首先在Beta1周期检测通道有没有通信发送,以确定网络空闲。若空闲,节点产生一个随机等待T,T为0~W个时间片Beta2中的一个,当延时结束时,网络仍为空闲,节点发送报文。在MAC层中,为提高紧急事件的响应时间,提供了一个可选择的优先级的机制。如图8-4所示为优先级带预测的P—坚持CSMA概念示意图。LonWorks的MAC子层的优点:支持多介质的通信,支持低速率的网络,可以在重负载的情况下保持网络性能,保证在过载情况下不会因为冲突而降低吞吐量。当使用支持硬件冲突检测的传输介质(如双绞线)时,一旦收发器检测到冲突,LonTalk协议就可以有选择地取消报文的发送,这使节点可以马上重新发送并使冲突不再重发,有效地避免了碰撞。(2)链路层(逻辑链路控制)链路层确保链路层数据单元(LinkProtocolDataUnit,LPDU)的数据在子网内顺序无响应传输。它提供错误检测,但不提供错误恢复,当一帧数据CRC效验错,该帧被丢掉。在直接互连模式下,物理层和链路层接口的编码是曼侧斯特编码。在专用模式下根据不同的电气接口采用不同的编码方案。CRC效验码加在网络层数据单元(NPDU,NetworkProtocolDataUnit)帧的最后。在网络层,LonTalk协议提供给用户一个简单的通信接口,定义了如何接收、发送、响应等,在网络管理上有网络地址分配、出错处理、网络认证、流量控制、路由器机制。(1)LonTalk协议的网络地址结构LonTalk地址唯一地确定一个LonTalk数据包的源节点或目标节点,路由器则利用这些地址在信道之间选择数据包的传输路径。为了简化路由选择,LonTalk协议定义了分级的网络地址形式:域(Domain)、子网(Subnet)、节点(Node)地址、组地址。3.网络层1)域(domain)地址域是一个信道或多个信道上的节点的逻辑集合。一个域就是一个实际意义上的网络,通信只能在同一域中配置的节点之间进行。多个域可以占用同一个信道,所以,域地址可以用来隔离不同网络上的节点。域的结构可以保证在不同的域中通信是彼此独立的。域标识符是唯一的。2)子网(Subnet)地址一个子网是在同一域中节点的逻辑集合,是一个或多个通道的逻辑分组。一个子网最多可有127个节点,一个域最多可有255个子网。一种子网层的智能路由器产品可以实现子网间的数据交换。子网中的所有节点必须在同一信道上,如果一个节点属于两个域,该节点必须属于每个域中的一个子网。3)节点(Node)地址节点地址是节点被赋予的所属子网内的唯一的节点标识码。节点的标识码为7位,所以每个子网最多可以有127个节点。一个域中最多可以有32385个节点(255×127)。任一节点可以分属一个或两个域,容许一个节点作为两个域之间的网关(gateway),也容许一个节点将采集来的数据分别发向两个不同的域。4)组(Group)地址组是一个域内节点的逻辑集合。与子网不同,组不需要考虑节点的物理位置。组可以包括路由器,一个组可在一个域中跨越几个子网,或几个通道。每一个组对于需应答服务的节点最多可包含64个,而对无应答服务的节点个数不限,一个节点最多可以属于15个组,一个域最多可以有256个组。组地址的长度为1个字节。分组结构可以使一个报文同时为多个节点所接收。5)芯片地址(NeuronID)每一个神经元芯片有一个独一无二的48位ID地址,这个ID地址是在神经元芯片出厂时由厂方规定的,这个ID码是唯一的。一般只在网络安装和配置时使用,可以作为产品的序列号。节点也可以用NeuronID寻址。(2)寻址格式一个通道是指在物理上能独立发送报文(不需要转发)的一段介质。LonTalk规定一个通道至多有32385个节点。通道并不影响网络的地址结构,域、子网和分组都可以跨越多个通道,一个网络可以由一个或多个通道组成。通道之间是通过桥接器(bridge)来连接的。这样做不仅可以实现多介质在同一网络上的连接,而且可以使一个通道的网络信道不致过于拥挤。尽管NeuronID也可以作为地址,但它不能作寻址的唯一方式,这是因为该寻址方式只支持一对一的传输,使用其作为地址将需要过于庞大的节点路由表以优化网络流量。节点有五种寻址方式。寻址格式确定了地址格式的字节数。LonTalk协议的核心部分是传输层和会话层。一个传输控制子层管理着报文执行的顺序、报文的二次检测。传输层是无连接的,它提供1对1节点、1对多节点的可靠传输。信息认证(authentication)也是在这一层实现的。会话层主要提供了请求/响应的机制,它通过节点的连接,来进行远程数据服务(remoteservers),因此使用该机制可以遥控实现远端节点的过程建立。LonTalk协议的网络功能虽然是在应用层来完成的,但实际上也是由提供会话层的请求/应答机制来完成的。LonTalk协议提供四种类型的报文服务:应答方式(acknowledge)、请求/响应方式(request/response)、非应答重发方式(unacknowledgedrepeated)、非应答方式(unacknowledged),这些报文服务除请求/响应是在会话层实现外,其他三种都在传输层实现。4.LonTalk协议的传输层和会话层应答方式(acknowledge),或者是端对端(EndtoEnd)的应答服务,这是最可靠的服务方式。当一个节点发送报文到另一个节点或一个分组,每一个接收到报文的节点都分别向发送方应答,如果发送方在应答时间内没有全部收到应答,发送方将重新发送该报文,重发次数和应答时间都是可选的。报文应答服务是由神经元芯片的网络处理器完成的,不必由应用程序来干预。报文传输号用于跟踪报文和应答信号,确保节点不会收到重复的报文。请求/响应方式(request/response)与应答方式有相同的可靠性,当一个节点发送报文到另一个节点或一个分组,每一个接收到报文的节点都分别向发送方响应,如果发送方在相应时间内没有全部收到响应,发送方将重新发送该报文,重发次数和响应时间都是可选的
本文标题:LON和LonWorks技术
链接地址:https://www.777doc.com/doc-5470776 .html