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