| 名称 | 技术参数/控制对象 | 型号 | 生产厂家 | 数量 | 单位 | 备注 | 使用模块 | CPU | 24 入/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.5KW | 6SE6 440-2UD21-5AA0 | 西门子 | 2 | 台 | | 计量泵 | 1.5KW | | ALLDOS | 2 | 台 | | 三、 控制系统构成 本系统中一共有模拟量输入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中以便中控室进行记录和处理。 程序分为以下几个部分: 序号 | 程序块 | 程序名 | 功能 | 备注 | 1 | OB1 | Main | 主程序 | | 2 | SBR0 | movedpdata | 通过EM277发送数据,以便上位机监控 | | 3 | SBR1 | PID_NTU | 浊度PID计算 | 向导生成 | 4 | SBR2 | PID_SCD | 游动电泳仪PID计算 | 向导生成 | 5 | SBR3 | rtoi | 模拟量输出转换 | | 6 | SBR4 | i4tr | 模拟量输入转换 | | 7 | SBR5 | err | 故障判断 | | 8 | INT1 | PID_EXE | PID中断 | 向导生成 | 其中主程序和注释代码如下: 块:MAIN | 内部变量 | 符号 | 变量类型 | 数据类型 | 注释 | tr0 | TEMP | REAL | LD0 | tr1 | TEMP | REAL | LD4 | ti1 | TEMP | INT | LW8 | tdi | TEMP | DINT | LD10 | tkr | TEMP | REAL | LD14 | tki | TEMP | INT | LW18 | 网络 1 调用子程序发送数据到315-2DP LD SM0.0 CALL movedpdata:SBR0 | 网络 2 将PID部分和流量比例部分相加 得出计量泵开度控制量 LD SM0.0 MOVW #ti1:LW8, outkd:VW2004 +I #tki:LW18, outkd:VW2004 | 网络 3 将流量相加,乘上相应的系数并乘0.4 LD SM0.0 CALL i4tr:SBR4, ll1:AIW6, 2000.0, #tr0:LD0 CALL i4tr:SBR4, ll2:AIW8, 2000.0, #tr1:LD4 +R #tr0:LD0, #tr1:LD4 *R setllk:VD1004, #tr1:LD4 *R 0.4, #tr1:LD4 CALL rtoi:SBR3, #tr1:LD4, 4000.0, #ti1:LW8 | 网络 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 qr1:Q0.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 = qr1:Q0.0 MOVW outhz:VW2006, o_hz1:AQW4 MOVW outkd:VW2004, o_kd1:AQW0 | 网络 16 开二号变频器和计量泵 LD go1:M0.0 ON auto1:I0.0 LD qr2:Q0.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 = qr2:Q0.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 = bee:Q0.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 的出色表现得到用户和专家的一致好评。 |