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