技术中心
 
 

INTOUCH工业控制组态软件动态数据交换

   日期:2006-01-21     作者:管理员    

    随着工业控制系统对用户操作界面越来越高的要求,要求采用性能更强的图形界面组态软件。世界上一些大型控制系统如集散控制系统,已开始使用通用性更强的组态软件作为其操作站标准软件。如日本山武株式会社在Harmonas协调自动化控制系统的操作站上使用了INTOUCH组态软件作为其过程开发软件,美国Honeywell公司在其R150集散控制系统的上位机中采用了FIX组态软件,当然他们必须定制适合于本系统的I/O部件驱动程序。Intouch是工业过程控制中广泛使用的组态软件,它是美国WONDERWARE公司的产品,曾连续多年被国际过程控制协会评为最佳软件。与Intellution公司公司的FIX组态软件,NI公司的LabVIEW 虚拟仪表平台是当前三大流行工控软件。这些软件都支持世界知名厂家的控制设备,INTOUCH提供了许多类型I/O设备驱动程序,并以适合于过程控制而著名。

    Intouch作为工业控制组态软件,提供了组态环境和运行环境。在组态环境下定制系统,进行数据库组态,画面组态,定义系统的数据采集和控制任务。在运行

环境中实施这些任务,并将数据实时传输给本站的其它任务和网上其它工作站。Intouch组态软件适合标准化的大型控制系统。之所以如此,是因为当我们在用Intouch软件的时候,往往没有适合于我们自己硬件设备的I/O驱动程序。然而Intouch组态软件提供了用户数据接口,使用这些接口,我们可以与Intouch交换信息,在用户程序中完成特殊任务,如通信和与硬件打交道。本文以某电站仿真系统为例,谈谈这些数据接口的使用。

    1、火电站仿真系统介绍

    1.1 系统组成结构
    电站机组仿真环境的建立是至关重要的。建立一个良好、实用、可靠、并且易为人们接受的仿真环境,是首先考虑的目标。其次,还要考虑系统的开放性、维护性、通用性以及今后持续发展性。在仿真环境的设计中,结合当前最新技术,选用当前主流开发平台,充分考虑用户的操作要求,对系统的维护和技术更新都会带来莫大的好处。

    整个电站机组仿真系统的组成结构如图1所示。

图1电站机组仿真系统的组成结构
图1 电站机组仿真系统的组成结构

    本系统主要由服务器(兼教员台)、学员台、仿真模型机组成,各台计算机通过局域网连接。系统的数据库采用分布式数据库,服务器上存放中心数据库,在其它计算机上存放本地数据库。服务器是仿真培训中心,它负责任务调度、启动、故障设置、培训评分等功能。锅炉、汽机、发电机、控制模型机,按相应设备的数学模型进行仿真计算,模拟设备的运行状态,并将实时计算信息写入分布式数据库中。学员台的任务是培训学员,学员在其上干预系统的运行,进行实时操作。

    1.2 系统开发环境
    操作系统选用微软公司的Windows NT。由于Windows NT是当前主流操作系统,用户易于接受,熟悉操作,同时NT的实时多任务处理内核适合于仿真系统。可实现的功能有:对实时数据库的管理;对模型算法库的管理;对I/O通讯模块的管理;对I/O数据库的管理;方便地建立和修改应用模型;多种手段在线控制;调试模型;教练员站主要控制仿真机实时运行等;任一台联网微机均可运行支撑系统的工作界面及图形化多窗口人机界面的仿真调试环境。

    1.3 软件开发平台
    作为一个完整的支撑实时仿真软件开发、调试和执行的软件工具,它有数据库管理系统、源程序生成程序、可视化的仿真建模程序编译系统、连接装入系统、实时调试系统、实时执行系统、实时控制系统和输入/输出管理程序等组成。本系统选用Visual C++6.0 ,采用面向对象编程技术,开发模型、通信和数据库程序,使用功能强大的MFC类库来封装对象,应用程序之间采用通信来交换信息[1]。DCS控制系统的模型生成采用自主开发的控制系统方案组态软件。

    1.4 人机交互界面支撑环境
    本系统的人机界面主要有两类,一类是在教员台上的教员设置界面,另一类是在学员台上提供的仿真DCS操作界面。教员台上的人机界面主要用于教员设置工况,观察仿真运行情况,并对运行结果进行分析评定。教员台界面相对比较简单,采用C++面向对象编程技术实现。学员台上选用Intouch7.0人机交互组态软件,作为操作界面的支撑环境。在Intouch环境下,仿真DCS操作站的界面,建立友好而有逼





真的人机交互界面,使用户能有身临其境的感觉。由于各电厂选用的DCS产品型号不同,这样在建立不同类型的学员台界面时,INTOUCH有着较好的可重用性和扩展能力。

    2、INTOUCH软件数据接口
    在仿真系统中,使用了Intouch组态软件,利用其方便丰富的图形组态功能,建立操作界面,实现用户与系统的接口。为了实现学员台与系统其它工作站的信息交换,必须开发Intouch接口程序,将系统信息传送给Intouch,同时接收Intouch的操作信息,转发给系统的其它各个工作站。

    Intouch软件提供了多种数据接口,这里我们仅谈谈其中的两种即:动态数据交换DDE接口和开放数据库连接ODBC-结构化查询语言SQL接口。各个接口使用时的驱动方式不同,根据系统数据交换类别的要求来选择使用。

    2.1 DDE接口
    Intouch组态软件支持DDE接口,提供DDE动态数据交换(DDEClient)模块用于与其它应用

软件之间进行实时数据和历史数据交换;通过DDEServer实现实时数据库与报表软件之间的数据交换。

    下面我们来讨论DDE。DDE是Windows环境下应用程序之间使用的数据交换协议。Windows提供DDE通信管理库函数,应用程序调用这些库函数,请求DDE通信服务。应用程序之间进行数据交换叫做“对话”,发起对话的一端叫做“客户”,而对客户做响应的一端叫做“服务器”。在我们的系统中,使用VC++编写后台程序TCApp,扮演服务器角色,能够实时接收仿真系统的信息,并将其发送到Intouch,Intouch扮演客户角色,接收仿真系统实时信息,并将Intouch界面上的人工操作信息传送给服务器。

    建立DDE对话的三大要素是:
    a.应用名(Applications)。DDE对话应用名,如TCApp。Windows的DDEML管理许多DDE对话,用应用名来区别。
    b.对话主题(Topics):服务器所支持的对话话题。一个DDE应用名下可以有多个对话话题,用于区别对话的类型。
    c.项目(Items):对话话题下的数据项名。

    服务器发送数据到客户:在数据库的组态中,定义输入数据点的类型和设备地址,驱动类型是DDE,这样当Intouch软件转入运行方式时,就会向DDEML申请服务,与服务器TCApp建立连接,一个DDE会话活动开始了。会话连接建立后,每当有数据变化,服务器TCApp就会将数据发送给客户。

    客户发送数据到服务器:在数据库的组态中,定义输出数据点的类型和设备地址,驱动类型是DDE,这样当Intouch软件转入运行方式时,就会向DDEML申请服务,与服务器TCApp建立连接。DDE会话活动开始后,每当有输出点数据有变化,Intouch就会将输出点数据的值发送给服务器。

    以上两种方式都是热链接(HotLink)。在Intouch程序中有一个DDEclientTask,我们可以用它来监视和管理DDE客户任务,查看是否有错误发生。还可以用它来改变与服务器TCApp的连接方式,建立一个冷链接,每隔一定时间向服务器发送一次数据请求。

    DDE数据交换的速度在点数很多时会受到限制。一般是每秒200个点的交换信息量,当点数很多又要求更快地交换信息时,会丢失信息,甚至会发生连接中断。此时,必须对故障进行恢复或重。

    2.2 ODBC的SQL接口
    ODBC(Open DataBase Connectivity)开放式数据库连接,是微软和其它公司共同建立的与不同类型数据库打交道的标准接口。目前,各种流行数据库都提供ODBC接口,支持用户对数据库的访问。也许每种ODBC驱动函数的内部实现细节不同,但对用户来说使用的函数接口却是相同的,这样极大方便了用户对数据库的访问。

    ODBC驱动程序Intouch软件提供的SQL模块,支持使用SQL语言调用ODBC数据接口,访问商业数据库。Intouch的SQL模块作为ODBC的应用客户,会发出ODBC调用给OD







BC驱动程序,ODBC驱动程序再把这个调用变成对具体数据库的特殊操作。Windows环境下有许多种类型的ODBC驱动程序,Access,Excel,SQL Server,FoxPro等,这些驱动是在这些软件安装时一起安装在Windows环境下的。如果你想通过ODBC访问Access数据库,则Access数据库的驱动程序必须首先安装。可以在控制面板的ODBC数据源管理中查看已安装的ODBC驱动程序。

    定义ODBC数据源在控制面板的ODBC数据源管理中定义一个数据服务名,与指定的数据库文件相关联,这样INTOUCH程序就可以使用这个数据服务名,对该数据库文件进行操作。例如我们有一个TCDB.mdb 的Access数据库文件,将其作为数据源进行定义,数据服务名定义为TCSERVER。

    组态SCU中SQL 为了将Intouch与指定的数据库连接起来,启动Intouch的组态任务SCU,选择组态菜单中的SQL项,弹出SQL配置对话框,将ACCESS类型的数据服务名为TCSERVER服务加入。这样,在Intouch的

数据库组态中,就可以对TCDB.mdb数据库文件进行读写了。

    下面的任务就是在Intouch应用的组态中,编排SQL要实现的工作了。Intouch软件中的ODBC服务是由SQL task(SQL任务)、SQT(SQL 触发模块)、SQD(SQL 数据块)三部分组成的。其中SQT定义了SQL命令和触发条件,SQD定义传送的点名和方向,而SQL Task则负责读取SQL命令并执行相应的操作。

    组态SQT和SQD为了保证SQL功能的正确执行,必须在SCU的任务组态中加载SQL任务。在Intouch数据库中定义SQT和SQD类型的数据块,SQT模块与SQD模块是一个链,SQT模块的后续模块是SQD模块。在SQT中定义的触发条件满足后,就会执行SQLLIB表中的SQL命令,将SQD模块中定义的Intouch 数据与外部数据库进行交换,从而实现了Intouch与商业数据库的信息交换。

    3、Intouch软件与本系统的数据交换
    在火电机组仿真系统中,为了实现仿真系统与工作站的Intouch软件信息交换,通过编写通信应用程序,对于小规模接口数据点,如多媒体站、软表盘站和就地站等,利用DDE接口即可实现信息与Intouch的交换;而对于数据量较大的工作站等,最好是利用Intouch的ODBC驱动SQL接口。事实证明,这种通信方式的利用是有效而合理的,能够很好地满足系统的信息交换要求。

    4、结束语
    Intouch组态软件是功能强大的工控软件,充分开发其数据接口,与用户应用程序有机地结合,实现优势互补,才能很好地满足工程实际的需要。从本系统的应用情况来看,Intouch软件的2个数据接口使用起来各有优势,DDE编程比较烦琐,实时性较好,但容量受到限制;而使用ODBC驱动的SQL接口,尽管容量不受限制,但实时性较差,只有灵活实用,才能更好地实现Intouch信息与工程应用程序间的数据交换。

    参考文献
    [1](美)Eugene Olafsen ,Kenn Scribner, K.David White 等,MFC Visual C++ 6 编程技术内幕,机械工业出版社,2000年2月
    [2] 张雨飞等工控组态软件FIX与变电站仿真系统地数据接口《工业控制计算机》2001年11月第11期

信息来源:中国工控信息网





 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢