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所定义的各种类型CONTROL ENGINEERING China版权所有,也可以是自定义类型,还可以规定优先级、响应方式等。网络变量被定义为输入或输出,当定义为输出的网络变量被赋予新值时,与该输出变量相连的输入网络变量就会被立刻赋予同样的新值。
另外,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协议优点的同时CONTROL ENGINEERING China版权所有,注意克服它在控制中的不足。目前存在的MAC协议(如IEEE 802.2、802.3、802.4、802.5)都不能在重负载下很好地保持网络高效率、支持大网络系统和多通信介质。
如果有很多网络节点等待网络空闲,一旦网络空闲,这些节点都会马上发送报文而产生碰撞。它们产生碰撞后会后退一段时间,假如这段时间相同,就会发生重复碰撞,这将使网络效率大大降低。在预测的P-坚持CSMA中,所有LonWorks节点等待随机时间片间隔访问介质, 这就避免了以上情况的发生。在LonWorks中,每个节点发送前随机插入1~16个很小的随机时间片。在空闲网络中CONTROL ENGINEERING China版权所有,