一、 项目简介
南宁市某铁路自来水厂担负着供应南宁铁路系统列车自来水供应、铁路职工用水等重要的任务。对水质要求较高,且对用水的持续性要求也非常的严格,必须保证24小时不间断的供水。由于原建的水厂由于建厂时间较早,自动化程度不高;尤其是净水剂的投加系统采用人工投加方式,无法保证出水浊度的稳定等要求。因此决定对全厂自动化系统进行升级和改造。
经过铁路水电段对PLC组网性能、维护方便、相对投资等多个方面性能指标的对比,最终决定在本项目中自动化控制部分采用西门子S7—300系列PLC作为主控PLC,在沉淀池、滤池等部分采用S7-200系统PLC作为智能从站。一方面保证了网络性能(通讯速度采用500K),另外S7-200可以在通讯网络断开等故障情况下能够独立运行等特点也保证了系统运行的可靠性。
二、 系统介绍
1、项目工艺
在自来水厂中,源水要经过投加净水剂、沉淀、过滤、消毒然后进入清水池。对源水投加净水剂后,水中杂质便絮凝成矾花,此时才能进行进一步水质净化处理,因此净水剂投加工艺是影响出厂水质量的要因。同时净水剂的投加直接影响到沉淀池的使用效率和滤池反冲用水量的大小,对消毒也有直接的影响。因此投加净水剂是自来水厂中工艺要求比较高的一个环节。
2、控制器组成
项目中使用的PLC、模块、控制对象等如下:
名称技术参数/控制对象型号生产厂家数量单位备注
使用模块CPU24 入/16 出6ES7 216-2BD23-0XB0西门子1个
AI模块模拟量输入模块 4输入6ES7 231-0HC22-0XA0西门子3个
AO模块模拟量输出模块 2输6ES7 232-0HB22-0XA0西门子2个
通讯模块EM277 PROFIBUS-DP模块6ES7 277-0AA22-0XA0西门子1个
控制对象变频器1.5KW6SE6 440-2UD21-5AA0西门子2台
计量泵1.5KW ALLDOS2台
三、 控制系统构成
本系统中一共有模拟量输入9个:源水浊度、源水流量(2个)、游动电泳仪、沉淀池浊度、计量泵开度(2个)、变频器电流(2个)。模拟量输出4个:1#、2#变频器频率、1#、2#计量泵开度。开关量输入6个:1#、2#变频器手/自动,1#、2#变频器运行,1#、2#变频器故障。开关量输出3个:1#、2#变频器运行,故障报警。联网功能采用EM277和系统中CPU315-2DP连接。
一共采用:CPU226 一个,模拟量输入模块EM231(4路)3个,模拟量输出模块EM232(2路)2个,DP通讯模块EM277 一个。
注:游动电泳仪可以测量水中可以结合杂质的游离电子的数目,而游离电子数目必须保持在一定范围,如果测量值偏大则说明投加净水剂过多影响混凝效果,反之说明投加量不够导致混凝不充分。计量单位为SCD。
四、 控制系统完成的功能
1、控制要求
原系统的净水剂投加过程采用手动投加方式,这就直接影响到出厂水的浊度,同时也会产生投加量过度的问题。经过询问现场人员、实际调查总结了以下主要原因
a、净水剂投加设备落后:当源水浊度发生改变时无法及时调整提高投加量;
b、净水剂投加由人为掌握:投加量靠经验投加;
c、净水剂配制无标准:药剂浓度由配置人员靠经验配置,而浓度不准使投加量更加难以掌握;
d、投加量计算困难:操作人员水平差异较大,投加量随意性比较大;
以上种种原因造成投加量不准确,从而影响到絮凝效果、并直接导致出厂水水质下降。
系统改造要求:
水厂更换新的自动化投加系统,新系统可根据水质变化情况随时调整投药量,将沉淀池出水均在8NTU(NTU为浊度计量单位)以下,出厂水在1NTU以下;经防疫站检测:出厂水浊度达标率必须为100%。并可在控制系统中加入参数调节和监控功能。
2、控制难点及控制方法实现
根据对工艺过程的分析,本系统属于典型的大滞后系统。考虑到一般的PID算法对于滞后时间长的系统难以实现控制目标,而模糊控制等高级算法实现成本较高等原因。决定在系统中采用经验值投加和PID算法相结合的办法,既解决了PID算法的不足,又解决了成本问题。
整个系统软件中主要包括以下几个主要方面:
a、PID算法:定时采集沉淀池浊度,应用S7-200内置的PID进行运算。得到的模拟输出值为X。
b、经验值:对应一定流量的经验投加量进行运算——采用查表法查找对应的经验值,得出相应流量的投加量为Y。
c、按照 得出PID运算和经验投加之和。用Z直接控制计量泵开度。(其中a可以在一段时间运行后进行修改以达到最优化控制。)
d、将原水浊度按照经验值,SCD按照PID算法进行入2、3进行运算,并将运算结果控制变频器频率以保证游动电泳仪测量值在设定值左右。
e、按照设定运行时间转换变频器和计量泵以便设备轮换使用。
f、报警功能:按照要求将有关故障均进行现场蜂鸣报警,并上传至CPU315-2DP中以便中控室进行记录和处理。
程序分为以下几个部分:
序号程序块程序名功能备注
1OB1Main主程序
2SBR0movedpdata通过EM277发送数据,以便上位机监控
3SBR1PID_NTU浊度PID计算向导生成
4SBR2PID_SCD游动电泳仪PID计算向导生成
5SBR3rtoi模拟量输出转换
6SBR4i4tr模拟量输入转换
7SBR5err故障判断
8INT1PID_EXEPID中断向导生成
其中主程序和注释代码如下:
块:MAIN
内部变量符号变量类型数据类型注释
tr0TEMPREALLD0
tr1TEMPREALLD4
ti1TEMPINTLW8
tdiTEMPDINTLD10
tkrTEMPREALLD14
tkiTEMPINTLW18
网络 1 调用子程序发送数据到315-2DP
LD SM0.0
CALL movedpdata:SBR0网络 2 将PID部分和流量比例部分相加 得出计量泵开度控制量
LD SM0.0
MOVW #ti1W8, outkd:VW2004
+I #tkiW18, outkd:VW2004
网络 3 将流量相加,乘上相应的系数并乘0.4
LD SM0.0
CALL i4tr:SBR4, ll1:AIW6, 2000.0, #tr0D0
CALL i4tr:SBR4, ll2:AIW8, 2000.0, #tr1D4
+R #tr0D0, #tr1D4
*R setllk:VD1004, #tr1D4
*R 0.4, #tr1D4
CALL rtoi:SBR3, #tr1D4, 4000.0, #ti1W8网络 4 进行PID运算并乘上比例系数0.6
LD SM0.0
CALL PID_NTU:SBR1, ntu_cdc:AIW2, setndt:VD1000, zjkd:VW2000
ITD zjkd:VW2000, #tdi:LD10
DTR #tdi:LD10, #tkr:LD14
*R 0.6, #tkr:LD14
ROUND #tkr:LD14, #tdi:LD10
DTI #tdi:LD10, #tki:LW18
网络 5 由SCD计算PID 乘上系数0.8
LD SM0.0
CALL PID_SCD:SBR2, scd:AIW4, setscd:VD1008, zjhz:VW2002
ITD zjhz:VW2002, #tdi:LD10
DTR #tdi:LD10, #tkr:LD14
*R 0.8, #tkr:LD14
ROUND #tkr:LD14, #tdi:LD10
DTI #tdi:LD10, #tki:LW18网络 6 由源水浊度乘系数 并乘0.2
LD SM0.0
CALL i4tr:SBR4, ntu_yuanshui:AIW18, 1000.0, #tr0:LD0
*R setntuk:VD1012, #tr0:LD0
*R 0.2, #tr0:LD0
ROUND #tr0:LD0, #tdi:LD10
DTI #tdi:LD10, #ti1:LW8
网络 7 将PID部分和源水浊度比例部分相加 得出频率控制量
LD SM0.0
MOVW #ti1:LW8, outhz:VW2006
+I #tki:LW18, outhz:VW2006网络 8 计算一号泵开机运行累计时间
LD T37
EU
INCW ljtime1:VW2008
网络 9 停机时清空上次运行时间
LD run1:I0.2
LPS
AN T37
TON T37, +600
LPP
NOT
MOVW +0, ljtime1:VW2008网络 10 计算二号泵开机运行累计时间
LD T38
EU
INCW ljtime2:VW2010
网络 11 停机时清空上次运行时间
LD run2:I0.3
LPS
AN T38
TON T38, +600
LPP
NOT
MOVW +0, ljtime2:VW2010网络 12 将设定时间转换为分钟
LD SM0.0
MOVW settime:VW1016, timem:VW2012
*I +60, timem:VW2012
网络 13 一号机运行时间到
LDW>= ljtime1:VW2008, timem:VW2012
EU
S go1:M0.0, 1网络 14 二号机运行时间到
LDW>= ljtime2:VW2010, timem:VW2012
EU
S go2:M0.1, 1
网络 15 开一号变频器和计量泵
LD go2:M0.1
ON auto2:I0.1
LD qr10.0
LDN go1:M0.0
LD go1:M0.0
AN auto2:I0.1
OLD
ALD
OLD
AN err_1:M10.0
A auto1:I0.0
= qr10.0
MOVW outhz:VW2006, o_hz1:AQW4
MOVW outkd:VW2004, o_kd1:AQW0网络 16 开二号变频器和计量泵
LD go1:M0.0
ON auto1:I0.0
LD qr20.1
LDN go2:M0.1
LD go2:M0.1
AN auto1:I0.0
OLD
ALD
OLD
AN err_2:M10.1
A auto2:I0.1
= qr20.1
MOVW outhz:VW2006, o_hz2:AQW6
MOVW outkd:VW2004, o_kd2:AQW2
网络 17 调用错误判断子程序
LD SM0.0
CALL err:SBR5网络 18 出错报警(蜂鸣频率为1Hz)
LD SM0.5
LD err_2:M10.1
O err_1:M10.0
ALD
= bee0.3
限于篇幅,其他几个子程序及I/O表等均省略。
五、 结束语
采用新的净水剂投加系统后,出厂水浊度由过去的3NTU以内降到了1NTU以下,在防疫部门多次检测中达标率达到了100%;净水剂的投加达到了最优投加量,避免了净水剂的浪费。经过统计,去年4~11月净水剂使用量比往年同期平均使用量减少了约15000Kg。同时由于沉淀池出水浊度的下降,滤池反冲周期延长了近12小时,使生产自用水量降低了约1.5%,累计比去年同期减少了约2.5万吨。按净水剂2.205元/Kg,水0.45元/吨计算,可节省供水成本:15000×2.205+2500×0.45=44325元。
经过三年的使用过程证明:采用浊度控制计量泵开度、SCD控制变频器频率的方法不仅可以让投加量更加精确,还可以更加方便的控制投加量以达到在源水浊度低的季节中节省净水剂的效果。
六、 应用体会
该系统控制对象为出厂水浊度,但是SCD值也是一个很重要的中间对象,要求较高的控制精度,并且控制对象滞后时间很大。要在这样的情况下完成这样的控制要求,不仅要求PLC的功能要强大,还需要设计人员进行比较复杂的编程处理,而且对PLC的模拟量处理功能要求也比较高;另外在达到系统要求功能的前提下也要求尽量降低系统的成本。尤其是程序中的查表子程序,本身就需要占用很大的程序空间以及数据存储空间。
而S7-200系列中CPU226在程序存储、数据存储、扫描时间等各个方面都能满足系统的要求。而S7-200系列的EM277模块使得和原系统中S7-300连接更加简单方便,从而也节省了大量编程时间和程序空间。
本系统投入使用后效果非常明显,系统运行稳定有效,尤其是S7-200PLC 的出色表现得到用户和专家的一致好评。 |