学海荡舟手机网

主页 > 实用文摘 > 教育文摘_09 > > 详细内容

WorldFip-现场总线的又一颗新星_传感与控制论文

一、 概述

    worldfip现场总线组织成立于1987年。目前已有一百多个成员,其中许多是工控领域的世界著名大公司,如honeywell、西技来克(cegelec)、阿尔斯通(alstom)、施耐德(schneider)等。前期产品是fip(factory instrumentation protocol)。fip是法国标准,后来采纳了iec国际标准(61158-2)改名为worldfip。相应的欧州标准是en50170-3。不久前国内也成立了“worldfip技术推广中心”。我国引进的一些大型工程,如上海地铁、岭奥核电站、军粮城电厂等都可以看到这种现场总线。目前正在建造的世界上能量最高的大型强子对撞机已选定worldfip为工程标准总线之一。该加速器周长27公里,耗资数十亿美元,将于今年建成。笔者在参与该工程现场总线评估和应用过程中,对该总线的特点有所了解,简介如下。

    由于篇幅的限制,这里只介绍其有特色之处。网络管理、远程服务、远程下载、出错处理、广播方式、重新同步、应答方式等等与其它网络协议差不多的部分不在这里介绍。

二、 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、组成。

    综上所述,三层协议一共在有用两端增加了8个字节。当速率为1m时,帧与帧之间的间隔可设定在10~70μs之间。如果每个数据都是8字节,有用通量在200k~300 kbit/s之间。如果数据长度为128字节,有用通量可达800k bit/s。

    在1m速率下,如果扫描周期为10ms。假设5ms用于周期性同步和异步数据,5ms用于传送包,则5ms中可以扫描23个8字节变量或4个128字节变量。如果网上真的有250个用户站,每站有16个变量,即总共4000个变量,一半的时间留给消息包传输,则一次扫描约需要2秒。

四、 worldfip总线典型器件

    1、 用于总线仲裁器的典型ic是vlsi公司的fullfip2。这是一个84引脚的芯片,使用时需要外扩独享存储器(private memory)。有最多2m寻址空间,可主管最多4000个用户站,6万个以上变量。考虑到上述扫描周期不宜太长,用户站不可能这么多。

    该芯片可方便地与intel cpu或motorola 单片机接口。可设计成pc机内的一块总线仲裁卡,也可以方便地与motorola 16/32位单片机接口,例如mc68hc3xx、mc68hc16等。

    fullfip2与worldfip的连接是通过总线驱动器经变压器耦合实现的。

    fullfip2主要用于总线仲裁,也可用于用户站。fullfip2内部有近100个寄存器,编程时较为复杂。一些公司提供c语言的函数库用于总线仲裁器的编程与开发。

    2、 microfip是一种低价位、用于用户站的ic,也是vlsi产品。对于i/o端口≤16的用户站,microfip可独立工作(stand alone 方式)。用户事先定义的,网络故障时各输出端口应该输出的值、初值等参数可远程下载。这是一个100引脚的表面贴芯片。

    作为单片机接口芯片,它可以方便地与8051、68hc11/12/16等单片机接口,此时该用户站可处理16个变量(生产者或消费者)。由于片内有512字节的变量缓冲区,每个数据变量的大小可为n×8字节(0≤n≤7)。而最长的消息包可以大到256字节。

    3、 总线驱动与变压器。worldfip用的总线驱动器与其它总线驱动器的不同之处在于,除了实现曼彻斯特编码、解码功能之外,它还提供总线监听与看门狗功能,这为总线的热备份、总线冗余提供了方便,提高了总线的安全性。

    总线驱动芯片是一个28引脚的表面贴芯片。

    变压器用于驱动器与传输介质的隔离,驱动器与变压器之间应加上保护与抗干扰措施。

    符合worldfip协议的芯片还有一些,如fipiu2、fipcoi等。不在此详述。

五、 开发工具

    除一些公司提供用于fullfip2和microfip编程的c语言程序库以外,最值得一提的是worldfip协议分析器。其硬件是插在pc机内的一块卡。用于采集worldfip网线上的信号。软件名为fip watcher。在windows下运行。开发者给定触发条件以后,fip watcher在屏幕上显示数据包的内容和每个数据包之间的时间关系。这个工具硬件相当简单,而使用起来比示波器、逻辑分析仪都方便、直观,价格也便宜许多。

    另外,一些公司还提供开发散件,包括主要控制器芯片,驱动器芯片,变压器等。也有pc机上的演示板,用于总线仲裁器。或者一块pc 机上的卡,使某一pc机成为一个用户站。还有以microfip芯片加驱动、变压器耦合等三部分组成的评估板可供使用。该板可单独使用,也可以方便地与intel 8051或各种motorola 单片机接口。

六、 目前存在的一些问题和应用前景

    由于worldfip的发展经历了一个十余年的发展过程,而最终被国际上认可成为国际标准还是最近几年的事。各公司都声称支持worldfip现场总线协议,而不少公司使用的是他们自己设计的专用芯片。使用的类似标准有fip、fipio等等。如果全部使用某公司的产品,一般不会有什么问题。这些公司还提供上层的编程工具等。如果同时使用两家不同公司的产品,或将根据worldfip协议自行开发的设备连入从某公司购得的网络,则会出现数据格式不一致,不能接入的问题。

    在大型强子对撞机工程中,欧洲核子研究中心希望购买施耐德公司的plc,用于总线仲裁,而用户站则将根据需要自行开发,结果出现了上述问题。目前此类问题正在解决之中。

    由于worldfip现场总线依照工业控制系统的要求,不但严格定义了通信协议,也严格定义了符合工业标准的传输介质、接线盒、插头座等。在实时性、同步性、冗余性方面独具特色。速度更高的、以光纤为介质的高速网也不断推出。预计将来的几年中,在工控领域,worldfip总线将会得到越来越广泛的应用。