摘要:通过分析工业控制系统中现场设备集成与系统集成的现状,研究了fdt技术特点,提出了fdt技术应用到nt6000分散控制系统的多总线集成方案,并将eddl融合到fdt中开发通用设备dtm,实现了对现场设备的组态、诊断等统一管理。
关键字:现场总线;设备集成;fdt/dtm;eddl;nt6000
1 引言在过程自动化中,控制系统通常由不同厂商提供的总线设备组成,这些设备与现场总线相连,不同厂商的设备之间不可互操作,且存在多种总线并存的情况。虽然设备厂商提供专有的配置管理工具对现场设备进行参数等的配置,但工程人员不得不熟悉多种应用工具和考虑不同的总线通信等问题,使得配置工作变得复杂且费时。另外,现场设备集成过程中的设备互操作、版本管理和平台兼容性等问题,也给工业控制系统的集成带来极大的不便,因此市场上迫切需要一种统一的操作平台来获取设备的丰富信息,实现对不同厂商的现场设备的集成配置、标定、调试和故障诊断,从而维持工业控制的一致性和设备互操作的便利性。
目前主要的设备集成技术有opc(ole for process control)、eddl(electronic device description language)、fdt(field devicetool)等。fdt是基于软件组件的开发思想和基于c/s的架构实现设备集成,与其它集成技术相比,fdt对多总线网络和设备的支持有其特别之处,它在软件组件和硬件组件的联合中引用了“即插即用”的原理,使用了嵌套通信和网络拓扑等技术。但是fdt在集成时也存在一些困难,例如某些设备厂商只提供edd文件,没有dtm组件。
本文针对上述情况,将fdt技术应用到nt6000分散控制系统(dcs),提出了一种基于fdt技术的多总线集成管理方案,并将eddl融合到fdt中开发通用设备dtm,实现对现场设备的组态、诊断等管理。
2 fdt技术简介fdt是现场设备与控制系统或资产管理工具之间进行数据交换的一种标准化的接口规范。fdt技术包括三个要素:框架应用程序(frame application),设备dtm(device tool manager)以及通讯dtm[1]。①框架应用程序提供dtm的实时运行环境,通过fdt接口与dtm进行通信,它可以是现场设备的参数设置和组态工具、工程工具或资产管理工具,且对所有通信协议都是开放的。②设备dtm是描述现场设备的软件组件,通常由设备制造商随同设备一起提供。每个dtm对应一个设备,它包含了设备的所有数据、功能和执行规则,如设备结构、设备通信能力、内部相互依赖关系以及人机接口结构,并提供获取设备参数、配置、操作、问题诊断等功能。③通信dtm,提供一个标准化的通信应用进程接口(api),以连接设备供应商的dtm和主机系统的特定驱动器,处理pc机到现场网络接口卡的通信。
3 基于fdt的设备管理系统的设计3.1 总体设计nt6000系统是由南京科远公司自主研发的分散控制系统,以e-bus(冗余i/o总线)为基础,同时可以支持hart、modbus、profibus等多种现场总线协议。为满足nt6000系统设备生命周期管理(工程、调试、运行、维护和高级诊断阶段)的需要,将fdt技术应用到nt6000系统中,设计了基于fdt框架的智能设备管理系统(syncams),系统结构如图1所示。
图1syncams智能设备管理系统总体结构
系统结构主要分为三层:1)设备层,nt6000系统的控制单元和现场总线设备。控制单元是nt6000系统的控制器和io模件;现场设备由多总线协议的设备组成。2)工厂车间层,包括工程师站、syncams服务器、数据服务器和syncams客户端。他们之间通过e-net冗余网络相连,并且连接到dpu控制器。syncams通讯服务器一般绑定安装在nt6000系统网络上,与控制器有着直接的物理通信链路,通常情况下直接安装于现场工程师站;负责与现场设备之间数据交互,以及与数据服务器的交互。数据服务器储存与设备仪表相关的数据和运行操作记录。syncams客户端是对设备仪表的应用操作。3)企业管理层,即sis/mis应用系统,通过opc client连接opc server,从而访问数据。
设备管理的工作流程:客户端解析用户的业务要求(dtm用户界面组件调用),由工业以太网和接口机以请求/响应命令传递给syncams服务器,服务器调制解调上位机命令(dtm业务逻辑组件调用),将命令由e-bus总线发送到控制器和i/o模件,再经过现场总线到现场设备。现场设备收到上位机的命令后,通过自身的智能处理将响应信息返回并送入数据服务器的数据库。
3.2 功能模块syncams系统通过接口进行数据交互和数据共享,所有的数据存储在数据缓冲区和数据库中,上层的应用操作直接从数据库管理模块获取数据进行集中显示和操作。其功能结构设计如图2所示,主要分为数据采集模块、数据库管理模块和应用模块。
图2系统功能结构图
(1) 数据采集模块:完成与现场设备的通信任务,包括通讯dtm和网关dtm,运行dtm的业务逻辑模块,采集设备相关数据,并存放到数据缓冲区或数据库中。通讯dtm主要调用nt6000系统接口实现与dpu控制器通讯,采用冗余通讯策略,当主用设备的链路故障时,自动采集备用设备的数据。由于现场总线设备由多种总线连接到网关模件,故网关dtm在通讯时需要做多总线协议的转换,将设备dtm中的hart、profibus、modus协议的数据统一转换为hart协议格式的数据,再传递给通讯dtm实现与dpu控制器的e-bus通讯,如图3所示。
图3网关dtm嵌套数据通讯
dtm的每个通信请求被包装为job形式传送,使用jobhandler对象创建和执行这些jobs(上线、离线、传输、扫描)。
(2) 数据库管理模块:负责记录设备的通信数据(组态参数、诊断状态、过程监控数据等),以及用户的操作配置记录,为其他应用模块实现数据的共享访问。fdt框架程序通过dtm接口(如图4)idtmonlinedisgnosis、idtmdiagnosis实现了对设备诊断功能,通过接口idtmsingledataaccess实现对设备特定参数及其数据类型、值、状态信息以及语义信息的获取,通过ifdtbulkdata接口实现dtm数据的存储。
图4 dtm接口
数据库管理模块还提供数据缓存服务和opc服务接口。数据缓存服务为其它客户端提供数据源,当多个客户端并发通讯时,对同一设备同一命令的数据可以直接从缓存区中取数据,以减少通讯负荷。opc服务接口为sis/mis应用系统的数据共享和通讯提供接口。
(3) 应用模块:主要是fdt框架自身工程管理和调用dtm用户界面组件,分为以下几个部分:
① dtm库管理:从注册表中扫描dtm组件,并保存到工程数据库中;
② 网络拓扑:组建nt6000系统包含的控制单元和现场设备的网络结构;
③ 日志追踪:记录对设备所做的操作,并根据信息种类和操作的进行分类管理显示;
④ 参数配置:设备参数化,从设备上传参数到应用软件,或将设定参数下载到设备;
⑤ 设备标定:检测设备准确度,确定设备的静态特性指标,消除系统误差;
⑥ 过程监控:对设备某些重要参数进行实时监控,分析其运行状态,比如曲线绘制;
⑦ 设备诊断:检测设备的故障状态,并给出故障提示。
3.3 eddl与fdt的结合eddl是一种不依赖于系统平台的基于ascii格式的电子设备描述语言,定义了现场总线设备的变量、结构和功能,它由edd文件和edd解释程序组成[3]。在fdt技术中,用户通过fdt框架程序访问dtm,从而实现对现场设备的组态、诊断等任务,但现场设备种类多,而且有些厂商只提供了edd文件,没有dtm组件,这为系统集成带来了困难。如果在dtm中实现一个访问设备描述文件的接口,并嵌入edd解释程序,通过edd解释程序解释现场设备的edd文件,以实现对现场设备的配置、标定和诊断(如图5)。
图5通用dtm结构
通用dtm的业务逻辑模块在idtmbasecallback回调时调用edd解释器读取edd文件,并生成fdt识别的xml格式的设备描述文件;用户界面模块在页面布局时读取xml设备描述文件,根据xml数据,动态生成在线参数、离线参数、观测、诊断和标定等页面,以对设备进行监测管理,进一步达到控制设备的目的。
4 基于fdt的设备管理系统的实现本系统使用了德国m&m公司的fdtcontainer component和dtmmanager组件开发包结合vs2010集成开发环境开发了syncams框架程序和dtm组件(通讯dtm、dpu网关dtm、模件网关dtm和通用设备dtm)。
框架程序以开发包的runtimeframe核心组件为基础,扩展开发了db adapter2.0模块、event log recorder模块、fdt visual controls模块、help doc模块和主程序。
(1) db adapter2.0模块是数据服务模块,实现了idbadapter2接口,提供访问持久化数据,如dtm组件、dtm目录、工程、网络拓扑等读写操作;
(2) event log recorder模块实现了ilogeventlistener回调接口,可以捕捉runtimeframe核心模块产生的事件信息和错误日志;
(3) fdt visual controls模块是gui控件和类的集合,主要有dtm目录控件、网络视图控件、工程视图控件、dtm功能菜单控件、activex窗口等;
(4) help doc模块用于显示各个功能块的操作帮助,便于用户理解和使用。
(5) 主程序整合了以上几种程序集模块,拥有标准的菜单栏、工具栏、导航栏、文档区、数据栏、状态栏等组织结构,并借助通用的界面停靠控件weifenluo.winformsui.docking实现了丰富的停靠效果,主界面如图6所示。
图6syncams客户端框架
dtm组件开发包提供了dtm project向导和dtm gui project向导,一个完整的dtm组件需要由这两个工程生成的dll文件合并而成,前者是dtm的业务逻辑,后者表示dtm的界面操作。cdtmbase类是dtm开发的基础服务类,所有fdt functions由该类委托实现,通过idtmnotification和icontainerservices的c++接口提供访问框架应用程序的方法;声明了idtmbasecallback接口的回调函数,开发时需要重写这些回调函数,以完成相应的调用功能。而gui工程,以cdemoview类为该atl组件的核心类,该类继承了fdt100.dll的接口ipersiststreaminitimpl、ipersiststorageimpl和类cfdtactiveximpl,并实现了updateui接口刷新用户界面。
5 结束语本文将fdt技术应用到nt6000系统中设计了多总线集成的现场设备管理系统,对系统进行了总体设计和功能模块划分,并结合eddl技术开发了通用dtm。系统使用了罗斯蒙特hart压力变送器、川仪hart执行机构、西门子profibus压力变送器、abb-profibus压力变送器、modbus设备等多种总线设备进行测试,该系统拥有良好的开放体系结构、互操作性和较强的故障诊断能力,解决了工业控制系统多总线并存、设备互操作和统一管理问题,提高了设备运行的可靠性、利用率及寿命,同时又能降低了设备的维护和运行费用。
随着总线设备日趋完善化、复杂化和自动化,现代化的设备管理与维护技术将会得到迅速发展和广泛应用,而工厂管理层也将会越来越重视维护和运行费用。可以断言,在今后相当长的时间内,该技术应用将逐渐得以普及,并发挥重要的作用。
参考文献(references):[1] 蔡忠勇. fdt/dtm 技术——工业网络技术新的制高点[j].仪器仪表标准化与计量.2007,(4):19-23.
[2] 华镕. fdt2.0的功能(1)[j].中国仪器仪表,2013(12):61-65.
[3] 包伟华,陆妹.eddl 和fdt 技术的研究及实现[j].仪器仪表标准化与计量,2010,( 1) : 42-45.