<object id="ayu7o"></object>

      <object id="ayu7o"></object>

    1. <menuitem id="ayu7o"></menuitem>
      <object id="ayu7o"></object>
      加入收藏 在線留言 聯系我們
      關注微信
      手機掃一掃 立刻聯系商家
      全國服務熱線18475208684
      公司新聞
      玩轉西門子FB編程(博途環境)
      發布時間: 2024-05-09 21:40 更新時間: 2024-12-02 08:00

      概述

      西門子S7-1200編程可以使用的代碼塊有 OB 塊,FC 塊和 FB 塊。功能塊 (FB) 是從另一個代碼塊(OB、FB 或 FC)進行調用時執行的子例程。在調用 FB 塊時會生成與之相匹配的背景數據塊,在背景數據塊中可以存儲定義的接口參數及靜態變量。下面將具體介紹 FB 塊的使用,主要包含以下 5 個方面:

    2. FB 塊支持的編程語言

    3. FB 塊的塊接口

    4. FB 塊的編程

    5. FB 塊的調用

    6. FB 塊的背景數據塊屬性修改

    7. 一、FB塊支持的編程語言

      S7-1200 使用 FB 塊編程支持的編程語言有 LAD、FBD、 SCL 以及 CEM (博途 V17 開始支持),如圖 1 所示。

      圖片

      圖 1. FB 塊支持的編程語言

      二、FB塊的接口

      FB 塊有一個塊接口區,可以用來定義塊接口。在 FB 的塊接口區域中可以定義的接口類型:Input(輸入)、Output(輸出)、InOut(輸入輸出)、Static(靜態變量)、Temp(臨時變量)以及 Constant (常量),如圖 2 所示。

      圖片

      圖 2. FB 塊接口區

      對于 FB 塊的塊接口訪問如表 1 所示:

      接口類型讀寫訪問描述
      Input只讀調用 FB 塊時,將數據傳送到 FB 塊,實參可以為常數
      Output讀寫將 FB 塊執行的結果輸出,實參不可以為常數
      Inout讀寫讀取外部實參數值并且將結果返回到實參,實參不可為常數
      Static讀寫靜態變量存儲在背景 DB 塊中,不參與對外的參數傳遞
      Temp讀寫-
      Constant只讀-

      表 1. FB 塊塊接口訪問

      對于帶參數的 FB 塊,有形參和實參 2 個概念,如圖 3 所示。

    8. 形參:塊接口區域定義的 Input,Output,InOut 參數;在調用 FB 塊時,會以引腳方式出現在 FB 塊上。Input 和 InOut 類型的變量出現在 FB 塊的左側;Output 類型的變量出現在 FB 塊的右側。

    9. 實參:在調用帶參數的 FB 塊時,為形參填寫的實際變量。

    10. 圖片

      圖 3.形參和實參

      二、FB塊編程

      FB 塊在編程時可以選擇是否在塊接口區定義變量。可以主要分為有 兩種情況:

      (1)情況1:FB 塊帶參數——定義塊接口,FB 塊中通常不出現任何全局變量(DB、I、Q、M);優點:模塊化編程,對于相同的功能/邏輯只需要編寫一個 FB 塊,無需重復多次編寫相同的代碼,進行大量重復性工作;還可將 FB 塊做成項目庫或全局庫,以便后續其他項目或其他工程師使用。FB 塊編寫程序代碼,如圖 4 所示。

      圖片

      圖 4.帶參數的 FB 塊編程

      FB 塊調用以及實參參數的填寫,參考圖 3 。右鍵打開圖 3 中 FB 塊的背景數據塊 “motor_DB”,顯示內容如圖 5 所示。在背景數據塊中可顯示 Input、Output、InOut 及 Static 變量,Temp 和 Constant 變量不會出現在背景數據塊中。

      圖片

      圖 5. FB 塊背景數據塊顯示內容

      編寫的帶參數的 FB 塊,可以多次調用,只需為每次調用的 FB 塊填寫不同的實參。同樣的功能僅需編寫一次即可,無需重復編寫相同的代碼。注意:一般情況下每次調用需要生成不同的背景數據塊。對于部分系統 FB 指令,可能有不同要求,詳見具體指令說明。

      ////////////////////////////////////////////////////////////////////////////////

      (2)情況2:FB 塊不帶參數——不定義任何塊接口,FB 塊編程中,使用全局變量;此種方式不推薦。如果在 FB 塊中編程時不定義任何塊接口變量,那么,在 FB 塊中編程時只能使用全局變量。FB 塊編程如圖 6 所示。

      圖片

      圖 6.不帶參數 FB 塊編程

      不帶參數的 FB 塊調用及其背景數據塊,如圖 7 所示。

      圖片

      圖 7.不帶參數 FB 塊調用及其背景數據塊


      聯系方式

      • 電  話:13922889745
      • 經理:向小姐
      • 手  機:18475208684
      • 微  信:18475208684