WorldFip-现场总线的又一颗新星
一、 概述
WorldFip现场总线组织成立于1987年。目前已有一百多个成员,其中许多是工控领域的世界著名大公司,如Honeywell、西技来克(Cegelec)、阿尔斯通(Alstom)、施耐德(Schneider)等。前期产品是Fip(Factory Instrumentation Protocol)。Fip是法国标准,后来采纳了IEC国际标准(61158-2)改名为WorldFip。相应的欧州标准是EN50170-3。不久前国内也成立了“WorldFip技术推广中心”。我国引进的一些大型工程,如上海地铁、岭奥核电站、军粮城电厂等都可以看到这种现场总线。目前正在建造的世界上能量最高的大型强子对撞机已选定WorldFip为工程标准总线之一。该加速器周长27公里,耗资数十亿美元,将于2004年建成。笔者在参与该工程现场总线评估和应用过程中,对该总线的特点有所了解,简介如下。
由于篇幅的限制,这里只介绍其有特色之处。网络管理、远程服务、远程下载、出错处理、广播方式、重新同步、应答方式等等与其它网络协议差不多的部分不在这里介绍。
二、 WorldFip的特点
WorldFip总线是面向工业控制的,其主要特点可归纳为实时性、同步性、可靠性。
WorldFip 目前使用的传输速率是31.5K,1M和2.5M。典型速率为1M bit/s。典型的传输介质是工业级屏蔽双绞线。对接线盒、9针D型插头座等都有严格的规定。每个网段最长为1公里。加中继器(Repeater)以后可扩展到5公里。
WorldFip与Internet类似,使用曼彻斯特码传输。但它是一种令牌网。网络由仲裁器和若干用户站组成。
WorldFip 使用信息生产者和消费者的概念,和通常意义上的输出量、输入量略有区别。每个生产者或消费者变量有一个IP地址。每个用户站可以有例如16个生产者/消费者变量。任何时候,生产者只能有一个,而消费者可以是1个或多个。
WorldFip的设计思想是,按一定的时序,为每个信息生产者分配一个固定的时段,通过总线仲裁器诸个呼叫每个生产者,如果该生产者已经上网,应在规定时间内应答。生产者提供必要的信息,同时提供一个状态字,说明这一信息是最新生产的,还是过去传送过的老信息。消费者接收到信息时,可根据状态字判断信息的价值。
WorldFip 将信息分为:周期性同步数据、周期性异步数据和非周期性消息包。同步数据严格地按确定的时序呼叫,接下去是周期性异步数据,用于对同步性要求不太高的数据传送。最后呼叫消息包。周期性同步数据、异步数据用于时序要求严格,数据包不大的信息(8~128字节),消息包指时序要求不严格,数据量大的信息,例如每包256字节。形象地比喻,网线可以看成一个流水的管道。一半(或1/3、2/3,由用户设计)流的是水,是不可压缩的。即周期性同步和异步数据。另一半可以看成是空的,留给非周期性消息包的传送。
网络仲裁器是整个网络通信的主宰者。网络仲裁器轮番呼叫每一个生产者变量。整个网线上总是有信号的。如果若干时间间隔内(例如几十毫秒)没有监听到网上的信号、则可以诊断为网络故障,此时可以自动将冗余热备份网线切换上去,也可以设计成各用户站回本质安全态。WorldFip 在网络安全性方面的考虑有其独到之处。在一个网络中可以有一个或多个网络仲裁器。在任意给定时刻,只有一个在起作用,其他处于热备份态,监听网络状态。而每个用户站的网络冗余则是通过一个控制器驱动两路驱动器,接入两个独立的网线实现的。当一个网线被破坏,自动切换到另一网线。
三、 WorldFip 协议
除用户层外,WorldFip使用以下三层通信协议:应用层、数据链路层、物理层。
用户层指有用的信息,一个变量(生产者或消费者),可以是8字节,也可以是16、32、48......乃至128字节。一则消息,则可以长至256字节。以下三层是在WorldFip网络控制器中自动实现的,不需要用户CPU干预。它相应于7层网络通信协议的1、2和7层。
应用层在用户层信息的前面加上两个字节的识别码(ID)。这两个字节第一个是变量类型即所谓PDU类型。第二个字节是数据长度。
数据链路层则在应用层基础上加上一头一尾。头上是一个字节的状态字,表示该信息是最近刷新的,还是重复以前的数据。尾上加两个字节,用于CRC校验。
到物理层,则在数据链路层基础上再加上头尾。头上加两个字节,一个是前同步字符,由10101010组成,第二个是帧开始分界符,由1、高电平、低电平、1、零、高电平、低电平、零组成。尾部加一个帧结束字节,由1、高电平、低电平、高电平、低电平、1、零、1、组成。
《WorldFip-现场总线的又一颗新星》