1 引言
玻璃棉生产线由窑炉、成纤、固化炉及冷线成型等系统构成。整个和生产工艺过程较为复杂。同时,因使用液化气和重油作为燃料,对安全的要求特别高,所以生产线对自动控制系统有很高的要求。此前,国内一般厂家都选用智能仪表控制系统,或引进国外的DCS控制系统,性能价格比都不理想。针对其生产过程的控制特点,选用了SIEMENS公司的S7-400软件冗余系统,投用以来,取得较好的控制效果。
2 系统概况
工艺特点:
(1) 玻璃棉生产兼有连续生产和批次生产的特点,窑炉生产(玻璃液烧熔)是一个连续、不可间断的过程,任何过程的中断都有可能造成不可预测的后果和损失,所以系统对控制的可靠性要求很高;而固化炉及冷线处理系统则只在出产品时运行。
(2) 生产所用燃料是液化气和重油,必须严格控制燃料和助燃风的混合比例,任何比例失调都会造成工艺状况的不稳定,甚至会有爆炸的危险,所以系统对自控回路的精度要求很高。
(3) 生产过程复杂,系统的检测、控制点及PID自控回路较多(见附表),而且整个系统的生产是一个高度关联的动态平衡过程,各PID回路之间关系密切而复杂,这对PLC系统的性能和软件设计工作都提出了考验。
[img]20069268311151135.gif[/img]
3 系统结构
固化炉及冷线成型系统由设备厂家自带的的PLC系统控制(S7-300PLC和TP170A),工艺信息送控制室显示。
控制的重点和难点是窑炉和成纤系统。根据上述的工艺特点,我们采用了CPU和通讯模块的双冗余系统。图1示出系统结构图。
[img]20069268312716330.gif[/img]
3.1 网络构成
整个系统由两级网络构成:主站网和从站网。2台操作站(操作站1、操作站2)、1台工程师站、2台CPU414、1台S7-300组成主站网;5个现场站与CPU414之间组成了从站网。
操作站及工程师站实质上没有任何差别,只是设置操作等级的限制,各站上的操作权限不一样。通过系统管理员的授权(密码控制)任何一个站都可实现其他2个站的所有功能。操作站、工程师站通过MPI卡接入主站网。网络协议为Profibus,通讯速率最高可达12Mbps,考虑到传输距离较远(约200m),途中电磁干扰较严重,为保证通讯畅通,将通讯速率设置为1.5 Mbps。
2台CPU414通过PLC通讯模块(CP443)接入主站网,固化炉系统的CPU314则通过CPU上的DP口直接接入主站网。
现场站是连接PLC系统和工业现场的接口,所有的输入/输出模块都安装在5个现场站上。每个现场站上都有两块通讯模块(153-2),分别接到2台CPU414的DP口上,组成从站网,通讯协议为Profibus-DP,通讯速率为12 Mbps。
3.2 系统冗余
为提高系统的可靠性,对控制系统的核心部分CPU及PLC通讯模块都采用了软件冗余技术,两套CPU414处理器、电源模块、通讯控制模块(CP443)分别安装在两块冗余机架上,同时各I/O站上也都装有两块通讯处理模块(153-2)。正常工作时,2台CPU一台为主,一台为从。主CPU执行控制程序,并控制着对应的通讯模块,同时不断地将需要冗余备份的数据发往从CPU;从CPU则处于热备状态,不运行控制程序,只是不停地接受数据,同时判断其自身的运行状态。一旦主CPU停止工作,从CPU立即接过系统控制权,同时主从位置互换,完成无扰动切换。
4 软件设计
(1) 系统软件
PLC系统软件选用STEP7 V5.2软件包,对于系统中的逻辑控制选用梯形图(LADDER)编程,直观、方便;对于模拟量处理和PID回路控制部分则采用语句表(STL)编程,结构紧凑而又灵活。另外,为实现软件冗余,利用SIEMENS公司专门提供的冗余软件包,它实际上是一组系统功能块,供用户在程序中调用、设置,实现用户的软件冗余功能。
上位机软件选用SIEMENS公司的Wincc V5.1组态软件。Wincc功能强大,可方便快捷地组态出各种操作界面。开放式的数据库系统为用户提供了强大的数据管理功能。
(2) 应用软件设计
根据该系统具体情况,软件设计过程中着重要考虑的是以下几个方面:
·软件冗余;
·PID算法;
·安全措施。
4.1 软件冗余
(1) 在OB100(热启动模块)中调用系统冗余软件包中的系统功能块FC100。
(2) 在OB1中调用系统功能块FB101。程序如下:
CALL "SWR_ZYK" , DB5 //调用FB101
DB_WORK_NO :=DB1 //内部数据块
CALL_POSITION:=TRUE
RETURN_VAL :=MW110 //返回状态字
EXT_INFO :=MW112
A DB5.DBX 9.1
//冗余状态位,判断是否为从站
JC M001
CALL FC 50
FC50调用所有的控制程序
M001: NOP 0
CALL "SWR_ZYK" , DB5
DB_WORK_NO :=DB1
CALL_POSITION:=FALSE //传送结束
RETURN_VAL :=MW114
EXT_INFO :=MW116
(3) 在OB86中调用冗余诊断程序,程序如下:
CALL "SWR_DIAG"
DB_WORK :=W#16#1
OB86_EV_CLASS :=#OB86_EV_CLASS
OB86_FLT_ID :=#OB86_FLT_ID
RETURN_VAL :=MW130
这段程序用来诊断从站的故障信息,如有问题将切换从站通讯模块。
(4) Wincc中的每个外部变量都连接着CPU中的一个地址,当两台CPU切换时,这些连接地址也要同时切换。WINCC提供了动态向导,可自动产生相关的变量和全局脚本,实现上述转换。
4.2 PID算法
STEP7提供了两种常用的PID算法:连续型PID(FB41)和离散型PID(FB42),根据实际要求,选用的是FB41,其框图如图2所示。
[img]20069268315099387.gif[/img]
PID算法的输出实际上是比例(P)、积分(I)、微分(D)三部分作用之和:
Mn=MPn+MIn+MDn
MPn=GAIN×(SPn-PVn)
MIn=GAIN×TS/TI×(SPn-PVn)+MX
MDn=GAIN×TD/TS×(PVn-1-PVn)
式中,
Mn:第n次采样时刻的输出值
MPn:第n次采样时刻的比例作用,与偏差成正比。
MIn:第n次采样时刻的积分作用,可以消除静差,提
高控制品质。
MDn:第n次采样时刻的微分作用,根据差值的变化
率调节,可抑制超调。
SPn:第n次采样时刻的设定值
PVn:第n次采样时刻的过程值
MX:第n-1次采样时刻的积分作用,每次采样计算后
自动刷新
GAIN:回路增益,P参数
TI:积分时间常数,即I参数
TD:微分时间常数,即D参数
TS:采样时间
根据上述原理框图,结合实际工艺要求,编写程序(以供料道温度回路为例)如下:
L DB44.DBD 0
//温度设定值,浮点型
T #TEMP0
L PIW 524 //温度反馈值
ITD
//整型转双整型
DTR
//双整型转浮点型
L 2.764800e+004
/R
L 3.200000e+002
//量程范围320度
*R
L 9.800000e+002 //零点是980度
+R
T #TEMP1
//温度反馈对应量程范围980-1300度,
计算出浮点型数据。
L DB44.DBW 4 //阀门开度
ITD
DTR
L 2.764800e+002
//阀门开度转为百分数
/R
T #TEMP2
L DB44.DBD 20
T #TEMP31
A M 56.3 //自动标志位
NOT
= #TEMP4
CALL "CONT_C" , DB144 //调用FB1
COM_RST :=FALSE
MAN_ON :=#TEMP4
PVPER_ON:=FALSE
P_SEL :=TRUE // 使用P调节
I_SEL :=TRUE //使用I调节
INT_HOLD:=FALSE
I_ITL_ON:=FALSE
D_SEL :=FALSE //使用D调节
CYCLE :=T#2S //采样时间
SP_INT :=#TEMP //设定值
PV_IN :=#TEMP1 //过程值
PV_PER :=
MAN :=#TEMP2 //PID自动标志
GAIN :=DB44.DBD8 //参数P
TI :=DB44.DBD12 //参数I
TD :=DB44.DBD16 //参数D
TM_LAG :=T#2S
DEADB_W :=#TEMP31 //死区范围
LMN_LLM :=DB44.DBD28 //输出下限
PV_FAC :=1.000000e+000
PV_OFF :=0.000000e+000
LMN_FAC :=1.000000e+000
LMN_OFF :=0.000000e+000
I_ITLVAL:=0.000000e+000
DISV :=0.000000e+000
LMN :=
LMN_PER :=#TEMP3
QLMN_HLM:=
QLMN_LLM:=
LMN_P :=
LMN_I :=
LMN_D :=
PV :=
ER :=
AN M 56.3
JC M001
L #TEMP3
T DB44.DBW 4
//PID自动时,将PID输出结果送到输出存储地址
L DB44.DBW 4
T PQW 522 //调节阀输出
程序前部分主要是处理设定值、反馈值并送入中间变量,将阀门开度送入PID模块,保证手/自动无扰动切换。
调用FB41时,要给各参数赋值。为方便调整,重要参数都存在DB块中,用户可在上位机上随时修改。
从上面的公式中可以看出,参数P(GAIN)与P、I、D作用都是成正比的,它决定了PID回路的灵敏度,即调节速度的快慢;I参数越大,积分作用越弱,而D参数越大,微分作用越强。不能单靠理论计算来确定PID参数,唯一的衡量标准就是被控参数(温度、流量等)的精度和稳定度,所以在实际调试中,都是参照被控参数的实时曲线,反复观察分析,从而达到最佳的控制效果。
4.3 安全措施
(1) 防止误操作 任何设定值都设有上、下限,即不允许输入“离谱”的数据;重要设备的开、停,都需操作员确认;运行中调整设定值,不能直接输入数据,而是按“+”、“-”键,逐步增减。
(2) 报警功能
每个被控参数都设有上、下限报警值及偏差报警值,当运行数据超出这些值时,系统将发出
声光报警,提醒操作者。对于特别重要的参数,变化过快,也在报警之列。
(3) 逻辑连锁 当燃料压力或助燃风压力开关动作时,关闭安全阀;当被控参数(温度或压力)突变时,关闭安全阀;当设定值和过程值的偏差大于安全范