LONWORKS现场总线LonWorks技术和LON总线LON(LocalOperatingNetworks)总线是美国Echelon(埃施朗)公司1991年推出的局部操作网络,为集散式监控系统提供了很强的实现手段。在其支持下,诞生了新一代的智能化低成本的现场测控产品。为支持LON总线,Echelon公司开发了LonWorks技术,它为LON总线设计、成品化提供了一套完整的开发平台。目前采用LonWorks技术的产品广泛地应用在工业、楼宇、家庭、能源等自动化领域,LON总线也成为当前最为流行的现场总线之一。LonWorks使用的开放式通信协议LonTalk为设备之间交换控制状态信息建立了一个通用的标准。这样在LonTalk协议的协调下,以往那些孤立的系统和产品融为一体,形成一个网络控制系统。LonTalk协议最大的特点是对OSI的七层协议的支持,是直接面向对象的网络协议,这是以往的现场总线所不支持的。具体实现就采用网络变量这一形式。网络变量使节点之间的数据传递只是通过各个网络变量的互相连接便可完成。又由于硬件芯片的支持,实现了实时性和接口的直观、简洁的现场总线的应用要求。神经元芯片(neuronchip)是LonWorks技术的核心,它不仅是LON总线的通信处理器,同时也可作为采集和控制的通用处理器,Lonworks技术中所有关于网络的操作实际上都是通过它来完成的。按照LonWorks标准网络变量来定义数据结构,也可以解决和不同厂家产品的互操作性问题。LonMark是与Echelon公司无关的LonWorks用户标准化组织,按照LonMark规范设计的LonWorks产品,均可非常容易地集成在一起,用户不必为网络日后的维护和扩展费用担心。一、Lonworks技术概述及系统结构LON现场控制网络包括现场控制节点--这些节点可以是直接采用神经元芯片作为通信处理器和测控处理器,也可以是基于神经元芯片的HostBase节点、通信介质和通信协议。LonWorks技术是集成这样一个LON网络的完整的开发平台。LonWorks技术包括以下几个组成部分:•LonWorks节点和路由器•LonTalk协议•LonWorks收发器•LonWorks网络和节点开发工具1.LonWorks节点一个典型的现场控制节点主要包含以下几部分功能块:应用CPU、I/O处理单元、通信处理器、收发器和电源。以神经元芯片为核心的控制节点神经元芯片是一组复杂的VLSI器件,通过独具特色的硬件、固件相结合的技术,使一个神经元芯片几乎包含一个现场节点的大部分功能块--应用CPU、I/O处理单元、通信处理器。因此一个神经元芯片加上收发器便可构成一个典型的现场控制节点。采用MIP(MobilityInformationPlatform)结构的控制节点然而,神经元芯片毕竞是8位总线,目前只支持最高主频是l0MHz,因此它所能完成的功能也十分有限。对于一些复杂的控制,如带有PID算法的单回路、多回路的控制就显得力不从心。采用HostBase结构是解决这一矛盾的很好方法,将神经元芯片作为通信协处理器,用高级主机的资源来完成复杂的测控功能。2.路由器路由器在LonWorks技术中是一个主要的部分,这也是其他现场总线所不具备的,也正是由于路由器的使用,使LON总线突破传统的现场总线的限制——不受通信介质、通信距离、通信速率的限制。在LonWorks技术中,路由器包括以下几种:中继器、桥接器、路由器。3.网络管理在LON总线中,需要一个网络管理工具。当单个节点建成以后,节点之间需要互相通信,这就需要一个网络工具为网络上的节点分配逻辑地址,同时也需要将每个节点的网络变量和显示报文连接起来;一旦网络系统建成正常运行后,还需对其进行维护。对一个网络系统还需要有上位机能够随时了解该网络的所有节点网络变量和显示报文的变化情况。网络管理的主要功能有以下三个方面。(1)网络安装常规的现场控制网络系统,网络节点的连接通常采用直接互连,或者通过DIP开关来设定网络地址,而LON总线则通过动态分配网络地址,并通过网络变量和显示报文来进行设备间的通信。网络安装可通过ServicePin(神经元芯片的一引脚)按钮或手动的方式设定设备的地址,然后将网络变量互连起来,并可以设置报文四种方式:发送无响应、重复发送、应答和请求响应。(2)网络维护网络安装只是在系统开始时进行的,而系统维护则在系统运行的始终。系统维护主要包括维护和修理两方面。维护主要是在系统正常运行的状况下,增加删除设备以及改变网络变量显示报文的内部连接。网络修理是一个错误设备的检测和替换的过程。检测过程能够查出设备出错是由于应用层的问题(例如一个执行器由于马达出错而不能开闭),还是通信层的问题(例如设备脱离网络)。由于采用动态分配网络地址的方式,使替换出错设备非常容易,只需从数据库中提取旧设备的网络信息下载到新设备即可,而不必修改网络上的其他设备。(3)网络监控应用设备只能得到本地的网络信息,也即网络传送给它的数据。然而在许多大型的控制设备中,往往有一个设备需要查看网络所有设备的信息。例如,在过程控制中需要一个超级用户,可以统观系统和各个设备的运行情况。因此提供给用户一个系统级的检测和控制服务,用户可以在网上,甚至以远程的方式(如Internet)监控整个系统。通过节点、路由器和网络管理这三部分有机的结合就可以构成一个带有多介质、完整的网络系统。在一些资料中称LON不再是现场总线而是现场网络。4.LON总线性能特点拥有三个处理单元的神经元芯片(Neuron芯片):一个用于链路层的控制,一个用于网络层的控制,另一个用于用户的应用程序,还包含11个I/O口,这样在一个神经元芯片上就能完成网络和控制的功能;支持多种通信介质(双绞线、电力线、电源线、光纤、无线、红外等)和它们的互连;LonTalk是LON总线的通信协议,支持七层网络协议,提供了一个固化在神经元芯片的网络操作系统;提供给使用者一个完整的开发平台,这包含现场调试工具LonBuilder、协议分析、网络开发语言NeuronC等;由于支持面向对象的编程(网络变量NV),从而很容易实现网络的互操作。二、LON总线分散式通信控制处理器神经元芯片LonWorks技术的核心是神经元芯片。神经元芯片主要包含MC143150和MC143120两大系列。MC143150支持外部存储器,适合更为复杂的应用;而MC143120则不支持外部存储器,它本身带有ROM。神经元芯片的结构框图1.处理单元该芯片内部装有三个微处理器:MAC处理器、网络处理器和应用处理器。MAC处理器完成介质访问控制,即OSI七层协议的1和2层,包括碰撞回避算法。它和网络CPU间通过使用网络缓冲区达到数据的传递。网络处理器完成OSI的3~6层网络协议,它处理网络变量、地址、软件定时器、网络管理等进程。网络处理器使用网络缓冲区和MAC处理器进行通信,使用应用缓冲区和应用处理器进行通信。应用处理器完成用户的编程,其中包括用户程序对操作系统的服务调用。2.存储器MC143150存储器的分配包括:•512bytesEEPROM:网络配置和地址表,独一无二的48位神经元ID码,用户应用程序代码和一般只读的数据。•2048bytesRAM:堆栈段、应用程序和系统程序的数据区,LonTalk协议应用缓冲区和网络缓冲区。最多64kB存储器地址空间,但处理器提供外部存储器接口能够访问到的是59392bytes;而剩下的6114字节是作为系统内部映射。16384字节的外部存储器用于存储LON的操作系统。剩下的空间可作为用户编写的应用代码,以及应用程序所需要的额外读写数据区、应用缓冲区和网络缓冲区。在一个控制单元中需要有采集和控制的功能,为此在神经元芯片上特设置11个I/O口,这11个I/O口可根据不同的需求进行灵活配置,便于同外围设备进行接口。如可配置成RS232、并口、定时/计数I/O、位I/O等。神经元芯片有一个时间计数器具有完成Watchdog、多任务的调度、定时功能。神经元芯片支持节电方式,在这种节电方式下系统时钟和计数器关闭,但是状态信息,包括RAM中的信息不会改变,一旦I/O状态变化,或网线上信息有变,系统便会激活神经元芯片。它的内部还有一个最高1.25Mbps的独立于介质的收发器。由此可见在一个小小的神经元芯片中,不仅具有强大的通信功能,更集采集控制于一体。在某些情况下一个神经元芯片加上几个分离元件便可成为一个DCS系统中独立的控制单元。3.输入/输出神经元芯片和其他设备的互连是通过它的11个I/O口IO0~IO10。这些管脚可以根据不同外部设备I/O的要求,灵活地配置输入输出方式。IO4~IO7可以通过编程设置成上拉;IO0~IO3带有高电流(20mA)接收(highcurrentsink);IO0~IO10带有TTL标准的迟滞输入;IO0~IO7带有低电平检测锁存。神经元芯片带有两个片内定时/计数器。定时/计数器1称为多路选择定时/计数器,它的输入可通过一个多路选择开关,从IO4~IO7四个IO中选择一个,输出可连至IO0。定时/计数器2称为专用定时/计数器,它的输入是IO4,输出是IO1。每个定时/计数器包括:可以被CPU写入的16位装入寄存器;16位计数器;可以被CPU读出的16位的锁存器。IOIOIOIOIOIOIOIOIOIOIO神经元芯片的专用编程工具NeuronC提供I/O定义可以将11个I/O配置成不同的I/O对象;通过函数io_in()和io_out()对所定义的I/O进行输入输出操作。神经元芯片的11个I/O有34种预编程设置,可以有效地实现这11个I/O的测量计时和控制等功能。(4位半字节)4.通信端口神经元芯片可以支持多种通信介质。使用最为广泛的是双绞线,其次是电力线,其他包括:无线、红外、光纤、同轴电缆等。神经元芯片通信端口为适合不同的通信介质,可以将五个通信管脚配置三种不同的接口模式,以适合不同的编码方案和不同的波特率。这三种模式是:单端、差分和专用模式。单端模式单端模式是在LON总线中使用最广泛的一种模式,无线、红外、光纤和同轴电缆都使用该模式。图为单端模式的通信口配置。数据通信是通过单端输入输出管脚CP0和CP1。该模式还包含低有效的睡眠输出(CP3),它可以使当神经元芯片进入睡眠状态时收发器进入掉电状态。在单端模式下,数据编码和解码使用的是差分曼切斯特编码。在开始发送报文之前,神经元芯片发送端初始化输出数据(CP1)管脚为低,然后发出发送容许信号(CP2),这样确保数据发送的开始是从低到高。在正式发送报文之前,发送端发送一个同步头(preamble)以确保接收节点接收时钟同步。该同步头包括一个位同步域和字节同步域。位同步域是一串差分曼切斯特编码的“1”,位同步的长度是可变的以适应不同通信介质。字节同步域是1bit差分曼切斯特编码的“0”,表示同步头结束,开始正式报文的第一个字节。报文结束时,神经元芯片通信端口强制差分曼切斯持编码为一个线路空码(1ine-codeviolation),并保持到接收端确认发送的报文结束。线路空码根据发送数据的最后1bit高低状态,来保持线路在线路空码时为高电平或低电平。线路空码在CRC效验码的最后1bit开始,延时2bit的时间。作为选项,神经元芯片支持一个低有效的收发器碰撞检测信号。如果碰撞检测容许,在发送的过程中,神经元芯片侦测到CP4在一个系统时钟(200ns在10MHz的主频)为低,表示碰撞产生或正在发送,并通知神经元芯片,报文重发。如果神经元芯片不支持碰撞检测,唯一能够获得数据被可靠传输的是采用应答或请求/响应方式。当采用请求/响应方式或应答方式时,需要设置重发时间——表示数据从发送完到响应所需的最长时间(在1.25Mbps线路不包含路由器的情况,典型的是48ms~96ms)。如果在重发时间内没有收到响应或应答报文,报文将重新发送。在两次发送间隔,包含Beta1和Beta2两个时间片。Beta1是在两次发送的一个固定的网络空闲时间片。优先级时间片和非优先级时间片