<center id="usk8s"></center>
  • <td id="usk8s"></td>
    <center id="usk8s"></center>
  • <noscript id="usk8s"><kbd id="usk8s"></kbd></noscript>
    <wbr id="usk8s"><sup id="usk8s"></sup></wbr>
    歡迎光臨科威電工電氣商城!     請登錄  [免費注冊]
     購物車 0 件     去結算     幫助中心 | 返回首頁 | 客服電話: 0595-28777778
    當前位置: 首頁 > 科威資訊 > FC與FB的編程及調用

    FC與FB的編程及調用


    STEP7的編程中,經常會用到FC功能和FB功能塊來簡化程序編制,減少程序空間占用。本文通過現場實例詳細介紹了FC功能和FB功能塊的應用

     

    1.FCFB的主要區別

    FCFB的主要區別是FB有背景塊,能夠保存上一次執行的數據,調用一次就需要建立一個DB塊。FC沒有背景塊,多次調用可以共用一個DB

    FC 功能是沒有存儲能力的,給定入口的參數,執行完畢后,從輸出參數讀出結果。FC功能也就完成了。就像計算機高級編程語言中的子函數。當然,FC可以訪問全局的存儲變量,M區,數據塊等等。但是影響程序的可移植性。FC的參數是沒有實際的地址的,只是在調用FC的時候,對應到一個實際的地址來讀取參數。而FB的參數都是有實際對應的地址的,也就是對應的背景數據塊的地址。FB參數傳遞的是數據。FB可以生成靜態變量,下次調用FB的時候,這些靜態變量可以被保留。而FC的變量只在調用期內有效。FBFC的區別在于入口參數,出口參數和使用靜態變量。如果一個FB對入口參數,出口參數和使用靜態變量都不需要,那么與使用沒有入口參數和出口參數的FC基本一樣了。FB可以和多個背景數據塊配合使用,被用來控制多個對象。例如控制多個電機或者泵的運行。多個電機之間參數互不干擾。如果使用FC達成同樣功能,就需要不斷地修改共享數據塊,以避免對象的數據丟失。FC沒有一個永久的數據塊來存儲數據,只是在被調用的時候,被分配一個臨時的數據區。 

     

    2.FC功能編程及調用實例:

    2.1STEP7中完成硬件組態以后,開始編制PLC程序,插入一個功能FC,如圖所示。將FC設置成為一個模擬量數值超限報警程序,模擬量信號比較后輸出報警值。

    FC與FB的編程及調用

     

    2.2FC中創建接口,IN 變量是外部輸入的,只能被本程序塊讀,不能被本程序塊寫,輸入參數只能在功能和功能塊中使用,以將數據傳送到調用塊進行處理。OUT 是本程序塊輸出的,他可以被本程序塊讀寫,其他程序通過引腳只能讀值不能寫,通過它將結果傳送到調用塊IN_OUT 輸入輸出變量 本程序塊和其他程序都可以讀寫這個引腳的值,輸入/輸出參數在功能和功能塊中使用,以將數據傳遞到調用塊中,在調用塊中處理數據,然后再將從調用塊中發送的結果存儲在相同的變量中。

    TEMP 臨時變量是一種在塊執行時,用來暫時存儲數據的變量,這些數據存儲在CPU工作存儲區的局部數據堆棧(L堆棧)中。臨時變量可以在組織快OB、功能FC和功能塊FB中使用,當塊執行時它們被用來臨時存儲數據,一旦塊執行介紹,堆棧重新分配,臨時變量中的數據將丟失。臨時數據是塊的邏輯塊,并且在處理塊時將其存儲在本地的數據堆棧(L堆棧)。關閉塊并完成處理后,臨時數據就變得不再可訪問。

     FC與FB的編程及調用

    2.3編制FC功能程序,實現模擬量數值對比輸出報警信號

    FC與FB的編程及調用

    FC與FB的編程及調用

     

    在其他功能中多次調用此功能程序,簡化程序的編制,此程序的含義為IN_WORD_1IN_WORD_2之間的差值大于8,延時3S中進行報警輸出。

    FC與FB的編程及調用

    3.FB功能塊編程與調用實例:

    3.1創建一個FB功能塊,數據接口定義與FC功能類似。

    FC與FB的編程及調用

     

    3.2編制一個速度調節功能塊程序,如圖所示

    FC與FB的編程及調用

    FC與FB的編程及調用

    FC與FB的編程及調用

    FC與FB的編程及調用

     

    3.3創建DB32數據塊,作為FB的背景數據塊,在功能程序中調用FB功能塊,數據塊選擇必須為FB的背景數據塊,如圖所示,這樣就完成了FB的調用:

     

    FC與FB的編程及調用

     

    u9彩票