一、現(xiàn)狀簡介
我廠是一間具有70萬噸自來水生產(chǎn)能力的自來水廠,自2009年起分三期完成了常規(guī)工藝的改造,新建了38格v型濾池以取代原有移動(dòng)罩濾池和無閥濾池。由于濾池?cái)?shù)量眾多,因此建立一個(gè)穩(wěn)定可靠的控制系統(tǒng)異常重要,一個(gè)穩(wěn)定可靠的控制系統(tǒng)不僅能大大減少值班人員的勞動(dòng)強(qiáng)度,提高勞動(dòng)生產(chǎn)率,還能大大提高v型濾池運(yùn)行的安全性。此文主要就v型濾池控制系統(tǒng)建設(shè)過程中遇到的一些問題進(jìn)行討論,下面先簡單介紹一下38格濾池的硬件組成和網(wǎng)絡(luò)結(jié)構(gòu)。
(一) 主要反沖洗控制設(shè)備
1、三臺(tái)變頻器控制的鼓風(fēng)機(jī)及其相關(guān)閥門;
2、三臺(tái)變頻器控制的反沖洗水泵及其相關(guān)閥門;
3、38格濾池上的現(xiàn)場控制plc;
4、反沖洗主控plc;
(二) 控制網(wǎng)絡(luò)
整個(gè)控制系統(tǒng)主要由兩種控制網(wǎng)絡(luò)組成。
1、ethernet/ip;
該網(wǎng)絡(luò)用于反沖洗主控plc與濾池現(xiàn)場控制plc之間的數(shù)據(jù)交換及控制;
2、devicenet。
該網(wǎng)絡(luò)主要用于反沖洗主控plc與鼓風(fēng)機(jī)及反沖洗水泵之間的數(shù)據(jù)交換及控制;
二、控制方案的制定
1、控制要求
設(shè)備能夠按照工藝要求自行進(jìn)行反沖洗及濾水操作,實(shí)現(xiàn)無人值守。
2、兩種控制方案的分析
方案一:把整個(gè)控制系統(tǒng)看作一個(gè)人體,反沖洗主控plc為大腦,而38格濾池現(xiàn)場plc則為四肢。這種控制方案38格濾池現(xiàn)場plc只作為現(xiàn)場執(zhí)行機(jī)構(gòu),負(fù)責(zé)現(xiàn)場設(shè)備的控制。反沖洗主控plc負(fù)責(zé)38格濾池的濾水及反沖洗等的邏輯控制,并通過控制網(wǎng)絡(luò)把控制指令發(fā)送給濾池現(xiàn)場plc及相關(guān)反沖洗設(shè)備。
方案二:把整個(gè)控制系統(tǒng)看作一個(gè)社會(huì),38格濾池現(xiàn)場plc為社會(huì)中的個(gè)體,而反沖洗主控plc則充當(dāng)社會(huì)管理者的角色。38格濾池現(xiàn)場plc作為一個(gè)獨(dú)立的控制系統(tǒng)存在,負(fù)責(zé)自身包括濾水及反沖洗等過程的邏輯控制。而反沖洗主控plc則負(fù)責(zé)協(xié)調(diào)各濾池間反沖洗請(qǐng)求及反沖洗設(shè)備的使用。
兩個(gè)方案之間的區(qū)別主要在于濾池及反沖洗的控制邏輯歸屬問題,是由反沖洗主控plc實(shí)現(xiàn)呢,還是由濾池現(xiàn)場plc實(shí)現(xiàn)呢?方案一在程序編寫的角度來說會(huì)比較簡單和方便,主要體現(xiàn)在所有的邏輯關(guān)系均在一臺(tái)plc中實(shí)現(xiàn),不需要考慮與其他plc之間的配合問題,且設(shè)備控制相對(duì)集中容易管理。但這種方案的優(yōu)點(diǎn)也是其缺點(diǎn)所在,在實(shí)際運(yùn)行中會(huì)出現(xiàn)較大的安全隱患,因?yàn)樗械臑V池操作均需要在反沖洗主控plc中實(shí)現(xiàn),一但主控plc發(fā)生故障,全部38格濾池將陷于癱瘓,造成停產(chǎn)事故。另外這種控制方式對(duì)于日后的生產(chǎn)維護(hù)也是不利的,任何涉及主控plc的維護(hù)工作均會(huì)對(duì)水廠的正常生產(chǎn)造成嚴(yán)重影響。方案二,則在程序編寫及調(diào)試方面需要花費(fèi)較多精力,但效果也是明顯的,這種控制方式不但能充分發(fā)揮濾池現(xiàn)場plc的控制功能,而且更重要的是濾池的安全運(yùn)行能夠得到充分的保證。每格濾池的運(yùn)行均由濾池現(xiàn)場plc進(jìn)行控制,控制流程只在需要進(jìn)行反沖洗時(shí)與反沖洗主控plc進(jìn)行配合,因而即使反沖洗主控plc需要進(jìn)行維護(hù)受到影響的也只是少數(shù)的一個(gè)或者兩個(gè)濾池,對(duì)整個(gè)水廠的正常生產(chǎn)不會(huì)造成太大的影響。經(jīng)過以上分析,從安全生產(chǎn)的角度來看方案二更為有利。
三、控制邏輯中需解決的問題
確定控制方案后,我們需要對(duì)具體的控制邏輯進(jìn)行確認(rèn),其中主要有以下幾個(gè)問題
1、 在單個(gè)濾池洗池流程已確定的情況下,如何合理安排38格濾池的洗池。在這里我們提出了兩個(gè)方案
方案一、由反沖洗主控plc按一個(gè)既定的順序一個(gè)接一個(gè)的洗;方案二、由每個(gè)濾池按照濾池自身運(yùn)行情況判斷是否進(jìn)行洗池;同樣的方案一的優(yōu)點(diǎn)在于控制邏輯簡單,但對(duì)濾池的運(yùn)行不利,一方面容易在短時(shí)間內(nèi)產(chǎn)成大量的污水,從而對(duì)污水回收系統(tǒng)造成巨大的負(fù)擔(dān),另一方面也使得整個(gè)濾池的洗池操作可控性不足,對(duì)日后的運(yùn)行維護(hù)不利。而方案二則顯得比較合理,不但能實(shí)時(shí)根據(jù)各個(gè)濾池的運(yùn)行狀態(tài)來確定洗池操作,而且還能避免大量濾池集中在某一時(shí)間進(jìn)行洗池操作的弊端。
2、 如何解決在某個(gè)濾池的洗池過程中,其他濾池的洗池請(qǐng)求
為解決這個(gè)問題我們引入了“排隊(duì)”的概念,即當(dāng)接到洗池請(qǐng)求后反沖洗主控plc便建立一個(gè)單列n行的數(shù)組,這個(gè)數(shù)組就相當(dāng)于一個(gè)洗池的隊(duì)列,并按照先進(jìn)先出的原則進(jìn)行排隊(duì),每個(gè)在這個(gè)數(shù)組被重置之前發(fā)出洗池請(qǐng)求的濾池都會(huì)被加入到這個(gè)洗池隊(duì)列之中,而數(shù)組被重置的時(shí)間就是隊(duì)列中所有濾池的洗池操作完成之時(shí)。排隊(duì)的具體實(shí)現(xiàn)邏輯如下:首先在程序中建立兩個(gè)38行n列個(gè)數(shù)組和一個(gè)單列38行的數(shù)組,數(shù)組1用于存儲(chǔ)38個(gè)濾池的運(yùn)行數(shù)據(jù)及濾池對(duì)主控plc控制指令,數(shù)組2則用于存儲(chǔ)主控plc反沖洗設(shè)備的運(yùn)行狀態(tài)及對(duì)濾池控制指令的反饋。這兩個(gè)數(shù)組會(huì)以固定的時(shí)間間隔發(fā)送到相應(yīng)的現(xiàn)場控制plc中。數(shù)組三則用于存儲(chǔ)洗池隊(duì)列。主控plc根據(jù)數(shù)組1中的內(nèi)容判斷是否收到洗池請(qǐng)求,如果接到洗池請(qǐng)求則將其池號(hào)加入到洗池隊(duì)列中,然后程序判斷洗池隊(duì)列為非0則啟動(dòng)洗池隊(duì)列,并在數(shù)組2中置位相應(yīng)池號(hào)的洗池許可位并發(fā)送至濾池現(xiàn)場plc,濾池現(xiàn)場控制plc接到洗池許可后便啟動(dòng)洗池程序。此時(shí),該濾池現(xiàn)場plc獲得反沖洗鼓風(fēng)機(jī)及水泵的控制權(quán),當(dāng)該池洗池完成后或者洗池過程中出現(xiàn)任何故障時(shí),反沖洗主控plc將把反沖洗鼓風(fēng)機(jī)及水泵的控制權(quán)收回,并將其賦予隊(duì)列中的下一個(gè)濾池。當(dāng)在洗池過程中有濾池申請(qǐng)加入洗池隊(duì)列,反沖洗主控plc會(huì)根據(jù)數(shù)組1里的內(nèi)容把相應(yīng)的池號(hào)加入至隊(duì)列的最后,并置位數(shù)組2中相應(yīng)的排隊(duì)位并發(fā)送至相應(yīng)的濾池現(xiàn)場plc告訴其已加入洗池隊(duì)列,并在往后的判斷中根據(jù)該位的狀態(tài)阻止其重復(fù)加入洗池隊(duì)列。在整個(gè)洗池隊(duì)列的運(yùn)行過程中,我們還引入了“指針”的概念,該指針的作用主要用于確定洗池隊(duì)列的具體位置,確定當(dāng)前洗池的濾池號(hào),該指針隨著洗池隊(duì)列非0的判斷生效而啟動(dòng),并置初始值1,每當(dāng)有數(shù)組1中出現(xiàn)洗池完成位而加1,當(dāng)指針指向隊(duì)列中的0位時(shí),則洗池隊(duì)列完成,并清零隊(duì)列中的所有洗池池號(hào)。
3、 提高程序的執(zhí)行效率
由于需要監(jiān)控的濾池?cái)?shù)量眾多,若按照一般的順序控制邏輯進(jìn)行編程的話,主控plc的控制邏輯將非常龐大而復(fù)雜,程序的執(zhí)行效率會(huì)非常低下,特別是每個(gè)池控制狀態(tài)字和洗池排隊(duì)的判斷。因此需要找方法對(duì)這部分邏輯進(jìn)行優(yōu)化,首先我們在邏輯控制中引入兩個(gè)中間變量,變量一用于濾池的控制狀態(tài)字的映射,變量二則用于洗池排隊(duì)的控制。這樣我們就可以利用這兩個(gè)變量來建立一個(gè)循環(huán)用以實(shí)現(xiàn)濾池控制狀態(tài)字的映射和洗池排隊(duì)控制。具體的實(shí)現(xiàn)方法如下:變量一的每次程序掃描便加1,當(dāng)變量一的值大于38時(shí)將其置零,在每次程序掃描的過程中將變量一作為池號(hào),把相應(yīng)池號(hào)的控制狀態(tài)字映射至對(duì)應(yīng)的數(shù)組。變量二的每次程序掃描便加1,當(dāng)變量二的值大于38時(shí)將其置零,在每次程序掃描的過程中將變量二作為池號(hào)與洗池隊(duì)列指針對(duì)應(yīng)的洗池號(hào)進(jìn)行對(duì)比,兩者相同的話則進(jìn)行洗池操作,若兩者不等則將其排隊(duì)。對(duì)程序進(jìn)行循環(huán)處理后,能大大的簡化控制程序,同時(shí)提高程序執(zhí)行的效率。
結(jié)束語
在進(jìn)行一個(gè)自控系統(tǒng)的規(guī)劃時(shí)需充分了其控制過程及規(guī)模,并結(jié)合硬件設(shè)備的性能進(jìn)行綜合考慮,只有這樣才能在保證基本控制功能的同時(shí),充分發(fā)揮設(shè)備的性能。在數(shù)量面前,簡單的控制邏輯也會(huì)變得不簡單。面對(duì)數(shù)量眾多的控制設(shè)備如何制定一個(gè)合理的邏輯從屬關(guān)系至關(guān)重要,只有在理清各設(shè)備間關(guān)系的前提下,才能使編寫的邏輯程序能高效地執(zhí)行。