西門子 S7-200 PLC 在水廠凈水劑投加系統中的應用
一、 項目簡介
南寧市某鐵路自來水廠擔負著供應南寧鐵路系統列車自來水供應、鐵路職工用水等重要的任務。對水質要求較高,且對用水的持續性要求也非常的嚴格,必須保證24小時不間斷的供水。由于原建的水廠由于建廠時間較早,自動化程度不高;尤其是凈水劑的投加系統采用人工投加方式,無法保證出水濁度的穩定等要求。因此決定對全廠自動化系統進行升級和改造。
經過鐵路水電段對PLC組網性能、維護方便、相對投資等多個方面性能指標的對比,最終決定在本項目中自動化控制部分采用西門子S7—300系列PLC作為主控PLC,在沉淀池、濾池等部分采用S7-200系統PLC作為智能從站。一方面保證了網絡性能(通訊速度采用500K),另外S7-200可以在通訊網絡斷開等故障情況下能夠獨立運行等特點也保證了系統運行的可靠性。
二、 系統介紹
1、項目工藝
在自來水廠中,源水要經過投加凈水劑、沉淀、過濾、消毒然后進入清水池。對源水投加凈水劑后,水中雜質便絮凝成礬花,此時才能進行進一步水質凈化處理,因此凈水劑投加工藝是影響出廠水質量的要因。同時凈水劑的投加直接影響到沉淀池的使用效率和濾池反沖用水量的大小,對消毒也有直接的影響。因此投加凈水劑是自來水廠中工藝要求比較高的一個環節。
2、控制器組成
項目中使用的PLC、模塊、控制對象等如下:
名稱 | 技術參數/控制對象 | 型號 | 生產廠家 | 數量 | 單位 | 備注 | |
使用模塊 | 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 的出色表現得到用戶和專家的一致好評。
文章版權歸西部工控xbgk所有,未經許可不得轉載。