摘要:文章以某污水厂集控系统为背景,介绍了基于组态软件Intouch的污水厂自动化系统监控软件的设计,较为详细地介绍了该监控软件中的监控界面、数据通信、数据存储与输出和报表系统等技术的设计与实现。实践证明该系统可以精确稳定地运行。
关键词:污水厂;监控软件;组态软件;Intouch
随着社会经济的发展,污水处理厂在环保行业中发挥的作用愈来愈大,而保证污水厂设备正常运行是其前提条件。因此,实现污水厂设备运行状态数据的实时监测和控制,是安全生产的重要保证。
本文以无锡市太湖污水厂为背景,采用组态软件Intouch开发了污水厂上位机监控软件,使监控上位机能够快速、准确、直观地显示现场设备的运行状态和数据。
1 系统硬件结构
该污水厂规模较大,分为一期和二期两个部分。一期建成投产的时间比较早,二期是后来增加的,设备较多且位置比较分散,各个站点之间的距离较远。不仅如此,一期由于建成投产时间较早且规模较小,所用的模块为西门子公司的S7-200 PLC控制模块。然而二期的规模较大,所控制的设备较多,底层控制模块采用了同一品牌的S7-300 PLC,为了将所有现场的设备集成在一个控制系统中,综合考虑,本文采用了如图1所示的硬件结构图。
图1 硬件结构图
该系统主要由底层PLC模块、光端机和交换机组成的以太网控制网络和由两台普通计算机及一台打印机组成的上位机监控网络,同时通过无线收发器与环保局监控计算机建立了链接,方便环保局对整个厂区关键设备的状态数据进行实时在线监控。底层控制模块选用西门子公司的S7-300 PLC和S7-200,上位机采用带普通网卡的计算机。整个工程共有10个PLC站点,各个站点分别与上位机进行通信,互不影响。
2 基于Intouch的监控软件的设计
2.1 Intouch简介
Intouch是美国Wonderware公司的FactorySuite2000的核心组件,是世界上第一个集成的、基于组件的MMI系统。它使用起来简单,网络功能强大,支持多种通信协议;具有良好的图像设计界面;支持SQL语言,可以方便地与其它数据库连接;它对核心代码执行了优化,运行效率高,并且有相当高的可靠性和稳定性[1]。Intouch9.5版本包括3个主要程序:Intouch应用程序管理器、WindowMaker和WindowViewer。
2.2 监控界面设计
WindowMaker提供了图像界面的设计环境和位图导入工具,图形功能非常强大。Intouch附带了Symbol Factory图片库,它提供上百种工业常用设备的逼真矢量图片,可在开发监控界面时使用。对于Symbol Factory图片库中没有的图片,可以将它原有的图片进行拆分,再组合成自己需要的图片,也可以借助第三方软件来绘制,如可以将PS生成的图片通过位图工具导入到Intouch窗口中。尤其是它提供的图形工具(线,面等等)可以帮助您构思任何画面。
整个系统的界面主要由监控主界面、操作界面、历史曲线界面和报表界面等组成。监控界面承担设备运行状态和数据显示,图2为二期生化池监控主界面。
图2 监控主界面
在监控界面中,可以实现以下功能:
(1)显示设备的运行状态及相关实时监测的数据;
(2)在远程控制模式下,点击相应设备的图形,弹出该设备的控制界面,进行相应的控制操作;
(3)可以快速切换控制画面。
2.3 数据通信
Intouch支持Microsoft动态数据交换(DDE)、FastDDE、NetDDE、Wonderware SuiteLink及OPC协议与其他Windows应用程序、Wonderware I/O服务器及第三方I/O服务器程序进行通信。
Intouch采用由3个部分组成的命名惯例来识别I/O服务器程序中的数据元素,这3个部分分别是应用程序名、主题名和项目名。Intouch通过添加访问名实现上述3个部分的指定。
2.3.1 Intouch与PLC通信
本文Intouch与PLC通信采用以太网通信协议,因为双方对以太网通信协议都有很好地支持。选择SIDirect DAServer软件作为上位机Intouch与现场PLC通信的桥梁。Intouch与S7 PLC通信示意图如图3所示。
图3 Intouch与S7 PLC通信
要实现Intouch与S7-200/300之间通讯,包括以下两个步骤:
(1)在SIDirect DAServer上设置好需要进行通信的PLC通信参数和站点名称,主要包括每个控制模块的IP地址和名称,其他参数取默认值,如图4所示。
图4 参数设置
(2)在Intouch中添加访问名,见图5。
图5 访问名设置
下面对图5做以下几点说明:
①访问名可以任意定义,但是为了便于记忆,一般和主题名一致;
②节点名为提供数据服务(即SIDirect DAServer所在的计算机)的计算机名或IP地址,如果和Intouch在同一台计算机,可以为空;
③应用程序名为SIDirect DAServer;
④主题名为在SIDirect DAServer中设置的PLC站点名称。
2.3.2 冗余设置
在本系统运行过程中,发现两台上位机中总有一台采集不到某些PLC站点的数据,但是网络是连通的。
经过分析,是因为这些站点的PLC模块在运行中不能被两台上位机的SIDirect DAServer同时访问,需要对两台上位机上的SIDirect DAServer进行冗余配置。
在图5中,在左下角选择复选框“启用辅助数据源”,弹出访问名冗余配置框,如图6所示。
图6 访问名冗余配置
分别在节点名下面框中输入两台上位机的名称或IP地址,完成了SIDirect DAServer冗余的配置。
2.4 数据存储和报表
将设备状态数据和生产数据实时保存对安全生产有着重要意义。Intouch本身没有自带数据库,但是它提供了底层的接口,开发者可借助第三方软件实现数据的存储功能。Intouch SQL访问管理器可用来与数据库进行交互,它支持在Oracle、Microsoft SQL Server及Microsoft Access中开发的数据库[2]。
本文选用Microsoft Access 2003数据库存储数据。Microsoft Access 2003安装在中控室的上位机上,Intouch向Microsoft Access 2003写数据的过程如下:
(1) 在上位机上配置与服务器Microsoft Access 2003的ODBC连接,同时在InTouch SQL访问管理器中建立一个绑定列表,并在绑定列表中建立标记名和数据库列的一一对应关系,如下图所示。
图7 绑定列表配置
(2) 在脚本中使用SQL 函数:
①连接数据库
Resultcode=SQLConnect(connectionID)
②断开数据库
Resultcode=SQLDisconnec(connectionID)
③写入数据库
Resultcode = SQLInsert(connectionID,"数据库中的表名","绑定列表名")
④SQL命令执行是否成功
IF Resultcode ==0 THEN
ErrorMsg = " 正常" ;
ELSE
ErrorMsg=SQLErrorMsg(Resultcode);
ENDIF;
(3)利用VB开发报表软件
利用VB的强大功能开发报表软件,然后将其嵌入到Intouch中,可以实时生成和打印报表,缩短了开发周期。图8为本系统报表截图。
图8 报表系统