关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > FF与PROFIBUS之间网关的实现与测试

FF与PROFIBUS之间网关的实现与测试

——
作者:吕勇 周侗 王天然 于海斌时间:2005-08-21来源:收藏
FF与PROFIBUS之间网关的实现与测试

吕勇 周侗 王天然 于海斌

本文引用地址:http://www.eepw.com.cn/article/7711.htm

一、概述

从上个世纪九十年代开始,不同领域现场总线技术竞争加剧,形成了当今不同总线标准并存的局面。由于不同总线技术共生存、同发展的现状,造成了在控制系统的构建过程中,很可能会出现在一个现场总线系统中需要实现跨总线的信息传递与共享的情况。因此,解决在不同种类现场总线协议间的互操作问题成了当务之急。网关就是解决这一问题的一个直接而重要的手段。

网关除了将其两侧所连接的不同总线之间的电气信号进行隔离和转换之外,还为这两种总线提供透明的数据传输服务,这些数据除了有现场控制数据之外,还包括组态数据和诊断数据。广义的网关甚至还应提供不同总线协议之间应用层服务的翻译功能,能彻底实现不同总线之间的互操作。本文以现场总线(FOUNDATION Fieldbus,简称FF)H1与PORFIBUS DP之间的网关为例,建立了网关模型,并对网关的测试提出了一些见解。

二、网关的原理与实现

网关为两个网段之间提供了透明的数据传输服务,能实现一个网段的设备可以通过网关读取另一个网段中的数据并完成控制计算的功能,即网关不仅提供了不同总线之间的信息资源的公享,同时也可以使不同总线之间的计算资源也得到公享。

1、协议简介

FF的体系结构采用了OSI七层模型中的物理层,数据链路层和应用层,并且在应用层之上增加了用户层。用户层由预先定义的标准功能块和用户自定义的柔性功能块(FlexibleFunction Block,简称FFB)构成。功能块(Function Block)是一个以数据结构为核心的软件逻辑处理单位,能完成一个独立而完整的控制功能。一个FF控制系统在逻辑上可以视为由若干个功能块组成。

一个典型的FF闭环控制系统结构如图1所示:设备1中的AI(Analog Input)功能块通过传感器对现场数据采样,然后由设备2中的PID(Proportional Integral Derivative)功能块根据设定值和设备1发送来的采样值进行控制计算,最后通过AO(Analog Output)功能块将控制量发送到执行器完成控制。FF系统中的执行顺序和总线传输由链路主设备(Link Active Scheduler,简称LAS)负责调度。LAS可以是一个计算机接口卡,也可以是一个现场设备。

PROFIBUS从体系结构上可分为FMS、DP和PA三种类型。FMS用于车间级的数据通信,DP型和PA型适用于现场级的数据传输,其中,PA型设备主要应用于有特殊要求的场合。从系统行为上,PROFIBUS可分为DP主站(一类,二类)、DP(PA)从站、FMS主站和FMS从站这几种。DP主站(一类)根据用户定义好的算法控制若干个DP从站,并负责与DP主站(二类)进行通讯;DP主站(二类)是一个管理设备,可以支持复杂的DP系统的管理与诊断;DP (PA)从站是一个I/O设备,负责与现场进行信息交换;FMS主站和从站主要进行大批量的数据传输,完成较复杂的通讯任务。

典型的PROFIBUS闭环控制系统可如图2所示:DP从站1将现场采样数据发送到DP主站,并在DP主站完成控制计算,然后由DP从站2将控制量发送到执行器完成闭环控制。整个通讯过程由DP主站进行调度,因此PROFIBUS是属于分布式基础上的集中控制模式。

2、网关结构

FF H1/PROFIBUS DP网关(以下简称网关)由FF H1设备模块、PROFIBUS DP设备模块和数据交换管理模块这三部分组成,其拓扑结构如图3所示。

FF H1设备模块包含一个完整的FF逻辑设备,即具有由FF的物理层、通信协议栈和功能块组成的用户应用层,它负责与FF H1网段上的其他FF总线设备进行通信,使网关在FF H1网段上映射为一个FF总线设备。

PROFIBUS DP设备模块由基于西门子公司的协议芯片SPC3之上开发的应用程序和相应硬件电路组成,它可以与PROFIBUS DP网段上其他设备进行数据交换,将网关映射成为PROFIBUS DP网段上的一个DP从站。

数据交换管理模块管理两个模块之间的数据通道,主要负责两网段间通信数据的映射、流量控制、两种协议报文的转换等工作,是网关的核心部分。

3、网关工作原理

当需要进行跨网段的信息访问时,需要对FF设备和DP设备进行适当的组态。在组态过程中,网关的数据管理模块根据用户配置的组态信息建立一个反映两网段中欲交换数据关系的映射表 (DataMapTable),从而保证数据的正确传输。

下面以FF设备从DP从站中读取现场数据完成闭环控制为例来说明网关的工作原理。此时的控制结构如图4所示:网关中的FF设备模块映射成为FF H1总线上的一个设备,其中包含一个AI功能块。

具体是实现过程是:DP从站1从传感器读取现场数据,并将得到的数据发送到DP一类主站。然后,DP主站直接将采样数据发送到网关,网关中的DP模块获得数据之后,就通知数据管理模块来读取数据。数据管理模块根据DataMapTable中的映射关系将数据放到相应的数据缓冲区,等待FF设备将数据取走。

FF设备中的AI功能块得到调度后,就到数据缓冲区读取数据。根据数据在缓冲区的位置不同就可以知道所读取的数据所对应的功能块输入端,然后根据FF系统中的组态信息将数据发送到FF设备1中的PID功能块进行控制计算得到控制量,并由AO功能块将控制量发送到执行器完成闭环控制。

在对两个网段进行组态的时候,应该注意调度周期的匹配。如果DP从站1采集数据的频率比FF功能块读取数据的频率高,会由于数据的覆盖而造成数据丢失;相反如果DP从站1采集数据的频率比FF功能块读取数据的频率低,则有可能造成FF设备对同一数据的重复读取。

当然,网关也可以进行反向的数据交换,即DP从站从FF设备中读取现场数据并在DP主站中完成控制计算。此时的控制结构与图4相似,只不过由FF设备1中的AI功能块对传感器进行采样,由DP从站1将控制量发送到执行器完成控制,且网关中的FF设备模块包含的是一个AO功能块。

三、网关的测试

由于两种总线的速度、设备调度机制及链路时间的计算有很大的差异,因此有必要对网关进行全面的测试,以排除网关使用中的隐患。

网关作为两种设备的集合体,在不同的总线网段上分别表现为FF H1设备和PROFIBUS DP从站,而对于单独的FF设备或DP设备而言,可以分别由各自的互操作测试系统来检验其互操作性。因此,网关测试的重点就在于对数据交换管理模块的测试。

数据交换管理模块最重要的一个任务就是根据组态信息通过建立交换数据的映射表(DataMapTable )来正确指导总线间的数据交换,因此,首先测试DataMapTable的正确性。为此,进行如图5所示的组态,令FF设备中的8个AI功能块在每个控制周期内分别从8个DP从站中读取一个数据,目的是让网关在最大的数据吞吐量下,检测数据映射关系的正确性。通过监控软件读取8个AI功能块的输入,并与8个DP从站的数据进行对比,从而判断各个AI功能块与DP从站的对应关系是否正确。

数据交换管理模块还负责对数据的有效性进行检查,避免读取到失效的数据而对控制产生影响。为了测试这一功能,在上述测试过程中,可以人为的将一个或多个DP从站设置为Offline状态,即不为AI提供数据,使得数据管理模块中与之相应的数据得不到更新。经过一段时间(时长可由用户设定)后,数据管理模块应该将没有得到更新的数据状态设置为Bad以提示当前数据不可用。当DP从站重新运行并提供数据后,数据管理模块应该刷新该数据,并将数据状态设置为Good,指示数据有效。

对于从FF H1网段向DP网段的数据传输测试也采用类似的测试结构,只不过在每个控制周期内是用FF的8个AO功能块分别向8个DP从站传递一个数据来测试数据映射关系。同样,也用相同的方法对数据有效性的监控进行测试。

四、结束语

目前实现的FF H1/PROFIBUS DP网关还存在一定的不足,有待进一步改进,例如不能发送报警事件等。另一方面,网关的测试在很大程度上都是由人工来进行分析和判定,无法做到自动测试,难以对大量数据流进行分析测试。

利用网关能够兼容差异较大的总线协议的特性,解决了两种总线之间点对点的互连与互操作的问题。在安装新的现场总线设备时,可以利用网关和原有的总线设备连接,在在不影响原系统工作的情况下,充分利用了已有资源,减少了投资。

参考文献
[1] Function Block Application Process Part1-4, Foundation Specification[z]. Austin, Texas,1997.
[2] PROFIBUS Specification EN50 170, Version 1.0, PROFIBUS International[z]. Karlsruhe, Germany, 1998.
[3] SPC3 Siemens PROFIBUS Controller User Description, Version 1.5[z], Siemens AG, 1996.
[4] 何巧丽,胡正国,吴健.现场总线中多总线兼容技术[J]. 计算机应用, 2002, Vol.22(7): 78-80.


评论


相关推荐

技术专区

关闭