水泵作為給排水工業中常用的設備,應用十分廣泛,尤其是多臺水泵組成的水泵組十分常見,在許多大中型污水處理廠和泵站中的水泵組,基本都實現了PLC自動化控制。PLC自動控制有很多的優勢,能夠實現流量的自動調節、平衡、報警等操作,還能實現無人值守運行,控制起來也十分方便。隨著小型PLC大量進入工業及民用市場,價格也接近甚至低于繼電器控制的成本,許多以前只有大中型PLC才能完成的控制項目,也能夠由一些控制和維護都更加方便的小型PLC來實現,如三菱的FX系列、西門子的S7-200系列等小型PLC,所需人力的維護更少。
1 問題提出
保定污水處理廠建廠之初就實現了完全PLC控制的自動化,進水泵的自動控制系統由一套較復雜的PLC程序來實現,其中包括時間控制、液位控制、
報警系統、循環備用等功能,這樣一套完整的PLC系統在實際運行中較穩定,為污水處理廠的穩定運行做出了貢獻。但由于是多年前的PLC系統,其程序繁瑣復雜,易讀性差,程序的升級和維護基本無法由維護人員來完成,尤其作為一套運行了多年的系統,在實際運行中發現了一些問題。具體來說,保定污水處理廠的PLC水泵控制方式主要是通過一種循環啟停來控制多臺污水水泵(如:P1、P2、P3、P4……),自動控制程序的操作者可以通過遠程的人機界面(HMI)來設定幾個控制液位(L1、L2、L3、L4……)以及一些平衡和報警的臨界點,如單臺泵的持續運行時間等。該液位對水泵的控制是一種不完全的循環控制方式,具體運行方式舉例如下:達到液位L3將同時啟動P1、P2、P3,而低于L3將同時啟動P1、P2而停止P3。(其它液位如L1、L2、L3對水泵啟停臺數的控制可以依此類推),而系統通過定期切換P1、P2、P3、P4的順序,來有效保證長時間內各臺設備的開機時間大致相同,防止出現單臺設備磨損嚴重的問題。然而,在多年的實際運行中發現,液位處于某一臨界值上下波動,很容易造成某一臺水泵的頻繁啟停。如液位靠近L3,將造成第3臺水泵P3的頻繁啟停,定期切換P1至P4啟動順序只能解決長時間的運行時間平衡問題,而在設定的時間段內,(如一周),這種單臺泵頻繁啟停無法避免,這樣實際上設備的損耗十分嚴重。
2 解決方案
改進這種情況其實正是PLC控制的優勢所在,要想通過改進PLC程序的運行來避免出現上述情況,需要對循環的設備組采用“先啟者先停”的循環投切控制方式。
為實現該想法,特以三菱FX2N系列小型PLC為例來編程。
I/O設定:X000~X003對應4個控制液位;Y000~Y003對應4臺水泵;數據寄存器D0存放水泵組中即時激活的某一臺水泵編號;數據寄存器D10存放水泵組啟停狀態映像數據;數據寄存器D20存放水泵組堆棧臨時取出數據。
基本思路如下:
(1)初始化數據時,將4臺水泵的編號設定為:1、2、4、8,這樣就可以對應到數據寄存器的D0的后4位中去。同時將D10初始化為0。設定一個堆棧,由X000~X003的上升沿激活數據D0進入堆棧的開關M0,上升沿同時使數據寄存器D0中的數據發生一次循環左移,其結果與D10進行“或”運算后重新賦值給D10并將D0送入堆棧,使堆棧中依次保持最近4次水泵激活的編號。這樣,每增加一次進入堆棧操作,D10中的數據就會增加該水泵對應的編號數。
(2)另外,由X000~X003的下降沿激活數據讀出堆棧的開關M1,取出最早一次的水泵激活編號放入臨時寄存器D20,然后將D20與D10進行“異或”運算,其結果也即時保存到D10中。同樣的道理,每增加一次讀出堆棧操作,D10中的數據就會減少該水泵對應的編號數。
(3)最后,將D10的后4位數據對應到Y000~Y003中,完成最后的水泵狀態輸出。
根據上述思路編寫相關部分程序:
LD M0//堆棧寫入開關M0(由四個液位上升沿激活)
ROLP D0 K1 // M0控制D0中數據循環左移一位
MPS
AND C1
MOVP K1 D0
RST C1
MPP
WORP D0 D10 D10 // D0與D10“或”運算后重新賦值給D10
SFWRP D0 D1 K6 //將D0送入堆棧
OUT C1 K3 //通過設定計數器C1的值來設定需要循環的泵的臺數
LD M1//堆棧讀出開關M1(由四個液位下降沿激活)
SFRDP D1 D20 K6 //從堆棧中取出最早的水泵激活編號放入寄存器D20
WXOR D20 D10 D10 //D20與D10進行“異或”運算后重新賦值給D10
LD M8000
MOV D10 K1Y000 //用D10的后4位作為Y000~Y003四臺泵的輸出
注:完整程序使用GX Developer V7編寫并調試通過,并通過GX Simulator 模擬程序的仿真運行,驗證了其在實際應用中的可行性。
由程序可知,液位在各個臨界點上下波動,會即時保證液位要求的水泵啟動臺數,同時液位的變動將對所有現有的水泵依次做循環啟停,而不是僅僅針對某幾臺水泵做循環,即循環中將沒有死角。舉例來說,液位沿L3上下波動時將保證有效啟動泵數為2或3臺,同時對所有4臺泵逐一循環,這樣就達到了保護設備的目的。而且,不再需要定期切換水泵組啟動順序,因為程序運行后就可以對所有水泵依次開機,不用考慮備用設備定期切換的問題。
另外,在此基礎上,可以通過設定C1的值并調整D10與Y000~Y003的輸出關系來設計停機檢修程序,允許系統在自動狀態下停機檢修一臺或幾臺設備而不影響其它設備的循環。
3結語
PLC作為一種較先進的自動化控制手段,能夠很容易地實現許多傳統低壓電器無法實現的控制功能,而且其升級和維護都十分簡單,但同傳統的低壓電器控制一樣,其程序的編寫也需要程序員對于實際情況認真把握,聯系實際情況才能真正提高現有設備的效率。
參考文獻
[1]李乃夫.可編程控制器原理·應用·實驗[M].北京:中國輕工業出版社,1998