4、 WinCC的組態(tài)實現(xiàn)
4.1 主控界面的組態(tài)
  本系統(tǒng)的設(shè)備比較多,要將所有的設(shè)備都顯示在一張畫面里是不可能的,所以將設(shè)備按照處理工藝的功能步驟分級在多張畫面內(nèi),分為電泳線、前處理線、生化線、加藥線等,之間的切換使用按鈕的鼠標(biāo)動作來實現(xiàn)。這對于用WinCC現(xiàn)成的鼠標(biāo)動作來實現(xiàn)是很簡單的,但是不是要在每張圖上都使用相同數(shù)量且位置排列順序">

      技術(shù)頻道

      組態(tài)軟件WinCC在污水處理中的應(yīng)用(2)

      4、 WinCC的組態(tài)實現(xiàn)
      4.1 主控界面的組態(tài)
        本系統(tǒng)的設(shè)備比較多,要將所有的設(shè)備都顯示在一張畫面里是不可能的,所以將設(shè)備按照處理工藝的功能步驟分級在多張畫面內(nèi),分為電泳線、前處理線、生化線、加藥線等,之間的切換使用按鈕的鼠標(biāo)動作來實現(xiàn)。這對于用WinCC現(xiàn)成的鼠標(biāo)動作來實現(xiàn)是很簡單的,但是不是要在每張圖上都使用相同數(shù)量且位置排列順序一致的按鈕呢?(出于對操作的一致性考慮,不能讓操作人員在不同的圖上,不同的位置找想要操作的按鈕)這個問題的解決我們使用WinCC的腳本編程,在按鈕動作中調(diào)用它的內(nèi)部函數(shù)來實現(xiàn)。首先,組態(tài)一幅背景畫面,其中包括要顯示的靜態(tài)文本、OLE(例如,時鐘)、所有的圖形切換按鈕及推出關(guān)機按鈕。第二,在背景畫面中插入智能對象(Smart Object)中的畫面窗口(Picture Window),并且使其的尺寸與其分級畫面相同。第三,在相應(yīng)的切換按鈕的屬性->事件->鼠標(biāo)動作中編寫如下C語言腳本代碼:
        #include\"apdefap.h\"
        void OnClick(char *lpsz PictureName,
        char *lpsz ObjectName,char *lpsz PropertyName)
        {
        SetPictureName(\"背景畫面\", \"畫面窗口\", \"電泳處理線\");
        } //\"背景畫面\"即為始終顯示地靜態(tài)背景的屬性名,\"畫面窗口\"即為在背景畫//面中插入地畫面窗口(Picture Window)屬性名,\"電泳處理  線\"即為分級畫面//的名稱
        這樣就能方便快捷地切換畫面。
        還有一個必須始終顯示的是報警記錄,用畫面顏色閃爍來提示操作者有故障發(fā)生,可以用同樣的C語言腳本(當(dāng)然不是加在鼠標(biāo)動作中)在背景畫面的底部留下一條類似Windows狀態(tài)欄的報警欄,當(dāng)出現(xiàn)故障報警的時候在報警欄顯示最近一條報警記錄,操作人員可以利用按鈕切換到主報警記錄畫面了解故障的完全信息。
      4.2 單個部件的組態(tài)
        WinCC在其內(nèi)部的圖庫里集成很多的圖形對象,如水箱、電機、閥門等等,對于污水處理用的最多的是水池,攪拌機等等。為了使組態(tài)畫面貼近實際,能夠更好的反應(yīng)現(xiàn)場工況,圖庫里的元素并不能滿足要求。我們可以利用WinCC的畫圖工具自己繪制適應(yīng)實際的圖形元素,并且使用C腳本使其產(chǎn)生動畫效果。如3圖所示。

      圖3、組態(tài)部件元素


        對于調(diào)節(jié)池,反應(yīng)池等可以用矩形來表示,以圖形的填充高度來示意其液位的高度。這里要注意的是一些數(shù)值地轉(zhuǎn)化,由于一些儀表例如E+H的超聲波液位計,是以4~20毫安的電流信號進(jìn)入PLC,對于表的參數(shù)設(shè)定好以后4毫安就對應(yīng)相應(yīng)池子的液位最低點,而20毫安對應(yīng)于池子的液位最高點。所以在顯示數(shù)字高度的時候要將PLC相對4、20毫安的數(shù)值轉(zhuǎn)化為實際池子的高度范圍例如,0.5~5.5米。但是對于圖形填充的時候是按照百分?jǐn)?shù)來表示的所以還要將PLC數(shù)值轉(zhuǎn)化為0~100%的度量范圍。
        攪拌機的組態(tài)可以使用C腳本使其產(chǎn)生動畫,在其運行時產(chǎn)生視覺上的旋轉(zhuǎn)。實際上攪拌機的圖形是用兩個部分橢圓組成的,在橢圓的屬性->幾何->半徑中加入代碼如下:


        #include \"apdefap.h\"
        long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
        {
        static int x=25,y,z;//x為半徑的初始值為25,y為切換變量,z為攪拌機運行狀態(tài)變量
        z=GetTagBit(\"202攪拌機運行\(zhòng)"); //取得PLC攪拌機的運行狀態(tài)
        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語音報警的組態(tài)
        在工業(yè)現(xiàn)場安全是極其重要的,無論從那個角度講我們應(yīng)該利用一切手段減少故障的發(fā)生。在故障已經(jīng)發(fā)生的時候,應(yīng)該在第一時間以多種方式通知操作人員有故障發(fā)生。現(xiàn)代微處理計算機的處理速度可以完全勝任對于圖形,語音地同時處理。所以我們可以利用計算機的聲卡和音箱在有故障發(fā)生的時候產(chǎn)生語言報警,但是問題是WinCC本身并不能產(chǎn)生語音的功能,而且其內(nèi)部的上千個函數(shù)也沒有提供處理聲音的函數(shù)。解決這個問題的方法歸功于微軟開發(fā)的WinCC與操作系統(tǒng)地完美結(jié)合,因為在WinCC中可以直接調(diào)用Windows的API函數(shù)。實現(xiàn)的具體C腳本代碼如下:


        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;
        }


        還有一個值得主意的問題是此段代碼的加入點,通過反復(fù)多次的實踐得出結(jié)論,即這個點必須加在始終顯示于屏幕上的任何圖形元素的屬性中,這樣才能達(dá)到語言報警的預(yù)期效果。
      5、 小結(jié)
        WinCC采用了當(dāng)今流行的面向?qū)ο蟮募夹g(shù),很類似流行的Visual Basic語言。對象的屬性可以進(jìn)行設(shè)定或編程以實現(xiàn)對該對象的動畫及事件的觸發(fā),內(nèi)嵌的MS C語言減少了開發(fā)者的學(xué)習(xí)時間,并增加了其靈活性。如果對于Windows的SDK編程熟悉的話,WinCC中調(diào)用Windows系統(tǒng)的API函數(shù)完全可以實現(xiàn)象VB、VC等高級語言所能實現(xiàn)的功能。但在開發(fā)時間和易用性、穩(wěn)定性上要優(yōu)于以上兩種語言,因為它是針對工業(yè)現(xiàn)場設(shè)計開發(fā)的。

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 精品在线一区二区三区| 少妇人妻偷人精品一区二区| 国产午夜精品一区二区三区嫩草| 亚洲综合无码一区二区三区| 久久精品国产一区二区三区| 国产精品亚洲专区一区| 亚洲午夜电影一区二区三区 | 国产a∨精品一区二区三区不卡 | 色偷偷久久一区二区三区| 国产av一区最新精品| 91福利视频一区| 无码少妇一区二区三区| 亚洲av午夜精品一区二区三区| 爱爱帝国亚洲一区二区三区| 亚洲av日韩综合一区久热| 亚洲一区二区三区久久久久| 日韩精品成人一区二区三区| 国产一区二区三区91| 好看的电影网站亚洲一区| 国产自产V一区二区三区C| 成人精品视频一区二区三区不卡 | 无码国产精品一区二区免费3p | 亚洲AV乱码一区二区三区林ゆな| 中文字幕一区在线播放| 国模无码一区二区三区不卡| 任你躁国产自任一区二区三区| 国产凹凸在线一区二区| 久久久久无码国产精品一区 | 色噜噜狠狠一区二区| 亚洲AV噜噜一区二区三区| 在线视频精品一区| 国产av夜夜欢一区二区三区| 美女福利视频一区二区| 中文字幕在线观看一区| 文中字幕一区二区三区视频播放| 亚洲香蕉久久一区二区三区四区| 亚洲av无码成人影院一区 | 国产精品高清一区二区三区不卡| 亚洲一区二区三区播放在线| 曰韩人妻无码一区二区三区综合部| 亚洲AV无码一区二区三区电影|