LonWorks是美国Echelon公司1992年推出的部分操作网络,开始首要用于楼宇自动化,但很快发展到工业现场网。LonWorks技能为规划和完结可互操作的操控网络供给了一套完好、敞开、制品化的处理途径。
一、LonWorks的神经元芯片
LonWorks技能的中心是神经元芯片(Neuron Chip)。该芯片内部装有3个微处理器:MAC处理器完结介质拜访操控;网络处理器完结OSI的3~6层网络协议;运用处理器完结用户现场操控运用。它们之间经过共用存储器传递数据。
在操控单元中需求收集和操控功用,为此,神经元芯片特设置11个I/O口。这些I/O口可依据需求不同来灵敏装备与外围设备的接口,如RS232、并口、守时/计数、距离处理、位I / O等。
神经元芯片还有一个时刻计数器,然后能完结Watchdog、多任务调度和守时功用。神经元芯片支撑节电办法,在节电办法下体系时钟和计数器封闭,但状况信息(包含RAM中的信息) 不会改动。一旦I/O状况改变或网线上信息有变,体系便会激活。其内部还有一个最高1.25 M bps、独立于介质的收发器。由此可见,一个小小的神经元芯片不只具有强壮的通讯功用, 更集收集、操控于一体。在抱负状况下,一个神经元芯片加上几个别离元件便可成为DCS体系中一个独立的操控单元。
二、完善的开发渠道
LonWorks供给的不只仅是一套高功能的神经元芯片,更重要的是,它供给了一套完好的开发渠道。工业现场中的通讯不只要将数据实时发送、接纳,更多的是数据的打包、拆包、流量处理、犯错处理。这使操控工程师不得不在数据通讯上投入许多精力。LonWorks在这方面供给了非常友爱的服务,供给了一套完好的建网东西——LonBuild。
首要,它供给了一套C言语的编译器,然后大大削减了开发时刻。在这个编译器中,供给了对11个I/O非常翔实的库函数。在通讯方面,它也提出了一个全新的概念——网络变量。经过网络变量,网络上的通讯只需将相关节点上的网络变量衔接一下即可。网络变量是运用程序界说的一个特别静态变量,可所以ANSI C所界说的各种类型,也可所以自界说类型,还能够规矩优先级、呼应办法等。网络变量被界说为输入或输出,当界说为输出的网络变量被赋予新值时,与该输出变量相连的输入网络变量就会被立刻赋予相同的新值。
别的,LonBuild还集成开发环境和编译于一体,具有C调试器,可在多个仿真器上调试运用程序,并具有网络协议剖析和通讯剖析的功用。
三、LonTalk:面向对象的网络通讯协议
LonTalk是LonWorks的通讯协议,固化在神经元芯片内。LonTalk部分操作网协议是为LonWo r ks中通讯所设的结构,支撑ISO安排拟定的OSI参阅模型的7层协议,并可使简略的操控信息在各种介质中非常可靠地传输。
LonTalk协议是直接面向对象的网络协议,详细完结即选用网络变量的办法。又因为硬件芯片的支撑,使它完结了实时性和接口的直观、简练等现场总线的运用要求。
1.LonTalk MAC的特征
介质拜访操控(MAC)子层是OSI参阅模型的数据链路层的一部分。现在在不同的网络中存在多种介质拜访操控协议,其中之一便是咱们了解的CSMA(载波信号多路侦听)。LonTalk正是运用该协议,但具有自己的特征。
CSMA协议要求一个节点在发送数据前侦听网络是否闲暇。一旦监测到线路闲暇后,不同的协议动作不同。这样在重负载的状况下,不同协议的履行成果不同。例如,Ethernet选用CSM A /CD协议,一旦检测到磕碰,选用躲避算法,这种办法在重负载时导致网络介质传输率变得极低。另一些CSMA协议运用时刻片规矩去拜访介质,使节点在约束的时刻片拜访介质,这样能够大大削减两个数据报产生磕碰的或许性。P-坚持CSMA和LonTalk的CSMA便是运用时刻片去拜访介质。
LonTalk协议运用一个改善的CSMA介质拜访操控协议,称为猜测的P-坚持CSMA。LonTa lk协议在保存CSMA协议长处的一起,留意战胜它在操控中的缺乏。现在存在的MAC协议(如IEEE 802.2、802.3、802.4、802.5)都不能在重负载下很好地坚持网络高功率、支撑大网络体系和多通讯介质。
如果有许多网络节点等候网络闲暇,一旦网络闲暇,这些节点都会立刻发送报文而产生磕碰。它们产生磕碰后会撤退一段时刻,假设这段时刻相同,就会产生重复磕碰,这将使网络功率大大下降。在猜测的P-坚持CSMA中,一切LonWorks节点等候随机时刻片距离拜访介质, 这就防止了以上状况的产生。在LonWorks中,每个节点发送前随机刺进1~16个很小的随机时刻片。在闲暇网络中,每个节点发送前均匀刺进8个随机时刻片。
在P-坚持CSMA中,当一个节点有信息需求发送时并不当即发送,而是等候一个概率为 P的随机时刻片。而LonTalk协议可依据网络负载动态调整P值。时刻片的添加经过一个N值,刺进的随机时刻片为N×16,这个N值的取值规模是1~63。LonTalk称N为网络积压的估量值,是对当时发送周期有多少个节点有报文需求发送的估量。LonTalk协议依据网络积压动态地调整介质拜访,答应网络在轻负载状况下用较短的时刻片,在重负载状况下用较长的呼应时刻片。
对照试验标明,36个LonWorks节点互联,选用一般P-坚持算法,当每秒要传输的报文达500 ~1000包时,磕碰率从10%上升到54%;而选用猜测的P-坚持算法,在500包以下时磕碰率与前者适当,在500~1000包时稳定在10%。
对一切令牌环网络,LonTalk具有对多介质的支撑,但这些介质有必要在总线上具有环的结构 ,令牌在这个环线上轮巡。这对运用电力线和无线电作为介质的网络明显不可行,因为网上一切节点简直能一起收到令牌。一起,令牌环网络还需添加令牌丢掉时的康复机制、令牌快速应对机制,这些都添加了硬件上的开支,使网络本钱添加。
对令牌总线网络,LonTalk在令牌中参加网络地址,然后在物理总线上树立一个逻辑环的结构,使令牌在这个逻辑环上轮巡。可是,在低速网络中令牌轮巡时刻变得很长。别的,令牌总线在有节点上网或下网时都会产生网络重构。在电池供电的体系中,会因常常休眠和唤醒而导致网络上下网时频频重构;在恶劣的环境中,常会产生令牌丢掉而导致网络重构。这些网络重构会大大下降网络的功率。一起,因为网络地址的约束,每个网络至多只要255个节点。
咱们常用的CSMA/CD(如Ethernet),在轻负载状况下具有很好的功能;在重负载状况下, 过多的磕碰使网络功率变得极低。
现在,在现场总线中还有一种非常盛行的网络——CANbus。它选用无主结构,这一点大大优于Bitbus。其MAC层上的办理很有特征。它也选用CSMA办法,但将网络上的节点分红不同的优先级,选用分配位(0)和躲避位(1)、以及总线回读的办法完结非破坏性总线裁定。即当两个节点一起向网络传递信息时,优先级低的节点自动中止发送,而优先级高的节点可不受影响地持续传输,这能够有效地防止总线磕碰。可是,这要求网络一定要同步,这对多介质的状况明显不适用。别的,对各节点不太需求优先级的网络,因为不得不界说一个优先级,因而当网络通讯较繁忙时,有些优先级低的节点或许很长时刻不能发送信息。因而,Canbus较合适介质单一、节点数目较少的小网络。
综上所述,Lon的MAC子层具有以下长处:支撑多介质的通讯,支撑低速率的网络,可在重负载状况下坚持网络功能,支撑大型网络。
2.LonTalk对优先级的支撑
在LonWorks网络中,为进步紧急事件的呼应时刻,供给了一个可选择的优先级机制。该机制答应用户为每个需求优先级的节点分配一个特定的优先级时刻片,并确保有且只要一个节点具有这样的优先级时刻片。在发送过程中,优先级数据报将在该时刻片内把数据报发送出去。优先级时刻片为0~127,0是不需等候当即发送,1是等候1个时刻片,2是等候2个时刻片 ,依此类推。低优先级的节点需等候较多的时刻片,而高优先级的节点需等候较少的时刻片 ,这个时刻片加在P-概率时刻片之前。非优先级的节点有必要等候优先级时刻片都完结后, 再等候P-概率时刻片后发送。因而,参加优先级的节点总比非优先级的节点有更快的呼应时刻。