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