PLC综合监控系统在大型洗煤厂中的应用

时间:2022-05-10 01:31:15

PLC综合监控系统在大型洗煤厂中的应用

摘 要:本文介绍了PLC综合监控系统的结构及组成部分,并通过宁东洗煤厂系统的成功上线,体现出了结合现代互联网技术实现的多点、跨地域的PLC监控系统的巨大优势。此种监控方式将对国内其它大型煤炭洗选中心提供了可供借鉴的经验。最后通过系统建立、数据连接方面探讨了该系统的改革思路,并给出一些建议。

关键词:PLC、人机界面监控、历史数据存储

中图分类号: P618.11文献标识码:A 文章编号:

1 概 述

神华宁夏煤业集团有限责任公司宁东洗煤厂成立于2009年初,位于灵武市宁东镇中心区。目前下辖十个洗煤分厂,距离洗煤厂距离均在5KM以上,最远达到60KM。各个分厂均有一套自己独立的PLC自动化控制系统,可以实现设备的起停车控制。然而对于总厂调度室及管理者,则缺少一套统一的系统进行所有分厂设备及生产情况的实时监控。

为了弥补这一不足,我厂结合神华宁煤集团现有的骨干网络状况,采用ROCKWELL的全套设备自动化监控软件,成功实现了所有分厂设备信号的采集、控制、处理、存储统一管理。并通过专用的自动化数据库,进行PLC信号的历史数据分析,实现统计和汇总的功能。

2 系统组成

系统网络结构是基于TCP/IP协议,物理网络采用星形结构,以总厂辐射下面所有洗煤分厂(见图一)。整个生产监控系统共分为三个核心部分:现场OPC通讯、人机界面监控、历史数据存储。

图一系统结构图

2.1 OPC通讯

宁东洗煤厂下属各分厂的自动化控制系统的PLC型号、组态方式等各不相同。因此,整个系统的首要任务就是将分厂PLC信号通过企业局域网上传到总厂调度室机房。

1996年由OPC基金会提出了工业控制软件接口标准0PC,0PC是0LE for Process Control的缩写,即把OLE应用于过程控制领域。OPC建立于OLE规范之上,它为过程控制领域提供了一种标准的数据访问机制。OPC是基于Microsoft公司的COM/DCOM连接技术的新一代工业自动化控制软件部件,为基于客户机/服务器结构体系的工业自动化过程控制设备和系统与工业控制人机界面软件之间的数据信息交换提供了标准接口,目前OPC已被确定为全球事实性的工业标准,它为硬件厂商和应用软件开发者提供了一套标准的接口。

为了实现整套系统的数据通讯,首先在各分厂机房设置一台双网卡工控机,其中的网卡一对应分厂的PLC网段VLan1,并在在OPC软件中,逐一添加所属PLC CPU。网卡二对应企业办公网络Vlan2,同时将OPC软件与人机界面监控软件、数据库软件的通讯进行连接。双网卡配置的优点是可以避免因为办公网段Vlan2的广播风暴影响分厂设备层网络的正常工作。

2.2 人机界面监控软件的设计

上位管理计算机系统中采用了美国Rockwell公司的FactoryTalk ViewSE中文实时工业组态软件包。FactoryTalk ViewSE是一套综合的基于组件的人机界面开发软件,可用于对自动化设备和生产过程进行实时监测和控制。它是具有以下特点的人机界面软件:1)支持OPC,可实现与其他自动化厂商的产品进行快速、可靠的通信;2)集成了VBA编程语言;通过可以直接集成到用户图形界面上的可重用、可定制的ActiveX控件,实现对FactoryTalk ViewSE工程的方便扩展;3)可利用对象模型方便地与其他基于组件的软件产品协同工作;4)使用附件体系结构技术扩展FactoryTalk ViewSE的功能,可将新特性直接集成到FactoryTalk ViewSE的内核;5)可利用活动显示系统实现远程监控。

图二 监控软件的各功能模块及数据间的关系

为了提高人机界面监控软件运行的稳定性,系统配置了两台HMI监控服务器。本系统的双机冗余模式采用主从模式,主机应保证最大的可用率,从机平时处于热备用状态。只有当主机故障时,从机才替代主机工作。在主机恢复正常后,自动切换回主机运行。为了方便全厂用户实时观察生产运行状态,软件还在在C/S结构的基础上增加B/S结构,使该系统在企业局域网的任意一台电脑内,都可以及时打开监控画面进行浏览(见图三)。图中,Web服务器安装IIS ,提供Web服务支持。另安装Rockwell FactoryTalk ViewPoint,与FactoryTalk ViewSE冗余服务器进行通讯,提供生产监控画面信息。客户端电脑需安装Internet Explorer。IIS Web网页采用标准HTML页面,通过使用Silverlight插件方式在客户端显示。客户端IE自动判断是否安装Silverlight,若未安装则自动下载安装。该控件为安全控件,安装后客户端电脑可以看到鱼FactoryTalk ViewSE一致的、动态的人机界面。

图三 人机界面监控软件结构

系统运行后,集控室的操作人员可以通过计算机系统的操作员工作站所提供的各分厂工艺过程设备运行状态等参数信息,完成对各分厂生产系统的运行监控和调度管理。其主要功能如下:

1)实时与各分厂集控系统进行数据通讯;

2)总厂调度室监控系统所需要的生产数据监控采集每天24小时不间断;

3)IO变量和集控员操作的中间变量发生变位时报警,设备故障及模拟量超限报警。关键设备故障或模拟量超限时,系统同步显示故障设备名称或设备编号,并可实现语音报警、实时打印故障信息。服务器将该故障信息存入故障信息数据库,供以后统计分析。

4)可查看各分厂相关参数;

5)同时具备C/S,B/S两种浏览模式;

在人机监控画面中,需要对多台设备进行组合判断时,可以使用Visual Basic作为编程语言。在PLC系统中,开关量表示设备运行的信号值为1,表示设备停机的信号值为0。例如为了实现自动记录各个分厂生产线开停机时间,FactoryTalk ViewSE将洗煤分厂的给煤机运行信号、原煤皮带运行信号、原煤皮带秤瞬时量组成一个模型。用数学方程式表达为:(给煤机1+给煤机2+给煤机3+……+给煤机n)*原煤皮带*原煤皮带秤瞬时量。当数学方程式的值大于1时,则证明至少有一台给煤机在运行,同时原煤皮带也在带煤运行。这样就可以认为该分厂的原煤生产线处于运行状态。下面详细介绍一下在FactoryTalk ViewSE中实现的过程:

首先在FactoryTalk ViewSE监控画面中添加一个Numeric Display控件,在Expression中将各个设备的运行信号按照数学方程式录入。然后在该控件的Change()事件中,进行VBA编程。

分厂一控件Change()事件,用于获取控件值:

Private Sub SCC_Change()

If IsError(SCC_QC.Value) = False Then '为true则证明无法连接现场PLC,所以程序跳出。

Call CheckSX("分厂一", CInt(SCC_QC.Value))'进入控件数值判断的Function。

End If

End Sub

控件数值判断模块,控件值是大于1或者小于1需要执行不同的操作:

Public Function CheckSX(strFactoryName As String, IntSumRun As Integer)

On Error GoTo ErrHandler

Dim strsql As String

Dim Rs As ADODB.Recordset

Dim tmpCon As New ADODB.Connection

GetConn '连接数据库

If IntSumRun >= 1 Then '控件值为1,则证明生产系统在运行,执行table1的操作

strsql = "insert into Table1 ... ..."

tmpCon.Execute strsql

End If

End If

ElseIf (IntSumRun = 0) Then '控件值为0,则证明生产系统已经停车,执行table2的操作

strsql = "insert into Table2 ... ..."

tmpCon.Execute strsql

End If

tmpCon.Close

ErrHandler:

MsgBox "代码出错,请检查数据库及PLC连接!"

End Function

SQL Server数据库连接模块,用于存储开停机信息:

Private Sub GetConn()

tmpCon.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;Password=XXXXXX;User ID=sa;Initial Catalog=XXXXXX;Data Source=Server01\NDXM"

tmpCon.Open

End Sub

SQL Server数据库将记录所有分厂生产线开机、停机事件的时间、设备类型、停机原因等信息。总厂调度室用户可以通过历史数据分析,实现报表、曲线等多种输出信息的浏览。

在洗煤厂生产运行当中安全是极其重要的,应该利用一切手段减少故障的发生。当故障发生时,应在第一时间以多种方式通知操作人员。FactoryTalk ViewSE的报警运行系统用图形画面和语音的形式报告记录下来的消息事件,所以可利用计算机的多媒体功能在某台设备有故障发生时产生语音报警,但问题是FactoryTalk ViewSE本身并不能产生语音功能,而且其内部也没有提供处理语音的函数。解决这个问题的方法归功于FactoryTalk ViewSE支持的VBA编程与Microsoft操作系统的完美结合。例如,当201皮带发生故障时,在代表201皮带报警状态的Numeric Display控件的Change()事件中,执行:

Call Shell("C:\BJ.exe 分厂一201皮带", 1)

命令将"分厂一201皮带"作为参数,调用存储在C盘根目录下的可执行程序BJ.exe。BJ.exe可以是用户自己开发的Windows下的exe可执行程序。在获取参数后,通过调用微软TTS语音引擎,利用Windows的多媒体功能,将参数朗读出来。值得讨论的是由于洗煤厂设备众多,此功能只适合应用在主要设备上,否则在整条生产线停止运行时,FactoryTalk ViewSE的画面可能会频繁调用BJ.exe,造成语音朗读的混乱。

2.3 历史数据存储

宁东洗煤厂十个分厂的PLC标签共有3万个左右,且每个分厂的PLC品牌与型号都不相同。数据库软件需要直接与PLC连接,同时系统需要数据库每一秒都要对3万个PLC标签的数据进行判断、压缩、存储。常见的SQL Server及ORACLE等关系型数据库,在海量数据实时分析及存储方面效率很低。因此系统采用的是HISTORIAN过程数据库,它提供了250多种内置在Historian中的第三方系统接口,不仅与ViewSE公用一个程序平台,而且可以更好地与企业中的其它管理软件、财务软件进行通信。在进行数据存储时,采用例外(Exception)---压缩(Compression) 的方式。没有显著变化的PLC点将被丢弃,需要保存的标签值在存储之前还要经过进一步的压缩。经过计算,1T的磁盘空间,可以保证宁东洗煤厂的历史数据存储5年以上。

在进行历史数据的查询及报表展现时,可以购买市面上专用的软件与HISTORIAN实时数据库连接操作。为了企业降低成本, 也可以利用HISTORIAN数据库还提供的OLE数据库接口,通过配置后,操作方法类似于SQL Server等关系型数据库。例如,在进行HISTORIAN的连接时,可以使用如下程序片段:

Dim objCN As ADODB.Connection

Set objCN = CreateObject("ADODB.Connection")

objCN.Open "Provider=PIOLEDB.1;Data Source=服务器名;Integrated Security=SSPI;Persist Security Info=False"

If (Err.Number 0) Then

MsgBox "数据库连接失败,请检查网络!"

End If

数据库连接成功后,可以使用标准的SQL语句获取查询结果。再配合客户使用的高级开发程序,便可以实现数据报表的输出。通过实际测试,在VB语言中,从数据库的连接,到使用SQL查询单个设备一个月内的启停记录并返回DataSet的运行时间小于1秒。使用此种方式,简单易行,且报表的格式可以根据客户要求,灵活制定。

3 结束语

本文介绍的PLC综合监控系统,可以实现公司管理人员对处于不同地域的各个分厂进行实时监控和历史数据分析。整个系统采用的是跨网段的传输和双机冗余配置,不仅减少了网络上广播风暴对PLC、仪器仪表等设备的影响,而且提高了系统的可靠性和可维护性。通过一年半时间的运行,证明该系统提升了宁东洗煤厂的生产管理水平,提高了生产效率,降低了各单位之间的交流成本。

【参考文献】

[1]袁秀英,牛云升,余群威.组态控制技术[M].北京:电子工业出版社.2003.

[2]严盈富.监控组态软件与PLC入门[M].北京:人民邮电出版社.2006.

[3]黄天戍,刘奇志,任清珍等.组态软件在工业监控系统中的二次开发[J] 武汉水利电力大学学报 1999,23(2):77~79.

[4]华镕.Factory Talk服务平台的产品(二)[J].自动化博览,2010,(05):64~65.

作者简介:董刚(1975-),男,工程师,1996年毕业于桂林电子工业学院,现任天津德通电气有限公司技术工程部部长,主要从事选煤行业的自动化控制、网络平台、生产监控信息化、配电系统等方面的研究、设计。

张雪波(1980-),男,工程师,2003年毕业于沈阳工业大学,现任天津德通电气有限公司技术工程部工程师,主要从事选煤行业的自动化控制、网络平台、生产监控信息化等方面的研究、设计。

上一篇:煤化工污水处理技术研究 下一篇:万安县鮰鱼养殖气象因子分析