西門子中國(授權)一級代理 上海代理商PLC
| 更新時間 2024-12-02 08:00:00 價格 請來電詢價 西門子變頻器 西門子觸摸屏 西門子伺服電機 西門子PLC 西門子直流調速器 西門子電纜 聯系電話 13922889745 聯系手機 18475208684 聯系人 向小姐 立即詢價 |
一 | OB(Organization block) 組織塊 |
image-202405
OB(Organization block)英文翻譯即組織塊,它是操作系統和用戶程序之間的接口,用于執行具體的程序。
在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 到來會打斷低優先級執行。
>=0 | 1 |
>=0 | 1 |
<=2 | 2 |
<=4 | OB 20:3 OB 21:4 OB 22:5 OB 23:6 OB 123 - OB 32767:3 |
<=4 | OB 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 |
<=50 | 18 |
<=1 | 22或26 |
<=1 | 5 |
<=1 | 6 |
<=1 | 6 |
<=1 | 4 |
<=1 | 4 |
<=1 | 4 |
<=1 | 25 |
<=1 | 24 |
<=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即可看做一個對象;可大提高程序的設計效率;
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684