1 引言
在一个自动监控(Supervisory Control And Data Acquisition SCADA)系统中,投入运行的监控组态软件是系统的数据采集和处理中心、远程监控中心和数据转发中心。处于运行状态的监控组态软件与各种控制、检测设备如挂接在现场总线上的工控计算机、PLC、智能仪表、智能设备等共同构成快速响应控制中心。控制方案和算法一般在设备上组态并执行,也可在工控计算机上组态,然后在下装到设备中执行,根据设备的具体要求而定[1]。组态软件在SCADA系统中所处的位置如图1所示。
监控组态软件投入运行后,操作人员可以在其支持下完成以下各项任务:
(1) 查看生产现场的实时数据及流程画面,浏览各实时/历史趋势画面;
(2) 自动打印各种实时/历史生产报表;
(3) 及时得到各种过程报警和系统报警;
(4) 在需要时,人为干预生产过程,修改生产过程参数和状态;
(5) 与管理部门的计算机联网,为管理部门提供生产实时数据。
图1 监控组态软件在SCADA系统中所处的位置
现场总线作为开放的控制网络能实现现场设备间、现场设备与控制室间的信号通信[2]。开放通信是信息传输与共享的基础之一,而当现场信号传至监控计算机之后,如何实现计算机内部各程序之间的信息沟通与传递,即如何让现场信号与各应用程序连接起来,让现场信息出现在计算机的各应用平台上,依然存在一个连接标准与规范的问题。在多用户、多任务的计算机系统中实现程序间的数据交换比较方便,操作系统对这种操作是支持的。自从Windows及微机版UNIX、LINUX操作系统的面世后,出现了程序之间交换数据的技术、协议或标准,实现程序间的数据交换才比较容易。在工业PC机的自动化系统中被广泛采用的今天,让现场总线控制系统和人机界面软件能够有效充分地用PC机丰富强大的软件资源,是一项值得深入研究的课题。文章对有关技术问题结合工程实践作些讨论。
2 动态数据交换的基本概念
尽管工控组态软件的数据交换技术有了长足进步,在当前实际运用的现场总线控制系统组态软件中,对于DDE和OPC两种数据交换技术的具体运用-特别是在微机执行多任务条件下如何进一步提高组态软件与其他程序之间的数据交换实时性方面,仍然存在某些不足,值得进一步探讨和研究。其中,动态数据实时交换(DDE)技术在控制网络的集成中得到了实际应用。其原因:
(1) 这种方法实时性较好,可以采用标准的Windows技术;
(2) 作为连接控制网络与信息网络的通信处理机在硬件上比较容易实现。
当控制网络与信息网络有一共享工作站或通信处理机时,就可以通过动态数据交换技术实现控制网络中实时数据与信息网络中数据库数据的动态交换,从而实现控制网络与信息网络的集成。
DDE是进程间通信的方法。为了进行会话,DDE应用程序用3个基本的标志符(或字符串),即三层识别系统来区别其他DDE应用程序,他们分别是应用程序名(Application)、主题名(Topic)和项目名(Item)。每个DDE会话由应用程序名和主题名唯一定义,在DDE会话建立前由客户程序和服务器共同决定应用程序名和主题名,而由客户程序填写服务器的3个标志名。应用程序名位于层次机构的顶层,用于指出特定的DDE服务器应用程序名。主题名更深刻地定义了服务器应用程序会话的主题内容,服务器应用程序可支持一个或多个主题名[2]。
3 面向过程控制的动态参数数据交换程序设计
为方便讨论问题、现举例说明。根据某生产自动化改造工程要求,需要对系统进行组态监控操作平台设计,采用组态软件IFIX2.2和Windows应用软件VB6.0,开发并实现基于DDE机制的进程间数据交换,满足工业控制网SCADA工控计算机内部信息交换需要,为各应用程序通过共享内存交换信息,实现控制网络与信息网络的集成,并为进一步进行Windows程序间的数据交换开发提供有借鉴意义的参考[3]。控制网络与信息网络的主要集成技术如图2所示。
图2 控制网络与信息网络的主要集成技术
3.1 DDE信息交换的网络集成方法
通过共享存储器的DDE技术为实现控制网络与信息网络的集成提供了技术支持,有很强的实时性。工程设计以工控计算机IPC作为通信处理机,该IPC机同时也是2个网络的工作站,跨接控制网络和信息网络,在沟通2个网络中起桥梁作用。通信处理机IPC用DDE方法实现2个网络间各站点的通信,是整个集成网络的关键,它能实现以下功能:
(1) 搜集控制网络上各站点的实时数据信息,写入信息网络的数据库,以便信息网络用户浏览、查询;
(2) 将信息网络用户的控制信息及时下达至控制网络的指定工作站点。
基于通信处理机DDE信息交换的网络集成方法如图3所示。
图3 基于通信处理机DDE信息交换的网络集成方法
3.2 组态软件iFix与VB之间的DDE实现
现场总线控制系统采用Intellution公司开发的组态软件iFix2.2作为SCADA监控操作平台。iFix是一种工业自动化组态软件,它采用图形用户界面,提供了监控和数据采集功能,为操作人员和开发人员提供了良好的监控环境,可以实现对象自由组态及动态属性的在线配置、现场动态数据采集、数据处理、状态监控、报警、参数设置、报表生成、数据存储、接口等基本功能和网络管理功能。在各种操作系统上的版本共享相同的内核,允许在同一网络结构中运行建立在不同操作系统上的iFix版本。iFix包含大量图形工具,使用户能够快速地开发系统,而且它提供了强大的功能,包括实时过程的监视和监督控制、报警和报警管理、历史趋势,统计过程控制、基于用户的安全系统、方便的系统扩展、网络功能等
。而VB6.0是微软公司推出的一个流行且强大的快速开发工具,在开发SCADA系统时,利用DDE技术把两种工具有效的结合起来,更能发挥它们各自的优势,可以获取令人满意的结果。
系统分为监控子系统、数据采集子系统和数据交换子系统。以台湾磐仪工控机IPC1作为SCADA监控硬件平台。监控计算机通过挂在CC-Link总线上的远程I/O模块和数据采集模块,即采集子系统与现场的监控仪表相联系。采集子系统负责将现场各智能仪表采集的数据采集上来;监控系统通过DDE方式与采集子系统相联系,将现场的各种运行参数实时显示出来;监控系统根据需要给出控制命令,由采集子系统传达给挂在CC-Link总线上的CC-Link主控PLC,PLC负责现场各种设备的控制。数据交换子系统通过DDE方式与监控子系统系统交换数据,将现场实时信息经由控制网络传达到信息网络。某车间监控层过程实时数据流向如图4所示。
iFix软件提供了强有力的DDE客户和服务器支持。DDE客户支持允许把来自其他应用。程序的信息传递到iFix软件中,用于数据库和画面;服务器支持允许把iFix软件的过程信息传递到其他应用程序中去处理。
图4 VB作为服务器、iFix 作为客户的数据流向图
(1) DDE客户支持
iFix软件DDE客户支持允许读写DDE地址,利用DDE I/O驱动器和块配置的DDE地址,可以在过程数据库中插入来自其他应用程序、DDE驱动程序或另一个SCADA节点的数据信息。
数据库中的这些信息可以按照以下方式使用:在链中传送数据、对DDE数据进行报警和用DDE数据制作趋势曲线。
DDE客户