1、引言
随着工业自动化程度的日益提高,可编程控制器(PLC)的使用越来越普及。PLC以其高可靠性、易操作性、灵活性、对现场环境要求不高而倍受青睐。但是,PLC作为单独的监控系统有其局限性,主要表现为,无法大量存储数据、无法显示各种实时曲线和历史曲线、无法显示汉字和打印汉字报表,没有良好的用户界面。随着计算机技术的飞速发展,工控组态软件的出现,弥补了PLC控制系统的不足。在工业现场大量使用的以工控组态软件为开发平台的计算机监控系统,其结构主要表现在,计算机作为监控系统中的上位机,而下位机常常选用PLC作为现场级的控制设备,用于数据采集和控制。上位机则利用工控组态软件来完成采集信号的存储、处理、分析,利用屏幕画面,对整个系统的所有设备进行实时监视,画面中的各类参数具有实时性,还可对运行过程进行干预控制等。
昆仑通态计算机研究所开发的MCGS工控组态软件,充分考虑了国内工控领域的具体情况,吸收了国外同类产品的优点,通用性强,品质高,价位低,是国产优秀的工控组态软件之一。现将其应用于流化焚烧炉的自动控制系统中。
2、MCGS的主要功能及特性
MCGS是一套基于Window95/98/2000/Me/NT操作系统的,用于快速构造和生成上位机监控系统的组态软件系统。它为用户提供了从设备驱动、数据采集到数据处理、报警处理、流程控制、动画显示、报表输出等解决实际工程问题的完整方案和操作工具。MCGS组态软件具有多任务、多线程功能,其系统框架采用VC++语言编程,通过OLE技术向用户提供VB编程接口,提供丰富的设备驱动构件、动画构件、策略构件,用户可随时方便地扩充系统的功能。
MCGS的主要特性如下:
(1) 功能全面、应用灵活、具有开放性结构。用户可以挂接自己的应用程序模块,具有良好的通用性和可维护性。
(2) 实时性强,良好的并行处理性能。MCGS是真正的32位系统,充分利用了32位Windows操作平台的多任务技术,按优先级分时操作的功能,以线程为单位对在工程作业中实时性强的关键任务和实时性不强的非关键任务进行分时并行处理,使PC机广泛应用于工程测控领域成为可能。
(3) 提供丰富的设备驱动程序,通过ActiveDLL把设备驱动挂接在系统中,能够快速地开发出集图像、声音、动画于一体的漂亮、生动的工程画面。
(4) MCGS强大的网络功能可把TCPIP网、485422423网、Modem网结合在一起,构成大型的监控系统和管理系统。
(5) MCGS以OLE自动化技术为基础的开放式扩充接口,允许用户使用VB来快速编制各种设备驱动构件、动画构件和各种策略构件,通过OLE接口,用户可以方便地定制自己特定的系统。
(6) MCGS组态软件充分利用数据库技术来保存数据、处理数据,提高了系统的可靠性和运行效率,同时也使其他应用软件系统能直接处理数据中的存盘数据。
(7) MCGS提供了完善的安全机制,具有4级安全保密机制。为多个不同级别用户设定不同的操作权限,还提供了工程密码、锁定软件狗、工程运行期限等功能,以保护组态开发者的成果。
3、流化焚烧炉主要监控参数
本系统流化焚烧炉主要监控参数有:水泵流量、污水量、热风温度、填料塔进口温度、填料塔出水温度、主燃烧室出口温度、回料温度、对流管束中部温度、炉膛出口温度、省煤气进口温度、省煤气出口温度、空预器出口温度、一次风风压、二次风风压、炉膛负压、空预器入口风压、引风机前负压、填料塔入口压力、料塔第一料层压力、料塔第二料层压力、汽包水位、炉膛火焰、引风机转速、鼓风机电机电流、引风机电机电流、水泵电机电流、燃烧器电机电流、排渣电机电流、送料电机电流、鼓风机电机功率、引风机电机功率、水泵电机功率、燃烧器电机功率、排渣电机功率、送料电机功率、鼓风机耗电量、引风机耗电量、水泵电机耗电量、燃烧器电机耗电量、排渣机耗电量、送料机耗电量等。
系统中有6台变频器分别用于控制鼓风机、引风机、水泵电机、燃烧器电机、排渣电机及送料电机。变频器同PLC之间采用PROFIBUS总线协议方式通讯。CPU315-DP获取引风机电机耗电量的程序为:
CALL SFC 15
LADDR : = # W# 16# 10C
RECORD: = P# DB5. DBX16.0 BYTE8
RET_VAL:= MW82
A BR
= # temp0
A # temp0
JNB_001
CALL SFC 14
LADDR:= # W# 16# 10C
RET_VAL:= M W 84
RECORD := P# DB5. DBX24.0 BYTE8_001:ABR
= # temp1
A(
A # temp1
A(
L M W 84
L 0
= I
)
JNB_002
L DB5.DBD 28
T # DB5.DBD52
SET
SAVE
CLR
_002:ABR
)
JNB_003
L0
T DB5.DBD 28
_003:NOP0
4、硬件与通讯
德国西门子公司的可编程控制器在功能和使用上有了很多改进,性能价值比更优。它主要包括S7-200、S7-300和S7-400三种产品。S7的网络有以下几种典型类型:多点接口网络(MPI)、工业以太网、PROFIBUS现场总线和TCPIP协议网络。S7-300PLC流化焚烧炉自动控制系统采用的是多点接口网络(MPI)。该接口既是编程接口又是数据通讯接口,使用S7协议,通过此接口PLC与上位计算机之间可进行数据传输,从而构成MPI网络。网络上的设备被称为节点,每个节点有唯一的MPI地址,该地址是在S7-300硬件组态中设置的。系统中S7-300PLC通过RS485转RS232适配器6ES7972-0CA23-0XA0转换后连接至上位机。流化焚烧炉自动控制系统中,上位机监控选用国内著名品牌联想商用机,这样通过工控组态软件MCGS和多点接口MPI网络,实现PLC与上位机之间的通讯连接。在实际中,使用MCGS组态软件和PLC通讯之前,还要安装软件。在安装光盘的support目录下找到“prodavedisk1setup.exe”和“prodave完全版”,若已安装STEP7,则只要再装“prodave完全版”。安装以后,用程序prodave-S7-miniPG-PC interface设置属性。按select钮,选中PCAdapter加入到右框,再点击properties按钮,选中programmingdevicePCistheonlymaster。因为是PC-Adapter,则应该选择一个串行口COM1或COM2。注意波特率的设置应与实际中使用的PCAdapte设置的波特率一致。若上述过程无误,则可以在MCGS中使用S7300的MPI驱动程序。该驱动程序用于MCGS操作和读写西门子S7-300系列PLC设备的DB数据块、输入、输出和中间寄存器。
若是读写DB块,必须事先用编程软件下载DB块到PLC中,否则通讯状态会为1,表示通讯失败。
5、MCGS工控组态软件组态过程
由MCGS组态软件生成的用户应用系统,由主控窗口、设备窗口、用户窗口、实时数据库和运行策略五个部分构成。主控窗口是工程的主框架,负责调度和管理用户窗口;设备窗口是连接和驱动外部设备的工作环境;用户窗口主要用于设置工程中人机交互的界面;实时数据库是工程各个部分数据交换与处理中心,它将MCGS工程的各个部分连成有机的整体;运行策略主要完成工程运行流程的控制。有关组态过程重点介绍下面几点。
5.1 系统菜单和系统参数组态
在MCGS的“主控窗口”中,按流化焚烧炉自动控制系统的要求,对其系统菜单和系统参数进行定义和设置。本系统主控窗口主要设置:参数设置窗口包括系统参数设置、手动运行和显示校正参数设置;系统运行信息包括监控主窗口和设备运行信息浏览;报警信息包括实时报警信息浏览和历史报警信息浏览等;采样数据包括压力流量采样数据浏览和温度采样数据浏览等;安全管理包括更改密码、用户登录、退出登录、用户管理等;系统退出选项包括退出系统和关闭计算机等。
5.2 数据采集功能的实现
在流化焚烧炉自动控制系统中,PLC负责实时采集来自现场的数据,并存储在PLC内部的寄存器中;MCGS组态软件通过上位机的串行通讯口直接访问PLC的寄存器,实现对现场实时数据的存取。
串口父设备属性设置:作为下位机的PLC设备对于MCGS来说属于串口设备,本系统设置的COM口通讯参数其波特率为9600,8位数据位,1位停止位,偶校验。
S7-300PLC属性设置:PLC的机架号为0;PLC的槽号为2;PLC的站地址为2;其采集周期为静态测量时1000ms,快速测量时200ms;初始工作状态设置为“启动”时,即进入MCGS运行环境,MCGS自动开始对设备进行操作。
内部属性设置:用来设置PLC的读写通道,以便进行设备通道连接,从而把设备中的数据送入实时数据库中的指定的数据对象,或把数据对象的值送入设备指定的通道输出。
数据处理:从PLC设备中输入的数据是特定范围的电流、电压等物理意义的值,必须进行相应的转换,才能得到具有实际意义的工程数据。MCGS组态软件数据处理功能,除了工程转换计算还可完成多项式、倒数、滤波、函数调用、标准查表计算等数据处理运算,实现强大的数据处理功能。
5.3 MCGS脚本程序
脚本程序是组态软件中的一种内置编程语言引擎。当某些控制和计算任务通过常规组态方法难以实现时,通过使用脚本语言,能够增强整个系统的灵活性,解决其常规组态方法难以解决的问题。例如本系统中运行策略的部分脚本程序为:
CommState. AlmComment = CommState.Comment
M 10_1.Alm Comment = M10_1.Comment
M 10_2.Alm Comment = M10_2.Comment
M 10_3.Alm Comment = M10_3.Comment
M 10_4.Alm Comment = M10_4.Comment
M 10_5.Alm Comment = M10_5.Comment
M 10_6.Alm Comment = M10_6.Comment
M 10_7.Alm Comment = M10_7.Comment
IF!len(!Get Current User())>0THEN
用户窗口.frmMsg.lblUser.Text="用户:"+!GetCurrentUser()
ELSE用户窗口.frmMsg.lblUser.Text="用户:未登录"
ENDIF
IF!Instr(1,strMsg.Value,"设备名称:")=1
THEN
strMsgExt.Value=";单击查看设备详细信息。"
ENDIF
IF CommState=0 THEN SYSOFFLine=0
ELSE SYSOFFLine=1
ENDIF
6、节省组态软件IO点数的方法
几乎所有的工控组态软件,销售时都按不同的输入输出点数划分定价,例如32点学习版、64点、128点、256点、512点、1024点和不限点工程版等,价格相差较大。显然,降低所使用的组态软件IO点数,可降低整个工程成本,具有很大的现实意义。本系统所购置的MCGS为128点,而实际应用中大于128点,通过自编程序进行处理,从而满足要求。例如,监控主控窗口各设备运行状态时,可通过对各设备进行编号,还可通过使用MCGS系统内部函数实现节省组态软件IO点数。下面是通过查询设备号,显示其运行状态的程序。
IF DevMode=3 THEN
intComTmp.Value=!Val(!Mid(!I2Bin(AllOutDW),6,1))
IF IntComTmp.Value = 1 THEN Dev State.Value="-状态:运行"
ELSE DevState.Value="-状态:停止"
ENDIF
DevMsg0.Value= "运行频率:"+!Str(DB1_DBW36)+"Hz"
DevMsg1.Value= "流量:"+!Str(DB2_DBW20)+""
ENDIF
IF DevMode= 8 THEN DevState.Value="-状态:正常"
DevMsg0.Value="进口温度:"+!Str(DB1_DBW04)+"℃"
DevMsg1.Value="出口温度:"+!Str(DB1_DBW06)+"℃"
DevMsg2.Value="进水温度:"+!Str(DB1_DBW08)+"℃"
DevMsg3.Value="出水温度:"+!Str(DB1_DBW10)+"℃"
DevMsg4.Value="入口压力:"+!Str(DB2_DBW14)+"Pa"
DevMsg5.Value="第一料层压力:"+!Str(DB2_DBW16)+"Pa"
DevMsg6.Value="第二料层压力:"+!Str(DB2_DBW18)+"Pa"
ENDIF
IF DevMode= 15 THEN DevState.Value="-状态:正常"
DevMsg0.Value="温度:"+!Str(DB1_DBW30)+"℃"
IF!Val(!Mid(!I2Bin(AllOutDW),15,1))=1THEN
DevMsg1.Value="加热器:正在工作"
ELSE
DevMsg1.Value="加热器:停止工作"
ENDIF
ENDIF
用户窗口.frmDevDetail.Caption=用户窗口.
frmDevDetail.lblDev.Text+DevState
用户窗口.frmDevDetail.lblMsg0.Text=DevMsg0
用户窗口.frmDevDetail.lblMsg1.Text=DevMsg1
用户窗口.frmDevDetail.lblMsg2.Text=DevMsg2
用户窗口.frmDevDetail.lblMsg3.Text=DevMsg3
用户窗口.frmDevDetail.lblMsg4.Text=DevMsg4
用户窗口.frmDevDetail.lblMsg5.Text=DevMsg5
用户窗口.frmDevDetail.lblMsg6.Text=DevMsg6
’IF!Instr(1,DevState.Value,"停止")>0
THEN frmDevDetail.cmdON.Visible=1
’IF!Instr(1,DevState.Value,"启动")>0
THEN frmDevDetail.cmdOFF.Visible=1
7、结束语
MCGS工控组态软件以其优异的特性在流化焚烧炉自动控制系统中获得了成功的应用。该软件为创造高效、实用的计算机监控系统提供了一套完整的解决方案。我们将在此基础上建立各种数据模型进行优化设计,以提高燃烧效率和炉温及床温的稳定控制,进一步开发新型船舶焚烧炉。
参考文献
[1] 阳宪惠.现场总线技术及其应用.北京:清华大学出版社,1999.110~132
[2] 北京昆仑通态自动化软件科技有限公司.MCGS用户手册.2003.
[3] 北京昆仑通态自动化软件科技有限公司.MCGS参考手册.2003.
[4] 单亚娟,郑建勇,张如瑶.基于组态软件的水厂自动化系统设计.控制工程,2002,9(6):35
4/8/2006
|