1、LonWorks 现场总线技术第第8 8章章 LONLON和和LonWorksLonWorks现场总线技术现场总线技术8.1 总体概述 8.2 LonTalk协议nLonWorksLonWorks总线是一种基于嵌入式神经元芯片的现总线是一种基于嵌入式神经元芯片的现场总线技术,具有强大的实力。场总线技术,具有强大的实力。n广泛应用在楼宇自动化、家庭自动化、保安系统、广泛应用在楼宇自动化、家庭自动化、保安系统、办公设备、运输设备、工业过程控制等领域,具办公设备、运输设备、工业过程控制等领域,具有极大的潜力。低成本和高性能是该总线的最大有极大的潜力。低成本和高性能是该总线的最大优势。优势。nLonW
2、orksLonWorks总线是美国埃施朗总线是美国埃施朗EchelonEchelon公司开发研公司开发研制的,并在制的,并在MotorolaMotorola和和TOSHIBATOSHIBA等公司共同协作等公司共同协作倡导下,于倡导下,于19901990年正式公布形成的。年正式公布形成的。局部操作网络局部操作网络LonWorks 图图 LonWorksLonWorks总线的通信模型总线的通信模型 8.1 8.1 总体概述总体概述1.1.LonWorksLonWorks技术特点技术特点(1 1)支持)支持OSIOSI七层模型的七层模型的LonTalkLonTalk通信协议通信协议(2 2)神经元芯
3、片)神经元芯片(3 3)基于)基于LNSLNS的软件工具的软件工具(LonWorks Network Operating SystemLonWorks Network Operating System)(4 4)开放性)开放性(1 1)支持)支持OSIOSI七层模型的七层模型的LonTalkLonTalk通信协议通信协议nLonTalkLonTalk通信协议支持通信协议支持OSIOSIRMRM的所有七层模型,是直接的所有七层模型,是直接面向对象的网络协议。面向对象的网络协议。nLonTalkLonTalk协议通过协议通过神经元芯片神经元芯片实现,不仅提供介质存取、实现,不仅提供介质存取、事务确
4、认和点对点通信服务;还提供一些如认证、优先事务确认和点对点通信服务;还提供一些如认证、优先级传输、广播组播消息等高级服务。级传输、广播组播消息等高级服务。LonWorks Devices(2 2)神经元芯片)神经元芯片n神经元芯片是神经元芯片是LonWorksLonWorks技术的核心,它不仅是技术的核心,它不仅是LONLON总线的通信处理器,而且是具有总线的通信处理器,而且是具有I/OI/O和控制的通用和控制的通用处理器。神经元芯片已提供了处理器。神经元芯片已提供了LonTalkLonTalk协议的第协议的第1-61-6层,开发者只需用层,开发者只需用Neuron CNeuron C语言开发
5、。语言开发。n神经元芯片包括神经元芯片包括3 3个个8 8位位CPUCPU、RAMRAM、ROMROM、通信接口、通信接口和和I/OI/O接口;接口;ROMROM中存储操作系统、中存储操作系统、LonTalkLonTalk协议和协议和I/OI/O函数库;函数库;RAMRAM用于存储从网络上下载的配置数据用于存储从网络上下载的配置数据和应用程序。和应用程序。n芯片上集成有三个芯片上集成有三个8 8位位CPUCPU:n介质访问处理器;介质访问处理器;n网络处理器网络处理器;n应用处理器。应用处理器。n网络处理器和介质访问处理器通过存储区中的网络缓存区网络处理器和介质访问处理器通过存储区中的网络缓存
6、区进行通信,并且网络处理器通过应用缓存区与应用处理器进行通信,并且网络处理器通过应用缓存区与应用处理器通信。通信。(3)基于LNS的软件工具(LonWorks Network Operating System)nLonWorksLonWorks技术有多种基于技术有多种基于LNSLNS的工具,用于的工具,用于LONLON网络的维网络的维护和组态。护和组态。nLonMakerLonMaker是图形化工具,用于图形绘制、系统调试和网是图形化工具,用于图形绘制、系统调试和网络的维修保养;络的维修保养;n节点开发工具节点开发工具NodeBuilderNodeBuilder;n节点和网络安装工具节点和网络
7、安装工具LonBilderLonBilder;n网络管理工具网络管理工具LonManageLonManage以及客户服务器网络构架以及客户服务器网络构架LNSLNS技术。技术。(4 4)开放性)开放性nLonWorksLonWorks技术提供了开放系统设计平台,使不同公司生产的技术提供了开放系统设计平台,使不同公司生产的同类同类LonWorksLonWorks产品可以互操互换。产品可以互操互换。nLonWorksLonWorks产品的互操作标准由产品的互操作标准由LonMarkLonMark协会制定。协会制定。nLonWorksLonWorks通信速率为通信速率为78kbit/s78kbit/
8、s和和1.25Mbit/s1.25Mbit/s,对应的传输距,对应的传输距离分别为离分别为2700m2700m和和130m130m,节点数为,节点数为3200032000个,传输介质为双绞个,传输介质为双绞线、同轴电缆、光缆和电源线等。支持多种拓扑结构,如总线、同轴电缆、光缆和电源线等。支持多种拓扑结构,如总线形、星形、环形、自由形式和混合形式,组网方式方便、线形、星形、环形、自由形式和混合形式,组网方式方便、灵活。灵活。nLonWorksLonWorks的信号传输采用可变长帧结构,每帧的有效字节为的信号传输采用可变长帧结构,每帧的有效字节为3030288288个。个。2.LON总线系统的开发
9、总线系统的开发n基于开发工具基于开发工具LonBuilderLonBuilder或或NodeBuilderNodeBuilder,使用,使用Neuron CNeuron C语言编程,即针对具体控制系统的要求编语言编程,即针对具体控制系统的要求编写应用代码,然后经过编译与通信协议代码连接生写应用代码,然后经过编译与通信协议代码连接生成总的目标代码,一起烧录到节点的存储器中;成总的目标代码,一起烧录到节点的存储器中;n基于图形方式的软件开发工具基于图形方式的软件开发工具Visual ControlVisual Control,通,通过组态构成控制系统,自动编译生成总的目标代码,过组态构成控制系统,
10、自动编译生成总的目标代码,直接下载到节点的直接下载到节点的Flash ROMFlash ROM中。中。n对复杂系统,需编制自定义模块。对复杂系统,需编制自定义模块。8.2 LonTalk8.2 LonTalk协议协议1.LonTalk七层协议七层协议nLonTalkLonTalk协议是协议是LONLON总线的专用协议,是总线的专用协议,是LonWorksLonWorks技术的核心。它符合技术的核心。它符合1SO/OSI1SO/OSI参考模型的七层体参考模型的七层体系结构,即含有物理层、链路层、网络层、传输系结构,即含有物理层、链路层、网络层、传输层、会话层、表示层和应用层。层、会话层、表示层和
11、应用层。nLonTalkLonTalk协议提供一系列通信服务,可使一台设备协议提供一系列通信服务,可使一台设备的应用程序可以在不了解网络拓扑、名称、地址或的应用程序可以在不了解网络拓扑、名称、地址或其它设备功能的情况下发送和接收网络上其它设备其它设备功能的情况下发送和接收网络上其它设备的报文。的报文。n还提供端到端的报文确认,报文认证、打包业务和还提供端到端的报文确认,报文认证、打包业务和优先传送服务,支持网络管理服务,允许远程网络优先传送服务,支持网络管理服务,允许远程网络管理工具与网络设备进行交互。管理工具与网络设备进行交互。n采用神经元芯片的网络节点含有采用神经元芯片的网络节点含有Lon
12、TalkLonTalk协议固件,协议固件,使网络节点可以可靠地通信。使网络节点可以可靠地通信。n网络节点是相互独立的,任一节点发生故障时,不网络节点是相互独立的,任一节点发生故障时,不影响整个网络工作,提高了系统的可靠性和可维护影响整个网络工作,提高了系统的可靠性和可维护性。性。n各节点具有本地存储和处理能力,系统的安全性很各节点具有本地存储和处理能力,系统的安全性很高,能在系统规模大时避免网络通信的冲突和网络高,能在系统规模大时避免网络通信的冲突和网络速度的局限性。速度的局限性。(1 1)物理层:定义通信信道上位流的传输,它确保)物理层:定义通信信道上位流的传输,它确保源设备发送的位流准确地
13、被目的设备接收。源设备发送的位流准确地被目的设备接收。(2 2)数据链路层:定义介质访问方法和单一信道的)数据链路层:定义介质访问方法和单一信道的数据编码。数据编码。(3 3)网络层:定义设备名称和地址,源设备的报文)网络层:定义设备名称和地址,源设备的报文如何选择路由到达一台或多台目的设备,以及当源如何选择路由到达一台或多台目的设备,以及当源设备和目的设备不在同一信道上时,如何确定报文设备和目的设备不在同一信道上时,如何确定报文路由。路由。(4 4)传输层:确保可靠的报文传输。)传输层:确保可靠的报文传输。(5 5)会话层:对较低层数据交换加以控制。)会话层:对较低层数据交换加以控制。(6
14、6)表示层:定义报文数据的编码。)表示层:定义报文数据的编码。(7 7)应用层:定义一种低层交换数据的公共语义解)应用层:定义一种低层交换数据的公共语义解释,使不同应用程序中的网络变量改变时,均能自释,使不同应用程序中的网络变量改变时,均能自动将更新的网络变量值下传动将更新的网络变量值下传(发送发送)或上传或上传(接收接收)。应用层还定义了一个文件传输协议,用来传输应用应用层还定义了一个文件传输协议,用来传输应用程序间的传输流。程序间的传输流。2.2.LonTalkLonTalk各层协议及功能各层协议及功能 n(1 1)物理层)物理层nLonTalkLonTalk协议支持一种或多种不同传输介质
15、构成网协议支持一种或多种不同传输介质构成网络络n传输介质:传输介质:n双绞线双绞线(twisted-pair)(twisted-pair)、n电力线电力线(powerline)(powerline)、n无线射频无线射频(radio-frequency)(radio-frequency)、n红外线(红外线(infraredinfrared)、)、n同轴电缆同轴电缆(coaxial cable)(coaxial cable)n光纤光纤(fiber)(fiber),n用户自定义的通信介质。用户自定义的通信介质。n不同介质的传输距离、传输速率、网络拓扑结不同介质的传输距离、传输速率、网络拓扑结构以及所
16、使用的收发器均不相同,为支持各种构以及所使用的收发器均不相同,为支持各种传输介质,物理层协议支持多种通信协议。传输介质,物理层协议支持多种通信协议。n收发器收发器是神经元芯片与信道的接口,是神经元芯片与信道的接口,LonTalkLonTalk协协议支持在通信介质上的硬件碰撞检测,可自动议支持在通信介质上的硬件碰撞检测,可自动地将正在发生碰撞的报文取消,重新再发。地将正在发生碰撞的报文取消,重新再发。(2)链路层n为使数据帧传输独立于所采用的物理介质和介质访为使数据帧传输独立于所采用的物理介质和介质访问的控制方法,将数据链路层分为两个子层:问的控制方法,将数据链路层分为两个子层:n逻辑链路控制逻
17、辑链路控制LLCLLC(Logical Link ControlLogical Link Control)n介质访问控制介质访问控制MACMAC。nLLCLLC与介质无关,与介质无关,MACMAC则依赖于介质。则依赖于介质。1)MAC子层nMACMAC协议是确定设备安全地传送数据包,减少冲突协议是确定设备安全地传送数据包,减少冲突的控制算法。的控制算法。nMACMAC协议是协议是CSMACSMA(载波信号多路侦听)协议的改进:(载波信号多路侦听)协议的改进:n带预测的带预测的PP坚持坚持CSMA CSMA n(Predictive P(Predictive PPresistent CSMA)P
18、resistent CSMA)。n优先级带预测的优先级带预测的PP坚持坚持CSMACSMALonWorks的的MAC子层的优点子层的优点:n支持多介质的通信,支持低速率的网络,可以支持多介质的通信,支持低速率的网络,可以在重负载的情况下保持网络性能,保证在过载在重负载的情况下保持网络性能,保证在过载情况下不会因为冲突而降低吞吐量。情况下不会因为冲突而降低吞吐量。n当使用支持硬件冲突检测的传输介质当使用支持硬件冲突检测的传输介质(如双绞线如双绞线)时,一旦收发器检测到冲突,时,一旦收发器检测到冲突,LonTalkLonTalk协议就可协议就可以有选择地取消报文的发送,这使节点可以马以有选择地取消
19、报文的发送,这使节点可以马上重新发送并使冲突不再重发,有效地避免了上重新发送并使冲突不再重发,有效地避免了碰撞。碰撞。2 2)链路层(逻辑链路控制)链路层(逻辑链路控制)n链路层确保链路层数据单元(链路层确保链路层数据单元(Link Protocol Data Link Protocol Data UnitUnit,LPDULPDU)的数据在子网内顺序无响应传输。)的数据在子网内顺序无响应传输。n提供错误检测,但不提供错误恢复,当一帧数据提供错误检测,但不提供错误恢复,当一帧数据CRCCRC效验错,该帧被丢掉。效验错,该帧被丢掉。(3)网络层)网络层n在网络层,在网络层,LonTalkLonT
20、alk协议提供给用户一个简单的通协议提供给用户一个简单的通信接口,定义了如何接收、发送、响应等,在网络信接口,定义了如何接收、发送、响应等,在网络管理上有网络地址分配、出错处理、网络认证、流管理上有网络地址分配、出错处理、网络认证、流量控制、路由器机制。量控制、路由器机制。n1 1)LonTalkLonTalk协议的网络地址结构协议的网络地址结构n2 2)寻址格式)寻址格式1 1)LonTalkLonTalk协议的网络地址结构协议的网络地址结构 nLonTalkLonTalk地址唯一地确定一个地址唯一地确定一个LonTalkLonTalk数据包的源数据包的源节点或目标节点,路由器则利用这些地址
21、在信道节点或目标节点,路由器则利用这些地址在信道之间选择数据包的传输路径。之间选择数据包的传输路径。n为了简化路由选择,为了简化路由选择,LonTalkLonTalk协议定义了分级的网协议定义了分级的网络地址形式:络地址形式:n域域(Domain)(Domain)n子网子网(Subnet)(Subnet)n节点节点(Node)(Node)地址地址n组地址组地址域地址域地址(domain)(domain):n域是一个信道或多个信道上的节点的逻辑集合。一域是一个信道或多个信道上的节点的逻辑集合。一个域就是一个实际意义上的网络,通信只能在同一个域就是一个实际意义上的网络,通信只能在同一域中配置的节点
22、之间进行。域中配置的节点之间进行。n多个域可以占用同一个信道,所以,域地址可以用多个域可以占用同一个信道,所以,域地址可以用来隔离不同网络上的节点。域的结构可以保证在不来隔离不同网络上的节点。域的结构可以保证在不同的域中通信是彼此独立的。同的域中通信是彼此独立的。n域标识符是唯一的。域标识符是唯一的。子网地址子网地址(Subnet)(Subnet):n一个子网是在同一域中节点的逻辑集合,是一个或一个子网是在同一域中节点的逻辑集合,是一个或多个通道的逻辑分组。多个通道的逻辑分组。n一个子网最多可有一个子网最多可有127127个节点,一个域最多可有个节点,一个域最多可有255255个子网。个子网。
23、n一种子网层的智能路由器产品可以实现子网间的数一种子网层的智能路由器产品可以实现子网间的数据交换。子网中的所有节点必须在同一信道上,如据交换。子网中的所有节点必须在同一信道上,如果一个节点属于两个域,该节点必须属于每个域中果一个节点属于两个域,该节点必须属于每个域中的一个子网。的一个子网。节点地址(节点地址(NodeNode):n节点地址是节点被赋予的所属子网内的唯一的节点节点地址是节点被赋予的所属子网内的唯一的节点标识码。标识码。n节点的标识码为节点的标识码为7 7位,所以每个子网最多可以有位,所以每个子网最多可以有127127个节点。个节点。n一个域中最多可以有一个域中最多可以有32385
24、32385个节点(个节点(255255127127)。)。任一节点可以分属一个或两个域,容许一个节点作任一节点可以分属一个或两个域,容许一个节点作为两个域之间的网关为两个域之间的网关(gateway)(gateway),也容许一个节点,也容许一个节点将采集来的数据分别发向两个不同的域。将采集来的数据分别发向两个不同的域。地址地址(Group)(Group):n组是一个域内节点的逻辑集合。与子网不同,组不组是一个域内节点的逻辑集合。与子网不同,组不需要考虑节点的物理位置。需要考虑节点的物理位置。n组可以包括路由器,一个组可在一个域中跨越几个组可以包括路由器,一个组可在一个域中跨越几个子网,或几个
25、通道。每一个组对于需应答服务的节子网,或几个通道。每一个组对于需应答服务的节点最多可包含点最多可包含6464个,而对无应答服务的节点个数不个,而对无应答服务的节点个数不限,一个节点最多可以属于限,一个节点最多可以属于1515个组,一个域最多可个组,一个域最多可以有以有256256个组。组地址的长度为个组。组地址的长度为1 1个字节。个字节。n分组结构可以使一个报文同时为多个节点所接收。分组结构可以使一个报文同时为多个节点所接收。芯片地址芯片地址(Neuron ID)(Neuron ID):n每一个神经元芯片有一个独一无二的每一个神经元芯片有一个独一无二的4848位位IDID地址,地址,这个这个
26、IDID地址是在神经元芯片出厂时由厂方规定的,地址是在神经元芯片出厂时由厂方规定的,这个这个IDID码是唯一的。一般只在网络安装和配置时使码是唯一的。一般只在网络安装和配置时使用,可以作为产品的序列号。用,可以作为产品的序列号。n节点也可以用节点也可以用Neuron IDNeuron ID寻址。寻址。2 2)寻址格式)寻址格式n一个通道是指在物理上能独立发送报文一个通道是指在物理上能独立发送报文(不需要转不需要转发发)的一段介质。的一段介质。nLonTalkLonTalk规定一个通道至多有规定一个通道至多有3238532385个节点。通道并个节点。通道并不影响网络的地址结构,域、子网和分组都可
27、以跨不影响网络的地址结构,域、子网和分组都可以跨越多个通道,一个网络可以由一个或多个通道组成。越多个通道,一个网络可以由一个或多个通道组成。通道之间是通过桥接器通道之间是通过桥接器(bridge)(bridge)来连接的。这样做来连接的。这样做不仅可以实现多介质在同一网络上的连接,而且可不仅可以实现多介质在同一网络上的连接,而且可以使一个通道的网络信道不致过于拥挤。以使一个通道的网络信道不致过于拥挤。(4 4)LonTalkLonTalk协议的传输层和会话层协议的传输层和会话层nLonTalkLonTalk协议的核心部分是协议的核心部分是传输层和会话层传输层和会话层。n一个传输控制子层管理报文
28、执行的顺序、报文的二次检一个传输控制子层管理报文执行的顺序、报文的二次检测。传输层是无连接的,它提供测。传输层是无连接的,它提供1 1对对1 1节点、节点、1 1对多节点的对多节点的可靠传输。信息认证可靠传输。信息认证(authentication)(authentication)也是在这一层实也是在这一层实现的。现的。n会话层主要提供了请求会话层主要提供了请求/响应的机制,它通过节点的连接,响应的机制,它通过节点的连接,来进行远程数据服务来进行远程数据服务(remote servers)(remote servers),因此使用该机,因此使用该机制可以遥控实现远端节点的过程建立。制可以遥控实
29、现远端节点的过程建立。LonTalkLonTalk协议的网协议的网络功能虽然是在应用层来完成的,但实际上也是由提供络功能虽然是在应用层来完成的,但实际上也是由提供会话层的请求应答机制来完成的。会话层的请求应答机制来完成的。LonTalkLonTalk协议提供四种类型的报文服务:协议提供四种类型的报文服务:n应答方式应答方式(acknowledge)(acknowledge)n请求响应方式请求响应方式(request/response)(request/response)n非应答重发方式非应答重发方式(unacknowledged repeated)(unacknowledged repeate
30、d)n非应答方式非应答方式(unacknowledged)(unacknowledged)n这些报文服务除请求响应是在会话层实现这些报文服务除请求响应是在会话层实现外,其他三种都在传输层实现。外,其他三种都在传输层实现。(5 5)LonTalkLonTalk协议的表示层和应用层协议的表示层和应用层nLonTalkLonTalk协议采用面向数据的应用协议。协议采用面向数据的应用协议。n在这种方式下,节点间以标准工程单位或其它预定在这种方式下,节点间以标准工程单位或其它预定义的单位交换诸如温度、压力、状态和文字串等应义的单位交换诸如温度、压力、状态和文字串等应用数据,而命令语句封装在接收节点的应用
31、程序中用数据,而命令语句封装在接收节点的应用程序中且不是将命令在网上传送。且不是将命令在网上传送。n以这种方式,同一工程量可送到多个节点,然而每以这种方式,同一工程量可送到多个节点,然而每个节点对该数据有不同的应用程序。个节点对该数据有不同的应用程序。LonTalkLonTalk协议的表示层和应用层提供五类服务:协议的表示层和应用层提供五类服务:1)1)网络变量的服务网络变量的服务2)2)显示报文的服务显示报文的服务3)3)网络管理的服务网络管理的服务4)4)网络跟踪的服务网络跟踪的服务5)5)外来帧传输的服务外来帧传输的服务3.LonTalk3.LonTalk协议使用中注意的问题协议使用中注
32、意的问题(1 1)LonTalkLonTalk协议的网络认证协议的网络认证(2 2)LonTalkLonTalk协议的网络接口协议协议的网络接口协议(3 3)LonTalkLonTalk协议中的定时器协议中的定时器(4 4)网络效率网络效率(1 1)LonTalkLonTalk协议的网络认证协议的网络认证nLonTalkLonTalk协议支持报文认证,即允许报文的接收者确协议支持报文认证,即允许报文的接收者确定报文的发送方是否有权发送。它用于防止未授权节定报文的发送方是否有权发送。它用于防止未授权节点介入应用。点介入应用。(2 2)LonTalkLonTalk协议的网络接口协议协议的网络接口协
33、议nLonTalkLonTalk协议包含一个可选择的网络接口协议,该协协议包含一个可选择的网络接口协议,该协议支持在任一主处理器上运行的议支持在任一主处理器上运行的LonWorksLonWorks应用程序。应用程序。主处理器可以是微处理器、微控制器或主处理器可以是微处理器、微控制器或PCPC机。主处理机。主处理器管理器管理LonTalkLonTalk协议的第协议的第6 6和和7 7层,并且使用层,并且使用LonTalkLonTalk网网络接口管理协议的络接口管理协议的1 15 5层。层。LonTalkLonTalk网络接口定义网网络接口定义网络接口和主处理器之间的数据交换格式。络接口和主处理器
34、之间的数据交换格式。(3)LonTalk协议中的定时器协议中的定时器在使用在使用LonTalkLonTalk协议服务之前,需正确设置以下几个协议服务之前,需正确设置以下几个定时器:定时器:事务定时器事务定时器(Tramsaction Timer)(Tramsaction Timer)重发定时器重发定时器(Repeat Timer)(Repeat Timer)组接收定时器组接收定时器(Group Receive Timer)(Group Receive Timer)非组接收定时器(非组接收定时器(Non-Group Receive TimerNon-Group Receive Timer)缓冲器
35、释放定时器缓冲器释放定时器(Free Buffer Wait Timer)(Free Buffer Wait Timer)(4)网络效率)网络效率n网络的响应时间、安全性和可靠性是相互关联的。网络的响应时间、安全性和可靠性是相互关联的。n例如,应答服务方式是最可靠的,但它与非应答方例如,应答服务方式是最可靠的,但它与非应答方式和非应答重发方式相比需要较大的网络带宽;对式和非应答重发方式相比需要较大的网络带宽;对具有优先权的报文实时发送,对其它报文的发送是具有优先权的报文实时发送,对其它报文的发送是不利的;使用报文认证服务可使安全性增加,但要不利的;使用报文认证服务可使安全性增加,但要传送的报文数量将是无报文认证服务的两倍。传送的报文数量将是无报文认证服务的两倍。第第8 8章章 复习题复习题1.LonWorks1.LonWorks技术的特点是什么?技术的特点是什么?2.LonTalk2.LonTalk协议包含几层协议?每层的功能是什么?协议包含几层协议?每层的功能是什么?3.LonTalk3.LonTalk协议的网络地址形式有几种?协议的网络地址形式有几种?4.LonTalk4.LonTalk协议使用中注意的问题有哪些?协议使用中注意的问题有哪些?5.LonTalk5.LonTalk协议的表示层和应用层提供哪几类服务?协议的表示层和应用层提供哪几类服务?祝您成功!