LONWORKS网络技术实用解说

供稿:南京海思自动化系统有限公司

  • 关键词:LonWorks,控制网络,自由拓扑,分布式控制,智能节点,开发工具,网络变量,LonTalk协议
  • 作者:Highsys
  • 摘要:LONWORKS网络技术在控制系统中引入了网络的概念,基于该技术,可以方便的构建分布式的网络控制系统,并使得系统更高效、更灵活、更易于维护和扩展。

一、概述

 LONWORKS网络技术在控制系统中引入了网络的概念,基于该技术,可以方便的构建分布式的网络控制系统,并使得系统更高效、更灵活、更易于维护和扩展。LonWorks网络技术具有以下特点:

1)开放性和互操作性:LonTalk协议是开放的,而且对任何用户都是对等的。LonTalk协议完整到任何制造商的产品都可以实现互操作。该技术提供的MIP(微处理器接口程序)软件允许开发各种低成本网关,方便了不同系统的互联,也使得系统具有高的可靠性。

2)通信媒介:可采用包括双绞线、电力线、无线、红外、光缆等多种介质进行通信,且多种介质可以在同一网络中混合使用。这一特性使得不同工业现场的不同设备实现互联,增强了网络的兼容性。

3)网络结构:能够使用所有现有的网络结构,如主从式、对等式以及客户/服务式(Client/Server)

4)网络拓扑:可以自由组合,支持总线型、星形、环型、自由拓扑型等网络拓扑形式。尤其是自由拓扑形式使得网络构建更为方便灵活。

5)分布式处理:网络上的每个节点都不依赖于其它设备独立地接收、发送和处理网络信息。这意味着LONWORKS控制网络上的每个节点都可以进行决策和信息处理,而不依赖于计算机、PLC或其它形式的中央处理器。由于个别设备的故障并不会影响网络中其它部分的工作,也使得LONWORKS控制网络更加可靠。而如果是PLC或中央处理器出现故障就造成控制网络的其它部分不能正常工作。

除上述特点外,LONWORKS控制网络在功能上就具备了网络的基本功能,它本身就是一个局域网,和LAN具有很好的互补性,又可方便的实现互联,易于实现更加强大的功能。LONWORKS以其独特的技术优势,将计算机技术、网络技术和控制技术融为一体,实现了测控和组网的统一,而其在此基础上开发出的LONWORKS/IP功能将进一步使得LONWORKS网络与以太网更为方便的互联。

2、LONTALK协议

2.1概述

LONWORKS技术所使用的通信协议称为LonTalk协议。LonTalk协议遵循由国际标准化组织(ISO)定义的开放系统互连(OSI)模型。它提供了OSI参考模型所定义的全部七层服务,支持灵活寻址。表2.1给出了对应七层OSI参考模型的LonTalk协议为每层提供的服务。

2.1 LonTalk协议层

OSI

目的

提供的服务

7 应用层

应用兼容性

LONMARK对象,配置特性标准网络变量类型,文件传输

6 表示层

数据翻译

网络变量,应用消息,外来帧传输,网络接口

5 会话层

远程操作

请求/响应,鉴别,网络服务

4 传输层

端端的可靠传输

应答消息,非应答消息,双重检查,通用排序

3 网络层

传输分组

点对点寻址,多点之间广播式寻址,路由消息

2 链路层

LLC子层

帧结构

帧结构,数据解码,CRC错误检查

MAC子层

介质访问

P-坚持CSMA,冲突避免,优先级,冲突检测

1 物理层

物理连接

介质,电气接口

2.2物理信道

LonTalk协议支持以不同通信介质分段的网络,它支持的介质包括双绞线、电力线、无线、红外、同轴电缆和光纤。每个LONWORKS节点都需要物理地连接到信道(Channel)上,信道是数据包的物理传输介质;LONWORKS网络由一个或多个信道组成。

不同信道通过路由器相互连接

由网桥或重复器连接的信道的集合称为段(Segment)。节点可以看见相同段上的其它节点发送的包。而智能路由器则根据设置决定是否将数据包继续向前传送。故可用来分离段中的网络交通,从而增加整个相同的容量和可靠性。

2.3 LonTalk协议的网络地址结构

LonTalk地址唯一地确定了LonTalk数据包的源节点和目的节点(可以是一个或几个节点),路由器也使用这些地址来选择如何在两个信道之间传送数据包。

另外,每一个Neuron芯片有一个独一无二的48ID地址,这个ID地址是在Neuron芯片出厂时由厂方规定的。一般只在网络安装和配置时使用,可作为产品的序列号。

2.4 通信服务

2.4.1消息服务类型

网络通过的通信服务要使网络同时实现高的有效性、快的响应时间、好的安全性以及高的可靠性是不可能的,实际网络提供的通信服务只能是在这几个方面折衷的结果。LonTalk协议提供了4种基本类型的报文服务:确认(Acknowledged)、请求/响应(Request/Response)、非确认重复(Unacknowledged Repeated)以及非确认(Unacknowledged)。使用确认服务是最可靠的,但是对于较大的组来说,却比非确认或非确认重复服务需要使用更大的网络带宽。具有优先级的数据包将能够保证这些数据包被及时的传送,但是却损害了其它较大的传送。对一个对象增加证实(Authenticated)服务虽然增加了安全性,但完成一个证实却比完成一个非证实事务所需的数据包数多了两倍。

2.4.2 冲突

LonTalk协议使用其独有的冲突避免算法,该算法具有在过载的情况下信道仍然能负载接近最大能力的通过量,而不是由于过多的冲突而使通过量降低。

LonTalk协议通过提供优先服务机制以改善对重要消息包的响应时间。协议允许用户在信道上分配优先级时隙(Priority time Slots),它专门用于具有优先级的节点。信道上的每个优先级时隙对每个消息的发出额外附加有一定的时间(最小为2比特时间),从而换取一定的带宽供信道上实现无竞争的优先访问。附加的时间值大小与比特速率、振荡器的精度以及收发器的需求有关。由于不存在竞争,配置优先级的节点相对于无优先级的节点的响应时间要好得多。优先级与冲突检测的结合将获得更优的响应时间。为每个节点分配优先级时隙的网络管理工具可以保证节点在信道上被赋予一个特定的优先级时隙。节点只能在分配给它的优先级时隙发送它的所有赋予优先级的消息包。

2.4.4证实

LonTalk协议支持消息的证实服务。它允许消息的接收者确定发送者是否有权发送该消息。

2.5 LonTalk MAC子层

LonTalk协议的MAC子层是OSI参考模型链路层的一部分。其所采用的算法是属于CSMA(载波监听多路访问)家族的。CSMA算法要求网络上的每一个节点在传送报文之前,必须先侦听信道,确认信道是空闲的。然而,一旦检测到信道的空闲状态,CSMA家族的每种算法的行为是不同的,按占用信道的方式,分以下三种:

1)非坚持CSMA:一旦侦听到信道空闲,立即发送;一旦发现信道忙,不再坚持侦听,延时一段时间后再侦听。缺点是不能将信道刚一变成空闲的时刻找出。

2l一坚持CSMA:侦听到信道闲,立即发送;侦听到信道忙,继续侦听,直至出现信道空闲。缺点是,若有两个或更多的节点同时在侦听信道,则发送的帧相互冲突,反而不利于吞吐量的提高。

3P一坚持CSMA:当侦听到信道闲时,就以概率P发送数据,而以概率(1-P)延迟一段时间(端到端的传播时延),重新侦听信道。缺点是,即使有几个节点要发送数据,因为P值小于1,信道仍然有可能处于空闲状态。

由以上可见,由于随机时隙数目的动态调整,实现了概率P值的动态调整。

2.6 链路层

LonTalk协议的链路层提供在子网内,链路层数据帧的帧顺序的无响应传输。它提供错误检测的能力,但不提供错误恢复能力,当一帧数据CRC校验错时,该帧被丢掉。

在直接互连模式下物理层和链路层接口的编码方案是曼彻斯特编码,在专用模式下根据不同的电气接口采用不同的编码方案。CRC校验码加在网络层协议数据单元的最后,CRC采用的多项式是X16+X12+X5+1(标准CCITT CRC-16编码)。

2.7 网络层

在网络层,LonTalk协议提供给用户一个简单的通信接口,定义了如何接收、发送、响应等,在网络管理上有网络地址分配、出错处理、网络认证、流量控制,路由器的机制也是在这一层实现的。

对于网络层协议数据单元地址格式,根据网络地址分为五种,图2.8为五种地址格式。在每一种地址格式源子网上,“0”意味着节点不知道其子网号。

2.8 传输层和会话层

LonTalk协议的核心部分是传输层和会话层。一个传输控制子层管理着报文执行的顺序、报文的二次检测。传输层是无连接的,它提供一对一节点、一对多节点的可靠传输。信息证实(Authentication)也是在这一层实现的。

会话层主要提供了请求/响应的机制,它通过节点的连接,来进行远程数据服务(Remote servers),因此使用该机制可以遥控实现远端节点的过程建立。LonTalk协议的网络功能虽然是在应用层来完成的,但实际上也是由提供会话层的请求/响应机制来完成的。

2.9 表示层和应用层

表示层和应用层提供五类服务。

网络变量的服务。当定义为输出的网络变量改变时,能自动地将网络变量的值变成应用层协议数据单元下传并发送,使所有把变量定义为输入的节点收到该网络变量的改变值。当收到信息时,能根据上传的应用层协议数据单元判断是否是网络变量,以及是哪一个网络变量并激活相应的处理进程。

显示报文服务。将报文的目的地址、报文服务方式、数据长度和数据组织成应用层数据单元下传发送,将发送结果上传并激活相应的发送结果处理进程。当收到信息时,能根据上传应用层协议数据单元判断是否显示报文,并能够根据报文代码激活相应的处理进程。

2.10 网络管理和网络诊断

LonTalk协议的网络管理和网络诊断提供了四类服务。

地址分配:分配所有节点的地址单元,包括域号、子网号、节点号以及所属的组名和组员号,Neuron ID是不能分配的。

节点查询:查询节点的工作状态以及一些网络的通信的错误统计,包括通信CRC检验错、通信超时等。

节点测试:发送一些测试命令来对节点进行测试。

设置配置路由器的配置表。

3 Neuron芯片

3. 1概述

LONWORKS技术的核心是Neuron芯片或称为神经元芯片。Neuron芯片内部固化了完整的LonTalk通信协议,确保节点间的可靠通信和互操作。

Neuron芯片在大多数LON节点中是一个独立的处理器。若需要使节点具备更强的信号处理能力或I/O通道,可采用其它处理器来处理并由Neuron芯片交换数据,此时Neuron芯片只完成通信功能。

3.2芯片的CPU结构

Neuron芯片内部有三个CPUMAC CPU、网络CPU和应用CPU。如图2.12所示。CPU-1MAC CPU,完成介质访问控制(Media access control),处理LonTalk协议的第1和第2层,包括驱动通信子系统硬件和执行算法。CPU -1CPU-2用共享存储区中的网络缓存进行通信,正确的对网上报文进行编解码。CPU-2是网络CPU,它实现LonTalk协议的第3到第6层,处理网络变量、寻址、事务处理、权限证实、背景诊断、软件计时器、网络管理和路由等。同时,它还控制网络通信端口,物理地发送和接收数据包。该处理器用共享存储区中的网络缓存区与CPU-1通信,用应用缓存区与CPU-3通信。CPU-3是应用CPU,它完成用户的编程,其中包括用户程序对操作系统的服务调用。

3.3 应用I/O对象

Neuron芯片通过11I/O口(IO0~IO10)与外部设备相连,称为应用I/O。应用I/O可配置选择使用34种不同的I/O对象,从而借助于最小的外接电路实现灵活的输入输出功能3.4 服务引脚(Service Pin

Service PinNeuron芯片中的一个非常重要的管脚,在节点的配置、安装和维护时均需使用。该管脚既能输入也能输出。输出时它通过一个低电平来点亮外部的LEDLED的不同点亮方式代表了不同Neuron芯片不同的工作状态。输入时,一个逻辑低电平使Neuron芯片传送一个包括该节点48bitNeuron ID的网络管理信息。

3.5 通信端口

Neuron芯片通信端口为5个管脚,为适合不同的通信介质可将5个管脚配置为3种不同的接口模式:单端(Single-ended)、差分(Differential)和专用模式(Special Purpose Mode)。对应于双绞线介质则采用差分模式,编码采用差分曼彻斯特编码。

Neuron芯片可支持多种通信介质。如双绞线、无线、红外、光纤、同轴电缆等。所支持的网络拓扑也各有不同。

在各种通信介质中,双绞线以其高的性能价格比而应用最为普遍。Echelon公司提供的FTT-10A双绞线变压器耦合收发器支持总线型和自由拓扑型拓扑。其抗干扰能力强,可承受持续时间为60s1000Vrms电压,采用总线拓扑的网络最长可达2000m,采用自由拓扑的网络最长可达500m,满足一般的工业应用,而且组网灵活。

4 Neuron C

Neuron C是以ANSI C为基础,专门为Neuron芯片设计的编程语言。其中加入了通信、事件调度、分布数据对象和I/O功能,是编写Neuron芯片应用程序的最为重要的工具。

4.1 网络变量

应用程序可以定义一个特殊的静态对象类——网络变量,它可以是整型、字符型或结构等类型。一个网络变量NV(Network Variable)是节点的一个对象,用于实现网络上节点之间的互连。它可被定义为输入也可被定义为输出网络变量每个节点最多可以定义62个(Neuron节点)到4096个(主机节点)网络变量。网络变量所产生报文的发送和接收不需要应用程序的干预,故又称为隐式报文(Implicit Message)。

4.2 显式报文(Explicit Message

由于网络变量的长度最多为31个字节,使得其应用受到限制,故此,Neuron C中又提供了显式报文这一数据类型。显式报文最长为228个字节。提供有请求/响应机制。某个节点发出请求消息能调动另一个节点做出相应的响应。从而实现远程过程调用。显式报文是实现节点之间交换信息的更为复杂的方法,编程人员必须在应用程序中生成、发送和接收显式报文。

节点使用报文标签(Message Tags)发送和接收报文。每个节点有一个默认的输入报文标签,同网络变量一样,必须在网络安装时建立输入和输出报文标签之间的绑定。

4.3 定时器

在一个应用程序最多可定义15个软件定时器对象,在这些定时器中可以分为两类:毫秒定时器和秒定时器。毫秒定时器提供一个计数范围为1~,<,/FONT>64,000ms的定时器,秒定时器则提供一个计数范围为165535s的定时器。这些软件定时器在网络CPU上运行,和Neuron芯片的硬件定时器是分离的。

4.4 调度程序

Neuron芯片的任务调度是由事件驱动的:当一个给定的条件判断为“TRUE”时,与该条件有关的代码体(任务)即执行。调度程序允许编程人员定义任务用以作为某类事件发生的结果,如输入管脚状态的改变、网络变量的更新、定时器的溢出等。这些事件可以定义优先级,以使一些重要事件能够优先得到响应。调度程序采用循环方式调度,如图2.15所示。

事件是通过When语句来定义的,一个when语句包含一个表达式,当表达式为“TRUE”时,则表达式后面的任务被执行。

Neuron C中定义了五类事件:系统级事件、输入输出事件、定时器事件、网络变量和显式报文事件、用户自定义事件。

5 LNS

LNS(LONWORKS Network Service)Echelon公司开发出来的LON网络操作系统。它提供了一个强大的Client/Server(客户/服务器)网络框架。使用LNS所提供的服务,可以保证从不同网络服务器上提供的网络管理工具可以一起执行网络安装、网络维护、网络监测;而众多的客户则可以同时申请这些服务器所提供的网络功能。

LNS包括三类设备:路由器设备(包括重复器、网桥、路由器和网关);应用节点;系统级设备(网络管理工具、系统分析、SCADA站和人机界面)。

6网络管理

LONWORKS网络中,需要一个网络管理工具,以用于网络的安装、维护和监控。Echelon公司提供了LonMaker for Windows软件用于实现这些功能。其他公司也类似产品来实现这些功能。LonMaker for Windows是基于Visio开发的,网络配置图是以Visio图的形式画出,各种对象都作了相应的定义。网络变量的连接关系表现为连线。

在节点建成以后,需经过分配逻辑地址、配置节点的属性、进行网络变量和显式报文的绑定后,网络方可运行;网络安装可通过Service Pin按钮或手动输入Neuron 芯片的物理ID来为节点注册,LonMaker会为每一个节点分配一个逻辑地址,并配置相应属性以及网络变量和显式报文的绑定信息。节点的安装可在在线或离线的情况下进行。在线的情况下,节点配置信息即时的通过网络写入节点;离线的情况下,节点配置信息只写入数据库,网络配置图的每次更新只更新数据库,而在网络在线后一次写入节点。

网络运行后,还需要进行维护。维护包括:系统正常运行情况下的增加删除设备以及改变网络变量的连接关系、故障状态下对错误设备的检测和替换的过程。

发布时间:2014年6月11日 14:10  人气:  
更多内容请访问(南京海思自动化系统有限公司
相关链接

我有需求