如果有多個功能相同的電機需要編程,是使用FC編寫還是FB編寫呢?兩者的本質(zhì)區(qū)別就是調(diào)用FB時需要分配實例化DB,除此之外FB的內(nèi)部還帶有Static變量。
1、從編程的角度來說
無論是FC還是FB都可以完成控制任務(wù),但是既然編程軟件設(shè)計出FC和FB,一定會有不同的應(yīng)用環(huán)境、知識等特征。
2、從高級語言(例如C#)的角度來看
FB可以簡單地看作“類”,把FC看作“方法”。“類”中可以包含方法,F(xiàn)B的Static變量可以看作“類”的屬性參數(shù)?!邦悺钡睦^承可以看作為FB調(diào)用FB(PLC目前沒有該功能),“類”的實例化可以看作生成實例數(shù)據(jù)塊,“類”的一個實例可以看作FB的一個實例數(shù)據(jù)塊,而且每一個實例化數(shù)據(jù)塊的名稱可以修改(對象名稱)。
如果將電機看作一個對象,使用FB編程就比較方便,更有利于后期標準化的建設(shè)。FB中調(diào)用FC,F(xiàn)C實現(xiàn)的應(yīng)該是控制對象的一些輔助功能,例如數(shù)據(jù)的轉(zhuǎn)換、計算等功能;FC調(diào)用FB,F(xiàn)C實現(xiàn)的應(yīng)該是程序的劃分、控制對象預(yù)處理等非標準化的功能。
什么可以被看作一個對象?對象在哪一個層級(單元、設(shè)備、控制)?更詳細的內(nèi)容還需要編程人員對控制設(shè)備結(jié)合工藝的要求進行拆分,便于后期功能的持續(xù)迭代和完善,也有利于程序塊的重復使用和大項目的拼裝。
3、在西門子S7 PLC中,從程序運行過程的角度看
FB和FC傳遞參數(shù)的方式也不同。
共有訪客發(fā)表了評論
網(wǎng)友評論