尹智龍 九江職業(yè)大學(xué)機(jī)電工程學(xué)院
引言:化學(xué)反應(yīng)池的控制,往往涉及到有毒有害化學(xué)物質(zhì),因此其控制過(guò)程就需要高精度高自動(dòng)化。而可編程邏輯控制方式(即,PLC)是目前應(yīng)用較為廣泛的一種成熟的工業(yè)控制技術(shù)。在本文中,將應(yīng)用PLC技術(shù)進(jìn)行某化學(xué)反應(yīng)池的程序設(shè)計(jì),并且用上位組態(tài)軟件MCGS將其仿真模擬出來(lái),在無(wú)害低成本的工況下,完成了某化學(xué)反應(yīng)池的程序控制設(shè)計(jì)。
本系統(tǒng)是由四個(gè)容器組成的化學(xué)反應(yīng)的裝置。每個(gè)容器都裝有最低位和最高位液位傳感器,用來(lái)檢測(cè)容器內(nèi)液體的高度,對(duì)應(yīng)狀態(tài)為空和滿。將下限位傳感器的狀態(tài)調(diào)至容器為空時(shí)為1的高電平信號(hào)。2#容器還帶有加熱器和溫控器,溫控器的工作原理為當(dāng)溫度到達(dá)設(shè)定值時(shí)對(duì)應(yīng)的觸點(diǎn)動(dòng)作,故為開(kāi)關(guān)量。3#容器帶有攪拌器。當(dāng)有液體進(jìn)入3#反應(yīng)池時(shí),開(kāi)啟攪拌器進(jìn)行攪拌。 3#、4#容器的體積可以裝滿1#和2#混合液體。
動(dòng)作過(guò)程:按下啟動(dòng)按鈕后,進(jìn)料泵P1和進(jìn)料泵P2打開(kāi),分別進(jìn)液體到1#和2#容器,當(dāng)兩個(gè)容器的上限位檢測(cè)到已滿信號(hào)時(shí)關(guān)閉進(jìn)料泵P1和P2;當(dāng)P2關(guān)閉時(shí)加熱器開(kāi)始加熱,當(dāng)溫度到達(dá)60°時(shí)打開(kāi)出料泵P3和P4,開(kāi)始放液體到3#容器;同時(shí)3#容器攪拌器開(kāi)始攪拌,60S后停止攪拌;當(dāng)3#容器滿或者1#或2#容器空,且攪拌完成時(shí)打開(kāi)泵P5,開(kāi)始將混合液體抽到4#產(chǎn)品池;當(dāng)3#容器空或者4#容器滿時(shí)打開(kāi)泵P6,將最終的產(chǎn)品抽到儲(chǔ)蓄池進(jìn)行儲(chǔ)存。按下啟動(dòng)按鈕,重新開(kāi)始循環(huán)。
根據(jù)控制過(guò)程,本系統(tǒng)包括10個(gè)輸入量8個(gè)輸出量。地址分配表如下:?jiǎn)?dòng)按鈕、1#容器滿、1#容器空、2#容器滿、2#容器空、3#容器滿、3#容器空、4#容器滿、4#容器空、溫度傳感信號(hào)的地址對(duì)應(yīng)I0.0-I1.1,泵1接觸器、泵2接觸器、泵3接觸器、泵4接觸器、泵5接觸器、泵6接觸器、加熱器、攪拌器地址對(duì)應(yīng)Q0.0-Q0.7。
系統(tǒng)采用西門(mén)子S7-200系列的PLC作為控制器,選用CPU226型24個(gè)輸入和16個(gè)輸出的PLC基本單元模塊。對(duì)于本系統(tǒng)的設(shè)計(jì)如果用傳統(tǒng)的經(jīng)驗(yàn)法去,對(duì)編程者的編程水平要求比較高,輸出有8個(gè)量,動(dòng)作復(fù)雜。一般對(duì)于工業(yè)生產(chǎn)線的編程方式采用順序控制法思路更清晰,編程更簡(jiǎn)單。順序控制法對(duì)于教復(fù)雜的控制線畫(huà)出順序功能圖,再轉(zhuǎn)換成程序。而從功能圖到程序有特定的結(jié)構(gòu)直接套用即可。根據(jù)控制要求順序功圖如圖2所示。
本設(shè)計(jì)的順序功能圖為并行結(jié)構(gòu),即滿足一個(gè)條件時(shí)同時(shí)要做的事情,但動(dòng)作過(guò)程和條件又不一樣,采用并行結(jié)構(gòu)。當(dāng)按下啟動(dòng)按鈕I0.0時(shí)泵1和泵2閥都打開(kāi),但對(duì)于1#容器和2#容器集滿液體的時(shí)間不一樣,故要分別用各自的液位上限作為停止進(jìn)液體的條件。待兩個(gè)泵都關(guān)閉時(shí)再轉(zhuǎn)到下一步;當(dāng)溫度達(dá)到60度時(shí)又出現(xiàn)并行結(jié)構(gòu)。1#容器和2#容易放液體到3#容器,放空的時(shí)間不一致,同時(shí)60S時(shí)間的攪拌,三個(gè)條件都滿足時(shí)才轉(zhuǎn)到下一步。
編程思路如下:
一開(kāi)始上電時(shí),將S0.0初始步置位。執(zhí)行S0.0這一步的動(dòng)作。M0.0和M0.1表示所有的輸出動(dòng)作都為0,即都不動(dòng)作時(shí),并且4#容器為空即I1.0為1時(shí)按下啟動(dòng)按鈕I0.0,轉(zhuǎn)到S0.1和S0.2這兩步;S0.1和S0.2分別接通泵1和泵2,進(jìn)液體到1#和2#容器,分別放滿時(shí)轉(zhuǎn)到下一步 S2.0 和 S2.1;當(dāng) S2.0 和 S2.1 都接通時(shí)將 S0.3接通;S0.3這一步完成加熱動(dòng)作,當(dāng)溫度達(dá)到設(shè)定值時(shí)轉(zhuǎn)到S0.4,S0.5,S0.6這三步。S0.4為打開(kāi)泵3將液體從1#容器放至3#容器,當(dāng)3#容器滿或者1#容器空時(shí)轉(zhuǎn)到下一步S2.2;S0.5為打開(kāi)泵4將液體從2#容器放至3#容器,當(dāng)3#容器滿或者2#容器空時(shí)轉(zhuǎn)到下一步S2.3;S0.6為開(kāi)始攪拌,60S時(shí)間到后轉(zhuǎn)到下一步S2.4;當(dāng)S2.2,S2.3和 S2.4這三步同時(shí)為1時(shí)接通 S0.7步;S0.7步開(kāi)啟泵5將3#容器的液體抽至4#產(chǎn)品池,當(dāng)3#容器空或者4#容器滿時(shí)轉(zhuǎn)到下一步S1.0;S1.0步開(kāi)啟泵6將4#產(chǎn)品池的液體抽空,4#空后轉(zhuǎn)移到初始步,下一次再按啟動(dòng)按鈕便開(kāi)始循環(huán)。
圖1 順序功能圖
圖5 上位組態(tài)界面
本系統(tǒng)要求上位組態(tài)達(dá)到實(shí)時(shí)顯示各個(gè)輸出動(dòng)作的開(kāi)關(guān)狀態(tài)和液體流動(dòng)的效果以及液位上升下降的效果。選用北京昆侖通泰MCGS上位組態(tài)軟件進(jìn)行上位設(shè)計(jì)。本系統(tǒng)上位組態(tài)要達(dá)到的效果是當(dāng)水泵1打開(kāi)時(shí),流動(dòng)快有水流顯示,且水罐1的液位動(dòng)態(tài)上升,同樣當(dāng)水泵2打開(kāi)時(shí),流動(dòng)快有水流顯示,且水罐2的液位動(dòng)態(tài)上升;當(dāng)液位滿后水泵1和2自動(dòng)關(guān)閉;當(dāng)溫度到達(dá)后水泵3和水泵4自動(dòng)打開(kāi),且流動(dòng)快有水流顯示;同樣當(dāng)泵5或泵6打開(kāi)時(shí)流動(dòng)快有水流顯示。
新建工程,選擇對(duì)應(yīng)的觸摸屏類(lèi)型,如果不用觸摸屏,則隨便選擇一種TPC的類(lèi)型即可。確定后進(jìn)入組態(tài)畫(huà)面。
(1)進(jìn)入實(shí)時(shí)數(shù)據(jù)庫(kù),先定義本設(shè)計(jì)所需要的變量。根據(jù)控制需要定義以下7個(gè)開(kāi)關(guān)型變量:6個(gè)泵和溫度檢測(cè);另外還要定義2個(gè)數(shù)值型變量:液位1,液位2,用來(lái)做液位顯示。
(2)設(shè)備組態(tài)
選擇PPI通訊,通訊設(shè)置將串口COM2改為COM1,其他選擇默認(rèn)值。進(jìn)入設(shè)備組態(tài)變量定義畫(huà)面,添加Q0.0-Q0.5、I1.1共7個(gè)位地址。將泵1到泵6分別對(duì)應(yīng)Q0.0-Q0.5,溫度檢測(cè)對(duì)應(yīng)I1.1。而數(shù)據(jù)庫(kù)中定義的2個(gè)數(shù)值量只是為了做液位動(dòng)畫(huà)效果,不對(duì)應(yīng)實(shí)際的設(shè)備,故不需要在設(shè)備組態(tài)中定義實(shí)際地址與之對(duì)應(yīng)。
點(diǎn)擊用戶窗口,新建一個(gè)窗口命名為“化學(xué)反應(yīng)池點(diǎn)擊用戶窗口”,打開(kāi)繪圖工具箱,分別繪制4種容器 ,管道以及水泵,放置在合適的位置,生產(chǎn)的窗口效果圖如圖5所示。
(1)定義元件操作屬性
6個(gè)泵各自對(duì)應(yīng)每個(gè)泵的變量;流動(dòng)快的流動(dòng)屬性中表達(dá)式對(duì)應(yīng)其泵的變量;1#容器和2#容器的液位動(dòng)畫(huà)效果的定義如下:鼠標(biāo)右鍵點(diǎn)擊水罐1,選擇排列菜單中的分解圖符,將藍(lán)色液位顯示的圖塊(如圖1所示中)分解出來(lái),再對(duì)其雙擊勾選“大小變化”屬性,在其屬性設(shè)置中將最小變化百分比0,對(duì)應(yīng)表達(dá)式的值為0,最大變化百分比100,對(duì)應(yīng)表達(dá)式的值為10。
(2)腳本程序
根據(jù)液位的實(shí)時(shí)動(dòng)畫(huà)效果,設(shè)計(jì)的腳本程序如下:
if 泵1=1 and 液位1<10 then 液位1=液位1+1
endif
if 泵2=1 and 液位2<10 then 液位2=液位2+1
endif
if 溫度檢測(cè)=1 and 泵3=1 and 液位1>0 then液位1=液位1-1
endif
if 溫度檢測(cè)=1 and 泵4=1 and 液位2>0 then液位2=液位2-1
endif
循環(huán)時(shí)間默認(rèn)為1000ms,即腳本程序執(zhí)行一次需要1s鐘。根據(jù)屬性設(shè)置我們將液位上升分成了10次,即每1S鐘上升十分之一,效果不好,不連貫。因此將循環(huán)時(shí)間改為100ms,對(duì)應(yīng)1S鐘液位從空上升到滿,視覺(jué)效果連貫。如果覺(jué)得液位上升過(guò)快,可以將最大變化百分比對(duì)應(yīng)的表達(dá)式的值改的更大一些,比如100,根據(jù)腳本程序液位表達(dá)式的值執(zhí)行一次程序加1,需要10S鐘液位上升完畢。修改液位上升速度的方法有三種:一是改循環(huán)時(shí)間,二是改表達(dá)式的最大值,三是改腳本里的“液位1=液位1+1”這條程序,將加1改大一些。
上位組態(tài)界面設(shè)計(jì)越來(lái)越被重視,通過(guò)上位組態(tài)可以更好地監(jiān)控系統(tǒng)的運(yùn)行情況,同時(shí)畫(huà)面美觀,動(dòng)畫(huà)效果形象。PLC與上位組態(tài)的聯(lián)機(jī)調(diào)試實(shí)現(xiàn)容易,在實(shí)訓(xùn)室便可以進(jìn)行聯(lián)機(jī)調(diào)試,調(diào)試結(jié)果可直接應(yīng)用于現(xiàn)場(chǎng)。本系統(tǒng)的設(shè)計(jì)實(shí)用價(jià)值高,值得推廣。