1、第3章 LonWorks技术和LON总线第3章 LonWorks技术和LON总线3.1 概述 LON(Local Operating Networks)总线是美国Echelon公司1991年推出的局部操作网络,为集散式监控系统提供了很强的实现手段。 LonWorks技术是美国Echelon公司推出的一个实现控制网络系统的完整的开发平台。它可以解决在控制网络的设计、构成、安装和维护中出现的大量问题。目前采用LonWorks技术的产品广泛应用在工业、楼宇、家庭、能源等自动化领域。LON总线也成为当前最为流行的现场总线之一。3.1.1 LonWorks技术的特点 (1) 开放性:网络协议开放,对任何
2、用户平等。(2) 通信媒介:可用任何的媒介进行通信,包括双绞线、电力线、光纤、同轴电缆、无线电波、红外等,而且在同一网络中可以有多种通信媒介。(3) 互操作性: LonWorks技术的通信协议LonTalk是符合国际标准化组织(ISO)定义的开放互连(OSI)模型。任何制造商的产品都可以实现互操作。(4) 网络结构:可以是主从式、对等式或客户/服务式结构。(5) 网络拓扑:有星形、总线形、环形以及自由形。(6) 网络通信采用面向对象的设计方法。LonWorks网络技术称之为“网络变量”,它使网络通信的设计简化为参数设置,增加了通信的可靠性。(7) 通信的每帧有效字节数可从0到228个字节。(8
3、) 通信速率可达1.25Mb/s,此时有效距离为130m;78Kb/s的双绞线,直线通信距离可达2700m。(9) LonWorks网络控制技术在一个测控网络上的节点数可达32 385个。(10) 提供强有力的开发工具平台LonBuilder与Nodebuilder。(11) LonWorks技术核心元件Neuron芯片内部装有3个8位微处理器、34种I/O对象核定时器/计数器,还有LonTalk通信协议。Neuron芯片具备通信和控制功能。(12) 改善了CSMA,采用可预测P坚持CSMA,这样,在网络负担很重的情况下,不会导致网络瘫痪。3.1.2 LonWorks系统结构LON现场控制网络
4、通过智能设备或节点与他们所处的环境进行交互作用,以及通过不同的通信介质与其它的节点进行通信。这种通信采用一种基于报文的控制协议。节点可以是采用神经元芯片作为通信处理器和测控处理器,当系统I/O接口比较多时,也可采用基于主机的节点,即神经元芯片只作为通信处理器,测控工作由其它计算机完成。LON现场控制网络包括:节点、通信介质和通信协议。LonWorks技术是集成这样一个LON网络的完整的开发平台。LonWorks技术包含所有设计、配置和维护网络所需要的技术,主要包括以下部分;(1)Lonworks节点和路由器 (2)Lontalk协议 (3)Lonworks收发器 (4)Lonworks网络和节
5、点开发工具 Lonworks节点又称为智能型节点,其核心技术是采用了神经元芯片。神经元芯片通过硬件、固件相 结合的技术,使一个神经元芯片包含了一个现场节点的大部分功能块应用 CPU、I/O处理单元、通信处理器以及固件中的Lontaik协议。神经元芯片加上收发器就可以构成典型的 Lonworks智能节点。 路由器是 Lonworks总线所特有的设备,路由器使得 LON总线突破传统的现场总线的限制不受通信介质、 通信距离、通信速率的限制。 Lontalk协议是一种面向对象的协议,支持 OSI 的 7层协议,具体实现形式是网络变量。在构造需要的网络时,仅仅通过 Lonworks网络配置工具Lonma
6、ker将各节点的网络变量进行连接即可实现节点间的数据通信。Lontalk协议固化在 Neuron芯片中, 使得开发简单方便。Lonworks收发器包括双绞线收发器 电力线收发器、无线收发器、光纤收发器、红外收发器等多种收发器,以适应多种媒介的通信需要。在 Lon总线中,提供了一系列的网络管理工具,完成网络安装、网络维护、网络监控的功能,Lonwork现场总线在这种意义上是一种现场网络。经常使用的工具是 Lonbuilder,Lonmaker,Nodebuilder等。3.1.3 Neuron芯片及通信协议 LON网上的每个控制点我们称之为LON节点或LonWorks智能设备,它包括一片Neur
7、on芯片、传感器和控制设备、收发器(用于建立Neuron芯片与传输之间的物理连接)和电源。图3.1给出了一种典型的LON节点的方框图。图 1. Neuron芯片 由图3.1可以看出,Neuron芯片是节点的核心部分,它包括一套完整的通信协议,即LonTalk协议。从而可以确保节点间使用可靠的通信标准进行互操作。因为Neuron芯片可直接与它所监视的传感器和控制设备连接,所以一个Neuron芯片可以传输传感器或控制设备的状态,执行控制算法,和其它Neuron芯片进行数据交换等。使用Neuron芯片,开发人员可集中精力设计并开发出更好的应用对象而无需耗费太多的时间去设计通信协议、通信的软件和硬件或
8、系统操作,这样就减少了开发的工作量,从而节省大量的开发时间。 Neuron芯片在大多数LON节点中是一个独立的处理器。如果节点需要具备更强的信号处理能力或I/O通道,Neuron芯片还可以用于与其它处理器进行通信,共同构成所需的节点。2LonTalk协议 LonTalk协议是遵循OSI参考模式的完整的7层协议。由于Neuron芯片的协议处理与通信媒介无关,因而能支持多种通信媒介,如:双绞线、电力线、射频、红外线、同轴电缆和光纤等。 LonTalk寻址体系由三级构成。最高一级是域(domain),只有在同一个域中的节点才能相互通讯,可以说一个域(domain)即是一个网。第二级是子网(Subne
9、t)。每个域可以有多达255个的子网。第三级是节点(node)。每个子网可有多至127个节点。节点还可以编成组,编成组的节点可以是不同子网中的节点。一个域内可指定256个组。Neuron芯片在制造后即有一个48位的字符串,用来惟一且永久的标识每个芯片,用Newron ID表示。LonTalk协议还提供四种消息服务类型:应答(ACKD)、请求/响应(REQUEST)、非应答式重发(UNACKD-RPT)、非应答式(UNACKD)。3LONWORKS产品LONWORKS拥有开发、制作、安装以及维护LON网所需要的所有工具。 (1)LONWORKS收发器 LONWORKS收发器是标准的成品,它简化了
10、LONWORKS节点的开发,提供了良好的互操作性,减少了项目的开发时间以及开发成本。收发器在Neuron芯片和LON网间提供了一个物理量交换的接口。它适用于各种通信媒介和拓扑结构。 (2)LONWORKS路由器 路由器是一个特殊的节点,由两个Neuron芯片组成,用来连接不同通信媒介的LON网络。当然它还能控制网络交通,增加信息通量和网络速度。(3)电力线通信分析器 电力线通信分析器(PLCA)是一种易于使用的成本一效果分析仪器,用于分析应用设备中电力线通信的可靠性。用PLCA测试电力线任意两点间的通信,可以测试电路是否对Echelon电力线收发器适用。 (4)LONWORKS控制模块 与收发
11、器相同,LONWORKS控制模块也是标准的成品,在模块中有一个Neuron芯片、通信收发器(也可不带)、存储器和时钟振荡器,只需加一个电源、传感器/执行器和写在Neuron芯片中的应用程序就可以构成一个完整的节点。 (5)LONWORKS网络接口和网间接口 LON网的网络接口允许LONWORKS应用程序在非Neuron芯片的主机上运行,从而实现任意微控制器、PC机、工作站或计算机与LON网络的其它节点的通信。此外,网络接口也可以作为与其它控制网络联系的网间接口,把不同的现场总线的网连在一起,并用LON网接到异型网上。 (6)LON网服务工具 LON网服务工具用于安装、配置、诊断、维护以及监控L
12、ON网络。LON节点的寻址、构造、建立的连接可以归纳于安装。这是靠固化在Neuron芯片里的网络管理服务的协议来支持的,全部或部分的网络安装可能在生产的最初就开始了,也有可能要在现场进行。无论安装工作是在生产的开始还是在现场,系统都需要修改错误节点或重构网络。 LonManager工具可解决系统安装和维护的需要。既可用于实验室又可用于现场。 (7)LonBuilder和NodeBuilder开发工具 LonBuilder和NodeBuilder用于开发基于Neuron芯片的应用。NodeBuilder开发工具可使设计和测试LONWORKS控制网络中的单独节点变得简单。它用大家熟悉的Window
13、s开发环境为用户提供易于使用的联机帮助。 LonBuilder开发工具平台集中了一整套开发LON控制网络的工具。这些工具包括以下三个方面:开发多节点、调试应用程序的环境; 安装、构造节点的网络服务程序; 检查网络交通以确定适当容量和调试改正错误的协议分析器。3.1.4 网络变量及显式消息l. 网络变量 LonTalk协议的表示层中的数据被称为网络变量。 一个网络变量NV(Network Variables)是节点的一个对象,LON网络的节点之间的联系主要是通过网络变量来实现的。它可定义为输出网络变量,也可定义为输入网络变量。每个节点可定义62个到4 096个网络变量。当一个网络变量在一个节点的
14、应用程序中被赋值后,LonTalk协议将修改了的输出网络变量新值构成隐式消息,透明地传递到可与之共享数据的其它节点,所以网络变量又被称为隐式消息。应用程序不必考虑发送和接收的问题,因而用它开发网络应用系统较为方便,且开发周期短。节点间共享数据,是通过连接输出网络变量到输入网络变量来实现的。只有数据类型相同的网络变量才能建立输入和输出的连接,且只能在网络安装时借助LonBuilder管理器或LonManagr LonMaker安装工具才能完成网络变量的连接。 对于网络变量,它可以是整数、布尔数或字符串等,用户可以完全自由地在应用程序中定义各种类型的网络变量。为增加网络的互操作性,LonTalk协
15、议中定义了标准网络变量(SNVT)。目前,它支持的标准网络变量有255种。当然用户不一定要使用标准网络变量。 网络变量的使用极大地简化开发和安装分散系统的处理过程,各个节点可以独自定义,然后简单地连接在一起或断开某几个连接,以构成新的LONWORKS应用。网络变量通过提供给节点相互之间明确的网络接口而极大地提高了节点产品的互操作性。互操作性带来的好处是:节点能很方便地安装到不同类型的网络中,并保持节点应用的网络配置独立性。节点可以安装到网络中并且只要网络变量数据类型匹配,就可以逻辑地建立与网上的其它节点的连接。为进一步提高互操作性,LonTalk协议还提供SNVT(标准网络变量)以及LonMa
16、rk对象,对此本书不详述。综上所述,网络变量是一个节点中的一个对象,它可以与一个或多个其他节点的网络变量相连接。一个节点的网络变量从网络的观点定义了它的输入和输出,同时允许在分布式应用环境中共享数据。无论何时,如果一个程序更新了它的网络变量的值,则该值通过网络传递给所有的与该输出网络变量相连接的其他节点的输人网络变量。网络变量大大地简化了开发和安装分布式系统的过程,促进了节点间的互操作。2显式消息(Explicit Messages) 尽管大多数应用系统采用的是网络变量,但由于每个网络变量的数据长度一经确定就不能改变,且最多只有3l个字节,所以限制了它的使用范围。为此,Neuron C提供显式
17、消息这一数据类型。 显式消息的数据长度是可变的,且最长可以是228个字节。它提供有请求/响应机制。某个节点发出请求消息能调动另一个节点做出相应的响应,从而实现远程过程调用。但与网络变量相比,显式消息是实现节点之间交换信息的更为复杂的方法。编程人员必须在应用程序中生成、发送和接收显式消息,因而要求编程人员必须深入了解更底层的知识,例如分配消息缓存区、节点寻址、请求/响应及消息重发处理等等。 节点使用消息标签(MessageTags)发送和接收显式消息。消息标签可以说是一个节点的通信I/O口,每个节点有一默认的输入消息标签msg-in。同网络变量一样,必须在网络安装时建立输入和输出消息标签之间的连
18、接,消息才能被发送至正确的节点,这样,接收节点之间进行通信除了通过网络变量外,还可以通过更加灵活的显式报文来交换数据。 每一种类型的网络变量(实际上是一种隐式报文)的数据长度都是固定的,任何一种类型的网络变量的长度不能超过3l 字节;而显式报文恰恰相反,它的数据长度是可变的。相同的报文码(message code)在一个应用中可能只包含1 字节的数据,而在另一个应用中包含25 字节的数据,在显式报文中,数据的最大长度为228 字节。因此,在数据量较大的应用(例如数据的长度大于3l字节)中,使用显式报文比使用网络变量更有效。显式报文提供有四种服务方式:确认方式;非确认重复方式;非确认方式;请求/
19、应答方式。 显式报文不像网络变量那样只须要简单地赋值就可将数据发送到网络中,它必须通过有关的函数显式地发送与接收。Neuron C预定义了两个对象:msg-out和msg-in来表示发送和接收的显式报文。3.2 LonWorks节点LonWorks节点是同物理上与之相连的I/O设备交互作用并在网上使用LonTalk协议与其它节点相互通信的一类对象。一个典型的现场控制节点主要包含以下几部分功能块:应用CPU、 I/O处理单元、通信处理器、收发器和电源。LonWorks节点有两种基本组成类型。一种是将Neuron芯片作为节点中唯一的处理器,即充当LON网的节点又要完成基本的测控任务。这种结构适合于
20、I/O设备简单,处理任务不复杂的系统,称之为基于Neuron芯片的节点(Neuron Chip hosted)。另外一种是将Neuron芯片制作为节点的通信处理器,充当着LON网的网络接口,节点应用程序由功能更强的处理器来完成。这类节点适合于对处理能力、输入/输出能力要求较高的系统。称之为基于主机的节点(host-based)。不论哪种类的节点都有一片Neuron芯片用于通信和控制、一个I/O接口用于连接一到多个I/O设备,另外,还有一个收发器负责将节点连接上网。图3.2是基于Neuron芯片节点和基于主机的节点的结构组成示意图。 下面具体分析基于Neuron芯片节点和基于主机的节点的结构组成
21、。 图3.2 基于Neuron芯片节点(a)和基于主机的节点 (b)的结构组成3.2.1基于Neuron芯片的LonWorks节点 Neuron Chip hosted神经元芯片是一组复杂的VLSI器件,通过独具特色的硬件、 软件相结合的技术,使一个神经元芯片几乎包含一个现场节点的大部分功能块应用CPU、I/O处理单元、通信处理器。 因此,一个神经元芯片加上收发器便构成一个典型的现场控制节点。 图3.3为一个神经元节点的结构框图。图3.3 一个神经元节点的结构框图 3.2.2 基于主机的LonWorks节点 Host Base神经元芯片有一个8位的总线,目前支持最高主频是10MHz,因此他所能
22、完成的功能有限,对于一些复杂的控制,如:带有PID算法的单回路、多回路、多点的控制就显得力不从心。采用Host Base结构是解决这一矛盾的好方法,即:将神经元芯片作为通信协处理器,用高级主机的资源来完成复杂的测控功能。图3.4为一典型Host Base 结构框图。 图3.4 典型Host Base 结构框图3.3.3 路由器路由器在LonWorks技术中是一个主要部分,这也是其它现场总线所不具备的功能,正是由于路由器的使用,使LON总线突破传统的现场总线的限制不受通信介质、通信距离 、通信速率的限制。 所谓路由:哪一条线路可以使信息以最快、最方便地到达目标节点。路由器是用来连接两通道并在通道
23、之间完成消息包传递的装置。路由器工作在网络层,用来完成网络层设备的连接,并可用于互连不同类型的网络。他提供各子网间网络层的接口,用来处理数据包,把帧中的数据封装进底层的帧而不改变数据中所含的网络地址,确定数据包的路由线路。使用路由器互连网络的特点是:各互连的逻辑子网仍保持独立性,各个子网可以采用不同的拓扑结构、传输介质和网络协议。网络结构层次分明。 路由器可以过滤掉子网内部的数据包,只传送跨子网的信息。路由器不仅可以用于局域网的互联,也可以用于局域网与广域网之间,广域网与广域网之间的互联。也可以在速度不同的网络和传输介质之间进行数据包的传输。在LonWorks技术中路由器包括以下几种类型:1.
24、 中继器中继器可以说是最简单的路由器。它主要完成的任务是在两个通道间向前简单地传递消息包。中继器可以实现多通道、单子网的信息传递。 2. 网桥同中继器一样网桥也仅仅是简单地在两个通道间向前传递消息包,所不同的是它必须完成所传送消息包的域地址匹配。也就是说,将要传递的消息包按其域地址传送,而且不会送到其他的域去,网桥也可以实现多通道、单子网信息传递。 网桥位于OSI参考模型的数据链路层。 网桥不辨别不同的协议,让任何一个协议的数据自由通过,网桥工作于数据链路层的MAC子层, 它是储存转发设备,在数据链路层将数据帧存储转发,对转发的帧不作修改或作少量的修改。根据数据链 路层的MAC地址,网桥能够解
25、析他所接收到的数据帧并将数据发往要去的目的地。通过网桥可以将两个或多个网段(或局域网)连接起来,可以滤掉属于本网段内部传送的信息,只传送跨网段的信息。网桥在工作时监听网上所有的数据传输,可以理解数据帧上的目标地址(MAC地址)由此决定是否将数据像其他网段转发。如果数据的目标地址与原地址不在同一网段上,则说明是发往其它网段,网桥就将此数据往其他网段转发。网桥只能用于局域网的互联。图3.5 RTR-10路由器模块构成的路由器框图3. 学习路由器 学习路由器可以监视网络的通信并学习域/子网的的网络拓扑关系,然后,应用它所学到的知识在通道间有选择地路由消息包。学习路由器不能学习组编制的拓扑关系,也就是
26、说,它不能路由使用组编址的所有消息包。 学习网络拓扑关系:是通过学习建立自己的路由表。 路由器的学习过程:对学习路由器,首先必须建立路由表以确知子网相对路由器的位置,例如是在路由器的左方还是在路由器的右方。 下面通过例子来反映学习路由器路由表的建立过程,见图3.6,设想一点对点通信,节点6与节点2捆绑在一起。当节点6有消息要发往节点 2时,学习路由器1会检测到该消息并检测消息的源子网地址,然后在路由表中注释子网2位于本路由器的下方,比较源子网地址和目标子网地址,已不在同一个地址,所以消息被向上路由到子网1。 与此同时学习路由器2也检测到节点6发出的消息,和路由器1一样,首先检查消息的源子网地址
27、,然后在路由表中注释子网2位于本路由器上方,由于是节点6发往节点2 的消息,所以此时的路由器2并不知道目标子网相对于自己的位置(本子网没有这一地址),它只会向下路由消息。 假设节点2回送应答消息,则学习路由器1会检测到该消息并在路由表中注释子网1位于本路由器上方,然后在路由表中发现子网2在本路由器的下方,从而将这个消息向下路由。当消息到达子网2时,节点6以及学习路由器2都会检测到,对此时的学习路由器2,已知目标在自己的上方,所以它仅会在自己的路由表中子网1和子网2一样位于本路由器的上方,而不会再路由该消息。 总之各子网首先必须发送消息,学习路由器在收到子网发送的消息后才能学习到子网的存在,从而
28、正确的建立路由表。路由器的选取必须考虑以下几点:(1) 如果在学习路由器的学习过程中出现通信量的急剧增加就可能带来拥挤问题;(2) 如果是环形网,学习路由器无法精确地建立它的网络映像;(3) 学习路由器不断在学习,他会依照网络拓扑结构的变化而修改自己的路由表;(4) 学习路由器中的路由表不必显示编程;(5) 学习路由器无法建立组地址路由表。 当消息包在每个通道间传送时,如果使用智能路由器可以提高整个系统的容量,比如:增加节点数目和增加节点捆绑连接的数目。 4. 配置路由器 同学习路由器一样,配置路由器能借助内部的路由标在通道间选择路由消息包,所不同的是,内部的路由表示有网络管理器建立。网络管理
29、器可以通过建立子网地址及组网地址的路由表来优化网络的通信能力,使网络的通信能力达到最佳。 3.3 LON总线分散式通信控制处理器神经元芯片 神经元芯片是 LonWorks技术的核心。它既能管理通信 ,同时具有输入/输 出和控制功能。神经元芯片内部有三个8位的微处理器:MAC processor(介质访问CPU)、NETWORK processor(网络 CPU)和 APPLICATION processor(应 用CPU)。其中,前两个处理器管理通信,后一个留给用户开发应用程序。神经元芯片的片内附有固件 (Firmware),该固件实现 LonTalk通信协议的所有任务调度 。3.3.1神经元
30、芯片结构及特点1芯片结构神经元芯片家族中最初的成员是Neuron 3120xx和3150芯片。3120型的固件在它本身 的 10K ROM 中,3150型芯片的固件在外接的 ROM/EPROM/E PROM 中。 3120芯片不支持外部存储器,本身自带有ROM、RAM、E2PROM等存储器。 3150支持外部存储器,片内无内部ROM,但拥有访问外部存储器的接口,寻址空间可达64KB。3150芯片可用于设计应用更复杂的控制系统。拥有外部存储器接口使得系统开发人员能够使用64KB空间的42KB空间作为程序存储区。对3150芯片而言因为不具有内部ROM,所以通信协议等固件皆由开发工具携带,并与应用程
31、序代码一起写入外部存储器中。图3.8为神经元芯片的结构框图。表3.1为几种型号的神经元芯片的比较。 图3.8 神经元芯片的结构框图 3.3.2 芯片的CPU结构Neuron芯片内部有三个CPU:MAC CPU、网络CPU和应用CPU。如图3.9所示。CPU-1是MAC CPU,即介质访问控制处理器(media access control),完成介质访问控制,处理LonTalk协议的第1和第2层(ISO的OSI七层协议的1和2层(物理层和链路层),这包括驱动通信子系统硬件和执行避免冲突的算法。 介质访问控制处理器CPU -1和网络处理器CPU-2通过共享存储器中的网络缓冲器进行通信,正确的对网
32、上报文进行编解码。也就是说MAC处理器接收的信息通过共享的存储器,传送给网络处理器。 CPU-2是网络CPU,它实现LonTalk协议的第3到第6层,处理网络变量、寻址、事务处理、权限证实、背景诊断、软件计时器、网络管理和路由等。同时,它还控制网络通信端口,物理地发送和接收数据包。该处理器用共享存储区中的网络缓存区与CPU-1通信,用应用缓存区与CPU-3通信。CPU-3是应用CPU,它完成用户的编程,其中包括用户程序对操作系统的服务调用。每个处理器都有如表3.2所列的寄存器集,但三个处理器均可共享的数据和地址ALU、以及存储访问电路。在3150中,被任一处理器使用的地址、数据和读/写线均接到对应的外部总线上。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1