華南區西門子一級代理PLC
| 更新時間 2024-12-28 08:00:00 價格 請來電詢價 西門子PLC 西門子觸摸屏 西門子伺服電機 西門子變頻器 西門子直流調速器 西門子電纜 聯系電話 13922889745 聯系手機 18475208684 聯系人 向小姐 立即詢價 |
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