PLC編程FB和FC塊是什么,如何使用?
一、FB和FC塊是什么,如何使用
FB,FC其實就相當于子程序。
這里先介紹一下子程序:子程序、主程序是就一個程序而言的,在設計一個程序的過程中,常常會遇到功能相同的程序段,例如使燈按特定邏輯順序依次點亮。這類程序段不但不易于維護,而且還經常出現錯誤,也使程序變得龐大,為了克服這個缺點,當遇到具有相同功能的程序時,可以將其以子程序的方式進行處理。所謂的子程序,其實就是一個具有特定功能和邏輯完整性的程序段,它是獨立存在的,但是它又只能服務于某個程序,這就是子程序。使用子程序可以更簡單的編寫程序,提高程序可讀性和復用性。
二、FB和FC區別
FB--功能塊,帶背景數據塊 FC--功能,相當于函數FB,FC塊均相當于子程序,既可以調用其它FB,FC塊,也可以被OB,FB,FC塊調用。
3. 本質上,FB,FC的實現目的是相同的;無論何種邏輯要求,FB,FC均可實現。只是實現方式效率不同,這也和工程師個人編程習慣有關。
三、FB,FC塊管腳定義
是本程序塊輸出的,他可以被本程序塊讀寫,其他程序通過引腳只能讀值不能寫。
TEMP
在PLC運行期間始終被存儲。S7 將靜態變量定義在背景數據塊(僅對FB而言,FC和OB無靜態變量),當被調用塊運行時,能讀出或修改靜態變量;被調用塊結束后,靜態變量保留在數據塊中。
四、臨時變量引起的麻煩
因此,有常見的幾種情況導致程序運行不正常:
在使用臨時變量TEMP時:
1.不能先使用,再賦值。
2.不適用于自鎖線圈。
3.不適用于上升,下降沿。
FC塊可采用M區或全局DB地址;FB塊也可采用自身背景DB的STAT靜態變量。
在FB,FC中使用第一次調用的某個臨時變量,必須先對其賦值即寫指令,而不能是讀指令。
五、FB/FB使用常見問題
對于,多次調用的程序塊,FB塊建議更換調用不同的背景DB;FC則需要確保使用的存儲地址不重復,即每次調用,塊中調用的地址不重復。
對于多次調用的FB,FC,如為S7定時器,計數器,則需要在IN接口中定義TIMER或Counter,每調用一次FB或FC,均賦不同的定時器或計數器號。如為IEC定時器,計數器,則需要在IN接口定義Block_DB,每調用一次FB或FC,均賦不同的DB塊給其中的IEC定時器或計數器。

提交
派拓網絡被Forrester評為XDR領域領導者
展會|Lubeworks路博流體供料系統精彩亮相AMTS展會
中國聯通首個量子通信產品“量子密信”亮相!
國家重大裝備企業齊聚高交會 中國科技第一展11月深圳舉行
東土精彩亮相華南工博會,展現未來工業前沿技術