<sup id="x7dny"><rp id="x7dny"><big id="x7dny"></big></rp></sup>
    • <label id="x7dny"><tt id="x7dny"><tfoot id="x7dny"></tfoot></tt></label>
      <dfn id="x7dny"></dfn>
      <small id="x7dny"><rp id="x7dny"><rt id="x7dny"></rt></rp></small>
      加入收藏 在線留言 聯系我們
      關注微信
      手機掃一掃 立刻聯系商家
      全國服務熱線18475208684
      公司新聞
      西門子 S7-1200 TIA博圖中OB、DB、FC、FB介紹及應用范圍說明再也不用擔心混淆了
      發布時間: 2024-05-23 16:48 更新時間: 2024-12-02 08:00
      OB(Organization block) 組織塊

      圖片image-202405

      OB(Organization block)英文翻譯即組織塊,它是操作系統和用戶程序之間的接口,用于執行具體的程序。

      在 CPU 啟動時循環程序處理在循環或延時時間到達時當發生外部條件觸發時當發生故障、錯誤時

      在TIA Portal中我們Zui常用的OB塊即Main函數(OB1) ,通過Main函數調用 FB、FC,并且這些 FB、FC 還可以繼續向下嵌套調用 FB、FC。除主程序和啟動 OB 以外,其他 OB  的執行是根據各種中斷條件(錯誤、時間、硬件等)來觸發的,OB 無法被 FB、FC 調用。

      嵌套深度:是指可從 OB 調用功能 (FC) 或功能塊 (FB) 等程序代碼塊的深度。

      從程序循環 OB 或啟動 OB 開始調用 FC 和 FB 等程序代碼塊,嵌套深度為 16 層;從其他中斷 OB 開始調用 FC 和 FB 等程序代碼塊,嵌套深度為 6 層;

      OB 事件

      每個組織塊都有各自的優先級,在低優先級 OB 運行過程中,高優先級 OB 到來會打斷低優先級執行。

       允許的數量默認的優先級程序循環(Program cycle)啟動OB(Startup)時間中斷(Time of day)**延時中斷(Time delay interrupt)*循環中斷(Cyclic interrupt)*硬件中斷(Hardware interrupt)時間錯誤(Time error interrupt)診斷中斷(Diagnostic error interrupt)插拔中斷(Pull or plug of modules)**機架或站故障(Rack or station failure)**狀態中斷(Status)**更新中斷(Update)**配置文件中斷(Profile)**MC-Servo ***MC-Interpolator ***MC-PreServo ****MC-PostServo ****
      >=01
      >=01
      <=22
      <=4OB 20:3
           OB 21:4
           OB 22:5
           OB 23:6
           OB 123 - OB 32767:3
      <=4OB 30:8
           OB 31:9
           OB 32:10
           OB 33:11
           OB 34:12
           OB 35:13
           OB 36:14
           OB 37:16
           OB 38:17
           OB 123 - OB 32767:7
      <=5018
      <=122或26
      <=15
      <=16
      <=16
      <=14
      <=14
      <=14
      <=125
      <=124
      <=1-
      <=1-

      * V4.0 版本 CPU 以前,延時中斷 OB + 循環中斷 OB 數量 <=4

      ** V4.0 版本 CPU 開始支持

      *** V4.1 版本 CPU 開始支持

      **** V4.2 版本 CPU 開始支持

      注:關于各OB的使用說明,可查看TIA Portal中幫助文件;

      DB(Data block) 數據塊

      圖片image-202405

      定義

      DB(Data Block)數據塊可以分為:全局數據塊和背景數據塊。數據塊用于存儲用戶數據及程序中間變量,其中背景數據塊由背景功能塊FB生成,內部數據結構由FB的接口定義區決定;

      尋址方式

      在TIA Portal中可通過juedui地址尋址或通過符號尋址;使用juedui地址尋址,需要將優化塊訪問選擇取消(默認使用優化塊訪問)。

      圖片image-202405

      符號地址尋址

      圖片image-202405

      juedui地址:尋址即通過地址DB編號+地址偏移量組成,例如:DB100.dbx0.0

      圖片image-202405

      FC(Function) 和 FB(Function Block)

      定義

      FC(Function)功能:是不含存儲區的代碼塊,常用于對一組輸入值執行特定運算,例如:可使用 FC  執行標準運算和可重復使用的運算(例如數學計算)或者執行工藝功能(如使用位邏輯運算執行獨立的控制)。

      FB(Function Block)功能塊:帶背景數據塊的FC--功能。

      塊接口

      FB 、FC塊都有一個塊接口區,可以用來定義塊接口。在塊接口區域中可以定義的接口類型:Input(輸入)、Output(輸出)、InOut(輸入輸出)、Static(靜態變量,FC無)、Temp(臨時變量)以及  Constant (常量)注:FC 或 FB可帶參數或者不帶參數

      圖片image-202405

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

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

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

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

      圖片image-202405
      FC塊和FB塊 區別和應用

      經常有小伙伴有疑問FB和FC有什么區別, 在什么場景下應用FC,什么場景下應用FB?

      首先,從字面意思來看FC(Function)-功能, FB(Function Block)-功能塊;這兩個之間差了一個"塊",這個塊就是我們常說的背景數據塊(Background DB),FB使用背景數據塊作為存儲區,FC沒有獨立的存儲區,使用全局DB或M區;這是FB與FC的Zui主要區別;

      其次,  FB局部變量有STAT和TEMP,FC由于沒有自己的存儲區因此不具有STAT,且TEMP本身出不能設置初始值。

      FB塊優點:

      易于移植性,對于相同控制邏輯不同參數的被控對象,只要使用不同的背景DB,同一個FB塊就可以方便多重背景,減少重復工作,提高效率多次調用時,參數修改方便有獨立的存儲區

      FC塊優點:

      小巧靈活,對于非多次調用的程序更易理解不占用額外的存儲資源

      FC應用范圍:

      由于FC不具備背景存儲區,因此FC常用來做為子程序入口使用,保持程序簡介易懂, 易復制;例如:工藝段1程序全部放在FC1里面,再由FC1調用相應程序;工藝段1程序全部放在FC2里面,再由FC2調用相應程序;用于執行不含邏輯運算或公共部分程序的功能,例如:處理IO映射、報警程序處理由輸入“直接”到輸出的邏輯功能塊,直接即中間不需要使用臨時變量,只在輸入和輸出之間傳遞參數的功能;例如:將1個16位word轉化為16個Bit輸出功能,或將輸入數據做等比例輸入等功能;

      FB應用范圍:

      FB應用范圍較廣,可完成所有FC實現的功能,但一般情況FB常用來作為某一類相同對象的控制功能塊,然后在FC中調用FB;例如:可將FB應用于電機控制塊,在FB中實現電機的啟動,停止,報警,計時等功能,每個不同的背景DB即可看做一個對象;可大提高程序的設計效率;

      常見問題:

      為何定義的FB,FC塊,多次調用后程序混亂?

      對于,多次調用的程序塊,FB塊建議更換調用不同的背景DB;FC則需要確保使用的存儲地址不重復,即每次調用,塊中調用的地址不重復。

      為何含有定時器或計數器的FB或FC單次調用ok,多次調用時定時器或計數器混亂?

      對于多次調用的FB,FC,如為S7定時器,計數器,則需要在IN接口中定義TIMER或Counter,每調用一次FB或FC,均賦不同的定時器或計數器號。如為IEC定時器,計數器,則需要在IN接口定義Block_DB,每調用一次FB或FC,均賦不同的DB塊給其中的IEC定時器或計數器。


      聯系方式

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