• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    ABB
    關(guān)注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
    CAIAC 2025
    2025工業(yè)安全大會
    OICT公益講堂
    當(dāng)前位置:首頁 >> 案例 >> 案例首頁

    案例頻道

    巧用編程解決WinCC組態(tài)幾個常見問題
    • 企業(yè):控制網(wǎng)     領(lǐng)域:儀器儀表     行業(yè):化工    
    • 點擊數(shù):4521     發(fā)布時間:2004-11-17 15:06:00
    • 分享到:

     

    聶安興

     

    1  前言

     

        中原大化集團復(fù)合肥廠(以下簡稱為復(fù)合肥廠)配料稱重系統(tǒng)是復(fù)合肥生產(chǎn)的中心環(huán)節(jié),尿素、磷肥和鉀肥以及粘合劑的比例配比直接影響著成品的質(zhì)量和效用。復(fù)合肥廠為提高工藝控制水平,精確配方,采用了PLC控制系統(tǒng)。

     

    2  系統(tǒng)結(jié)構(gòu)

     

        復(fù)合肥廠控制系統(tǒng),上位機采用SIEMENS工控機,CPUP4 1.4G128MDRAM20GHD20CRT。下位機為一臺S7-400PLC系統(tǒng),帶118×13bit模擬量輸入模塊,98×14bit模擬量輸入模塊,632bit24VDC開關(guān)量輸入模塊。上位機與下位機通過MPI電纜連接。

     

        現(xiàn)場的4~20mA24VDC開關(guān)量標(biāo)準(zhǔn)信號進入S7-400,上位機通過MPI/DP通訊口從S7-400獲得數(shù)據(jù)。

     

    3  組態(tài)軟件

     

        該系統(tǒng)硬件均采用SIEMENS公司的產(chǎn)品,并采用SIEMENS公司的配套開發(fā)軟件,上位機用WinCC軟件組態(tài),下位機用STEP 7編程實現(xiàn)。整個系統(tǒng)中,下位機實現(xiàn)保護、控制和數(shù)據(jù)采集的功能,上位機執(zhí)行顯示、報警、存儲等功能。

     

            WinCC系統(tǒng)組態(tài)編程中,Tag是核心概念,人們把它理解為一個外部數(shù)據(jù),可以與下位機的一個內(nèi)存地址單元同步更新,稱為外部Tag;也可以作為WinCC系統(tǒng)組態(tài)編程的一個全局變量,稱為內(nèi)部TagInternal Tag)。因此,上位機與下位機的數(shù)據(jù)通訊是通過外部Tag來實現(xiàn)的,一個工藝參數(shù)就對應(yīng)一個外部Tag,控制系統(tǒng)的大小就決定了外部Tag的多少。WinCC軟件根據(jù)外部Tag的最大數(shù)量分為128512等不同版本,以適應(yīng)不同情況,價格相差很大。筆者采用的是128Tag版本。

     

    4  應(yīng)用技巧

     

            WinCC是一套功能非常強大的組態(tài)軟件,但它不可能滿足所有的要求。有些功能可以用編程技巧來實現(xiàn)。

     

    4.1  Tag傳送

            當(dāng)需要的工藝參數(shù)超過WinCC版本限制的Tag數(shù)目,可以用嵌入式C語言編程實現(xiàn)多個工藝參數(shù)打包成一個Tag傳送。

     

            復(fù)合肥廠配料稱重系統(tǒng)有146個參數(shù),超過了WinCC128Tag的限制,筆者用C語言編程解決了這一問題,基本思想就是把多個參數(shù)在下位機內(nèi)存中連續(xù)排列,然后在WinCC中定義一個Tag,它的長度是多個參數(shù)之和,取得這個Tag后編程將其分成多個參數(shù)。

     

            例如:下位機有兩個參數(shù)LTN44001LTN44023,都是16位整數(shù),分別存放在DD99.DW146DD99.DW148。在WinCC中定義一個外部Tag,命名為PackageTag,類型為32位整數(shù),并聯(lián)地址為DD99.DBD146,再定義兩個內(nèi)部Tag,名為LTN44001LTN44023,在 Global Script(全局腳本)中C語言編程如下:

            Union

            {

               Long Dword

               Int Word[2]

            }union

            Union.Dword=GetTagDword(PackageTag)

            SetTagWord(LTN44001,Union.Word[0])

            SetTagWord(LTN44023,Union.Word[0])

            這樣,兩個參數(shù)LTN44001LTN44023就通過一個Tag傳送上來了。理論上只要下位機內(nèi)存足夠,可以傳送任意數(shù)量的參數(shù)而不受WinCC版本外部Tag數(shù)目的限制。

     

    4.2  彈出窗口

            WinCC中的Graphics Designer 不能制作彈出窗口,這一功能可以按下列步驟來實現(xiàn):

            第一步:制作好彈出窗口的畫面。

            第二步:在流程圖中準(zhǔn)備彈出窗口的位置插入一個與彈出窗口畫面同樣大小的 Picture Window

            第三步:將Picture WindowMiscellaneous Picture Name 設(shè)為彈出窗口畫面。將其 Miscellaneous Display屬性與一個Binary類型的InternalTag 相關(guān)聯(lián)。

     

            使這個 Binary Tag1,彈出窗口;清0,彈出窗口消失。這樣就實現(xiàn)了彈出窗口的功能。另外,在第二步,可以將Picture Window置于另一層(Layer),使它不至于遮蓋住流程圖。

     

    4.3  自動啟動

            為了實現(xiàn)WinCC監(jiān)控系統(tǒng)的自動運行,保證安全性,筆者希望上位機一啟動就進入組態(tài)的工藝畫面,而這一功能可以按下面的步驟實現(xiàn):

            第一步:將WinCC軟件的快捷方式放進WinNT StartProgram中的Startup菜單。

            第二步:進入WinCCComputer Properties設(shè)置窗口,點擊Graphies-Runtime菜單條,將Start Picture設(shè)為自動進入的畫面。

            第三步:將WinCC置為Active狀態(tài),然后退出WinCC

            再重新啟動,就可以自動進入工藝畫面。

     

    4.4  禁止Windows系統(tǒng)熱鍵

            WinCCWinNT應(yīng)用軟件,而WinNT是一個多任務(wù)操作系統(tǒng)。在WinCC運行過程中,如果啟動其它程序,可能對系統(tǒng)產(chǎn)生不良影響,所以必須禁止WinNT的系統(tǒng)熱鍵,防止發(fā)生這種狀況。

     

            進入WinCCComputer Properties設(shè)置窗口,點擊Parameters菜單條,在Disable Keys欄將Ctrl+Alt+DelAlt+TabCtrl+EscAlt+ Esc前的方框打勾,就可以在WinCC中禁止這些熱鍵,再結(jié)合前述的自動啟動的方法,可以保證計算機只能運行WinCC

     

    5  WinCC組態(tài)編程中需注意的問題

     

            (1)  在工藝畫面中用I/O Field()來顯示工藝參數(shù),I/O Field與該工藝參數(shù)的Tag相關(guān)聯(lián),設(shè)置關(guān)聯(lián)屬性時,有一項Update cycle(更新周期)非常關(guān)鍵。WinCC是通過MPI/DP通訊從下位機取得數(shù)據(jù)的,如果Update cycle取得過小,通訊負擔(dān)就很重,造成系統(tǒng)整體性能下降。所以,在滿足需要的前提下,可針對不同的工藝參數(shù)Tag,設(shè)置適當(dāng)?shù)?/SPAN>Update cycle,比如溫度取20秒,壓力取5秒,流量取2秒等,以減輕通訊負荷。

     

            (2)  C語言編程時,如用到用戶編寫的函數(shù),那么在調(diào)用該函數(shù)的程序中必須增加一條語句。

            //include “APDEFAP.H”

            否則,編譯時找不到該函數(shù)。

     

    6  結(jié)語

     

            WinCC軟件是一套功能強大的組態(tài)軟件,能夠用于多種用途的控制系統(tǒng),同時提供嵌入式C語言編程,用戶可以通過編程實現(xiàn)特殊的功能。通過組態(tài)實踐,可以開發(fā)出更為有效、貼近現(xiàn)場工藝、更為人性化的監(jiān)控系統(tǒng)。

    熱點新聞

    推薦產(chǎn)品

    x
    • 在線反饋
    1.我有以下需求:



    2.詳細的需求:
    姓名:
    單位:
    電話:
    郵件: