組態軟件WinCC在污水處理中的應用
1、引言
改革(ge)開發以來,我國(guo)工業(ye)企業(ye)日新月異,規模日益壯大(da)(da),先進設備廣泛應用,工藝(yi)科技含量越(yue)來越(yue)高。在(zai)(zai)生產(chan)中(zhong),自(zi)動(dong)化(hua)技術已經普及(ji)到(dao)各個(ge)(ge)領域、各個(ge)(ge)車(che)間(jian),這充分(fen)說(shuo)明我國(guo)民族工業(ye)的(de)(de)(de)逐(zhu)漸強(qiang)大(da)(da)。但是相比之下(xia),在(zai)(zai)許多(duo)企業(ye)的(de)(de)(de)污(wu)水(shui)處理中(zhong)自(zi)動(dong)化(hua)程度不高,采用的(de)(de)(de)軟(ruan)硬件落后(hou),甚(shen)至有的(de)(de)(de)控(kong)(kong)制(zhi)(zhi)(zhi)點還依(yi)賴于(yu)人工操(cao)作(zuo),無形中(zhong)制(zhi)(zhi)(zhi)約了企業(ye)技術先進化(hua)的(de)(de)(de)發展。為此我們(men)結合某一(yi)個(ge)(ge)排污(wu)量大(da)(da)(平(ping)均流量80T/H)、污(wu)水(shui)成(cheng)分(fen)復雜(包括面(mian)漆水(shui)、電泳水(shui)、車(che)身濃脫脂水(shui)等)、控(kong)(kong)制(zhi)(zhi)(zhi)設備多(duo)(需要600多(duo)控(kong)(kong)制(zhi)(zhi)(zhi)點)的(de)(de)(de)汽車(che)制(zhi)(zhi)(zhi)造廠在(zai)(zai)污(wu)水(shui)處理改造項(xiang)(xiang)目中(zhong),采用20世(shi)紀90年代國(guo)際上先進的(de)(de)(de)工控(kong)(kong)組態軟(ruan)件WinCC,開發了相應的(de)(de)(de)污(wu)水(shui)處理的(de)(de)(de)控(kong)(kong)制(zhi)(zhi)(zhi)程序(xu)。在(zai)(zai)一(yi)年多(duo)時間(jian)的(de)(de)(de)實(shi)際運(yun)行中(zhong),各項(xiang)(xiang)工藝(yi)指標(biao)都達到(dao)了預期(qi)的(de)(de)(de)效果,用戶(hu)十分(fen)滿意(yi),從而(er)告別了長(chang)期(qi)污(wu)水(shui)排放不達標(biao)的(de)(de)(de)被動(dong)局面(mian)。
2、WinCC軟件的簡(jian)介(jie)
工控組(zu)態軟(ruan)件WinCC是一個集成的(de)人機(ji)界面(HMI)系(xi)統和監控管(guan)理系(xi)統,它是西(xi)門子(zi)公司在過程自動(dong)化領域中(zhong)的(de)先進技術和微軟(ruan)公司強大軟(ruan)件功能(neng)的(de)產物,WinCC是視窗(chuang)控制中(zhong)心(Windows Control Center)的(de)簡(jian)稱(cheng)。它包括圖形(xing)設計器、報警記(ji)錄、標記(ji)記(ji)錄、報告(gao)設計器、全局腳(jiao)本(ben)、控制中(zhong)心、用(yong)戶管(guan)理等功能(neng),使其具有高性能(neng)的(de)過程耦合(he)、快速(su)的(de)畫(hua)面更(geng)新、以及可靠(kao)的(de)數據管(guan)理[1~2>。
3、系統構成
對于一(yi)個(ge)普通(tong)(tong)的(de)(de)(de)水處(chu)理項目就(jiu)其工(gong)程(cheng)量而言是巨大的(de)(de)(de),尤(you)其是一(yi)些大型項目,所以開發(fa)控(kong)(kong)制(zhi)程(cheng)序、調試的(de)(de)(de)時間不能(neng)不成為(wei)必(bi)須(xu)考慮(lv)的(de)(de)(de)因素。但(dan)是出于可靠性的(de)(de)(de)考慮(lv),將控(kong)(kong)制(zhi)系(xi)統(tong)的(de)(de)(de)功能(neng)分離(li)是必(bi)須(xu)的(de)(de)(de),即(ji):下位機(ji)執(zhi)行(xing)保護、控(kong)(kong)制(zhi)和數據的(de)(de)(de)采(cai)集,脫離(li)上(shang)(shang)位機(ji)也能(neng)獨立對系(xi)統(tong)進(jin)行(xing)控(kong)(kong)制(zhi),上(shang)(shang)位機(ji)執(zhi)行(xing)顯示、操作、報警(jing)、儲存等。那么(me)帶來(lai)的(de)(de)(de)問題(ti)是上(shang)(shang)下位機(ji)的(de)(de)(de)通(tong)(tong)訊又成為(wei)費時費力的(de)(de)(de)工(gong)作。
WinCC能(neng)和所有主要廠商的PLC進行(xing)通訊,如:AB、GE、Omron等。如果(guo)與(yu)西門子(zi)的PLC系列及STEP 7軟件合用,將(jiang)大幅(fu)降低(di)工程(cheng)時(shi)間,因(yin)為STEP 7中定義的變量(liang)可以(yi)在(zai)WinCC中直接使用。
由于工業污水的水質成分復雜,有害物含量高,所以處理工藝的復雜(包括調節、初沉、混凝氣浮、化學沉淀、生化處理等),要求控制的部件多,相互關聯的控制回路也比較多。其工藝流程簡圖如圖1所示。
圖1、車身廠污水處理(li)工藝(yi)流程(cheng)簡圖
![]() |
系(xi)統(tong)上位(wei)(wei)機(ji)(ji)采用(yong)(yong)工業用(yong)(yong)計(ji)算(suan)機(ji)(ji),配置(zhi)為PⅢ800、256M內(nei)存、40G硬盤、21顯(xian)示(shi)器,運(yun)行中(zhong)文(wen)Windows 2000操作(zuo)系(xi)統(tong),組(zu)態(tai)軟件為WinCC5.0SP2中(zhong)文(wen)版,通(tong)過CP5611通(tong)訊(xun)卡(MPI/PROFIBUS)與下位(wei)(wei)機(ji)(ji)通(tong)訊(xun);下位(wei)(wei)機(ji)(ji)采用(yong)(yong)S7-300系(xi)列中(zhong)的(de)CPU318-2DP,共21塊(kuai)I/O卡。由于(yu)整個處理工藝的(de)占(zhan)地面積比較大(da)(da),控制(zhi)(zhi)回路(lu)(lu)多,為了避免鋪(pu)設大(da)(da)量的(de)控制(zhi)(zhi)線路(lu)(lu),所(suo)以采用(yong)(yong)西門子的(de)ET200模塊(kuai)將一部分I/O放置(zhi)在距離中(zhong)心控制(zhi)(zhi)室較遠而控制(zhi)(zhi)點又比較集中(zhong)的(de)地方,利用(yong)(yong)西門子的(de)PROFIBUS-DP通(tong)訊(xun)協議(yi)形成遠程I/O。控制(zhi)(zhi)系(xi)統(tong)結(jie)構如圖(tu)2所(suo)示(shi)。
4、 WinCC的組態實現
4.1 主控界面(mian)的組態
本系統(tong)的(de)(de)(de)(de)(de)(de)設(she)備比較多,要(yao)(yao)將所(suo)有(you)的(de)(de)(de)(de)(de)(de)設(she)備都(dou)顯示在一(yi)張畫(hua)面(mian)(mian)(mian)(mian)里是(shi)不(bu)可能的(de)(de)(de)(de)(de)(de),所(suo)以將設(she)備按(an)照處理(li)工藝(yi)的(de)(de)(de)(de)(de)(de)功(gong)能步驟分級(ji)在多張畫(hua)面(mian)(mian)(mian)(mian)內,分為電泳線、前處理(li)線、生(sheng)化線、加(jia)藥(yao)線等,之間(jian)的(de)(de)(de)(de)(de)(de)切換使(shi)用(yong)(yong)按(an)鈕(niu)(niu)的(de)(de)(de)(de)(de)(de)鼠(shu)標動(dong)作(zuo)來實現(xian)。這對(dui)于用(yong)(yong)WinCC現(xian)成的(de)(de)(de)(de)(de)(de)鼠(shu)標動(dong)作(zuo)來實現(xian)是(shi)很簡(jian)單的(de)(de)(de)(de)(de)(de),但是(shi)不(bu)是(shi)要(yao)(yao)在每張圖(tu)上都(dou)使(shi)用(yong)(yong)相同數量且(qie)位置排列(lie)順序(xu)一(yi)致(zhi)(zhi)的(de)(de)(de)(de)(de)(de)按(an)鈕(niu)(niu)呢?(出于對(dui)操(cao)作(zuo)的(de)(de)(de)(de)(de)(de)一(yi)致(zhi)(zhi)性(xing)考慮,不(bu)能讓操(cao)作(zuo)人員在不(bu)同的(de)(de)(de)(de)(de)(de)圖(tu)上,不(bu)同的(de)(de)(de)(de)(de)(de)位置找想要(yao)(yao)操(cao)作(zuo)的(de)(de)(de)(de)(de)(de)按(an)鈕(niu)(niu))這個(ge)問題的(de)(de)(de)(de)(de)(de)解決我(wo)們使(shi)用(yong)(yong)WinCC的(de)(de)(de)(de)(de)(de)腳本編程,在按(an)鈕(niu)(niu)動(dong)作(zuo)中(zhong)調用(yong)(yong)它(ta)的(de)(de)(de)(de)(de)(de)內部函數來實現(xian)。首先(xian),組態(tai)一(yi)幅背景畫(hua)面(mian)(mian)(mian)(mian),其中(zhong)包括要(yao)(yao)顯示的(de)(de)(de)(de)(de)(de)靜態(tai)文本、OLE(例如,時鐘)、所(suo)有(you)的(de)(de)(de)(de)(de)(de)圖(tu)形切換按(an)鈕(niu)(niu)及推出關機按(an)鈕(niu)(niu)。第(di)二,在背景畫(hua)面(mian)(mian)(mian)(mian)中(zhong)插入(ru)智能對(dui)象(Smart Object)中(zhong)的(de)(de)(de)(de)(de)(de)畫(hua)面(mian)(mian)(mian)(mian)窗口(Picture Window),并且(qie)使(shi)其的(de)(de)(de)(de)(de)(de)尺寸(cun)與(yu)其分級(ji)畫(hua)面(mian)(mian)(mian)(mian)相同。
4.2 單(dan)個部(bu)件的組態(tai)
對(dui)(dui)于(yu)調節池(chi),反(fan)應池(chi)等(deng)可(ke)以用矩形來(lai)(lai)表示,以圖形的(de)(de)(de)填充高(gao)度(du)來(lai)(lai)示意其液(ye)位的(de)(de)(de)高(gao)度(du)。這里(li)要注意的(de)(de)(de)是一些數(shu)(shu)值(zhi)地(di)轉化,由于(yu)一些儀表例如E+H的(de)(de)(de)超聲波液(ye)位計,是以4~20毫安的(de)(de)(de)電流信號進入PLC,對(dui)(dui)于(yu)表的(de)(de)(de)參數(shu)(shu)設定好以后4毫安就對(dui)(dui)應相(xiang)應池(chi)子的(de)(de)(de)液(ye)位最低點(dian),而(er)20毫安對(dui)(dui)應于(yu)池(chi)子的(de)(de)(de)液(ye)位最高(gao)點(dian)。所(suo)以在顯示數(shu)(shu)字高(gao)度(du)的(de)(de)(de)時候(hou)要將(jiang)PLC相(xiang)對(dui)(dui)4、20毫安的(de)(de)(de)數(shu)(shu)值(zhi)轉化為(wei)實際池(chi)子的(de)(de)(de)高(gao)度(du)范(fan)圍例如,0.5~5.5米。但(dan)是對(dui)(dui)于(yu)圖形填充的(de)(de)(de)時候(hou)是按照百分數(shu)(shu)來(lai)(lai)表 示的(de)(de)(de)所(suo)以還要將(jiang)PLC數(shu)(shu)值(zhi)轉化為(wei)0~100%的(de)(de)(de)度(du)量(liang)范(fan)圍。
攪(jiao)拌機的組態可以使(shi)用C腳本使(shi)其產生(sheng)(sheng)動畫,在(zai)(zai)其運行時產生(sheng)(sheng)視覺上的旋轉。實際(ji)上攪(jiao)拌機的圖形(xing)是用兩個(ge)部分(fen)橢圓組成的,在(zai)(zai)橢圓的屬性->幾何->半徑中加(jia)入代碼如下(xia):
#include \"apdefap.h\"
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
static int x="25",y,z;//x為半徑的初始值為25,y為切換變量,z為攪拌機運行狀態變量
z=GetTagBit(\"202攪拌機運行\"); //取得PLC攪拌機的運行狀態
if(z!=0)
{
switch(y)
{
case 0:
x=x-4;
if(x<=0)
y=1;
break;
default :
x=x+4;
if(x>=25)
y=0;
break;
}
}
return x;
}
4.3語音報(bao)警(jing)的組態
在(zai)工業現(xian)場安(an)全是極其重要(yao)的(de)(de)(de)(de)(de),無論從那(nei)個(ge)角度講我們應該利用(yong)一切手(shou)段(duan)減少故障(zhang)的(de)(de)(de)(de)(de)發生。在(zai)故障(zhang)已經發生的(de)(de)(de)(de)(de)時候,應該在(zai)第(di)一時間以(yi)多種方式(shi)通知操作人(ren)員(yuan)有故障(zhang)發生。現(xian)代(dai)微處理(li)計算(suan)機(ji)的(de)(de)(de)(de)(de)處理(li)速(su)度可以(yi)完(wan)(wan)全勝任對于圖形,語(yu)音(yin)(yin)地同時處理(li)。所(suo)以(yi)我們可以(yi)利用(yong)計算(suan)機(ji)的(de)(de)(de)(de)(de)聲(sheng)卡和音(yin)(yin)箱在(zai)有故障(zhang)發生的(de)(de)(de)(de)(de)時候產生語(yu)言報警,但是問(wen)(wen)題是WinCC本身并不能產生語(yu)音(yin)(yin)的(de)(de)(de)(de)(de)功能,而且其內部的(de)(de)(de)(de)(de)上千個(ge)函數(shu)也沒有提供(gong)處理(li)聲(sheng)音(yin)(yin)的(de)(de)(de)(de)(de)函數(shu)。解決(jue)這個(ge)問(wen)(wen)題的(de)(de)(de)(de)(de)方法歸功于微軟開發的(de)(de)(de)(de)(de)WinCC與操作系統地完(wan)(wan)美結合,因為在(zai)WinCC中可以(yi)直(zhi)接(jie)調用(yong)Windows的(de)(de)(de)(de)(de)API函數(shu)。實現(xian)的(de)(de)(de)(de)(de)具體C腳(jiao)本代(dai)碼如下:
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma code(\"Winmm.dll\")
void WINAPI PlaySoundA(char *pszSound,char *hmode,DWORD dwflay);
#pragma code()
if(GetTagBit(\"112排泥備泵故障\"))
PlaySoundA(\"d:\\\\\\\\winnt\\\\\\\\media\\\\\\\\Mircosoft Sound.wav\",NULL,8);
return 1020;
}
還有一(yi)個值得主(zhu)意的(de)(de)問(wen)題是此段代碼的(de)(de)加入點(dian),通過反復(fu)多次的(de)(de)實踐得出結(jie)論,即這(zhe)個點(dian)必須加在始終顯示于(yu)屏幕(mu)上的(de)(de)任何圖形元素的(de)(de)屬(shu)性中(zhong),這(zhe)樣(yang)才能達到語(yu)言報警的(de)(de)預(yu)期效果(guo)。
5、小結
WinCC采(cai)用(yong)了(le)當今(jin)流(liu)行的(de)(de)面向對(dui)象的(de)(de)技術,很類似流(liu)行的(de)(de)Visual Basic語言。對(dui)象的(de)(de)屬性(xing)可以(yi)進行設定(ding)(ding)或編程以(yi)實現對(dui)該對(dui)象的(de)(de)動畫及事件的(de)(de)觸發,內嵌(qian)的(de)(de)MS C語言減少了(le)開(kai)發者的(de)(de)學習時間(jian),并增加了(le)其(qi)靈活性(xing)。如(ru)果對(dui)于Windows的(de)(de)SDK編程熟(shu)悉(xi)的(de)(de)話,WinCC中調用(yong)Windows系統的(de)(de)API函數完全(quan)可以(yi)實現象VB、VC等高級(ji)語言所能(neng)實現的(de)(de)功能(neng)。但在開(kai)發時間(jian)和易(yi)用(yong)性(xing)、穩(wen)定(ding)(ding)性(xing)上要優于以(yi)上兩種(zhong)語言,因(yin)為它是針對(dui)工業(ye)現場(chang)設計開(kai)發的(de)(de)。

使用微信“掃一掃”功能添加“谷騰環保網”