用西門子PLC編程時,可以用到功能塊FB和功能FC(FB、FC都是組織塊)資料上說FB與FC都可以作為用戶編寫的子程序,但是我不明白這兩個組織塊之間到底有什么區(qū)別阿?在應(yīng)用上到底有什么不同之處嗎?
FB--功能塊,帶背景數(shù)據(jù)塊
FC--功能,相當(dāng)于函數(shù)
他們之間的主要區(qū)別是:FC使用的是共享數(shù)據(jù)塊,F(xiàn)B使用的是背景數(shù)據(jù)塊
舉個例子,如果您要對3個參數(shù)相同的電機(jī)進(jìn)行控制,那么只需要使用FB編程外加3個背景數(shù)據(jù)塊就可以了,但是,如果您使用FC,那么您需要不斷的修改共享數(shù)據(jù)塊,否則會導(dǎo)致數(shù)據(jù)丟失。FB確保了3個電機(jī)的參數(shù)互不干擾。
FB,FC本質(zhì)都是一樣的,都相當(dāng)于子程序,可以被其他程序調(diào)用(也可以調(diào)用其他子程序)。他們的最大區(qū)別是,F(xiàn)B與DB配合使用,DB中保存著FB使用的數(shù)據(jù),即使FB退出后也會一直保留。FC就沒有一個永久的數(shù)據(jù)塊來存放數(shù)據(jù),只在運(yùn)行期間會被分配一個臨時的數(shù)據(jù)區(qū)。在實(shí)際編程中,是使用FB還是FC,要看實(shí)際的需要決定。FB的好處樓上以講得很好了。
FB與FC沒有太大的差別,F(xiàn)B帶有背景數(shù)據(jù)塊,而FC沒有。所以FB帶上不同的數(shù)據(jù)塊,就可以帶上不同的參數(shù)值。這樣就可以用同一FB和不同的背景數(shù)據(jù)塊,被多個對象調(diào)用。
FC和FB像C中的函數(shù),只不過FB可以生成靜態(tài)變量,在下次函數(shù)調(diào)用時數(shù)據(jù)可以保留,而FC的變量只在調(diào)用期內(nèi)有效,下次調(diào)用又重新更換。
S7-300plc中的FB和FC的分別?
FB帶有自己的背景DB而FC沒有自己的背景DB, 用FC 和FB 有什么分別呢,他們都能實(shí)現(xiàn)控制功能,到底該用FB還是該用FC,什么時候用FB什么時候用FC?
FB與FC沒有太大的差別,F(xiàn)B帶有背景數(shù)據(jù)塊,而FC沒有。所以FB帶上不同的數(shù)據(jù)塊,就可以帶上不同的參數(shù)值。這樣就可以用同一FB和不同的背景數(shù)據(jù)塊,被多個對象調(diào)用。
FC和FB像C中的函數(shù),只不過FB可以生成靜態(tài)變量,在下次函數(shù)調(diào)用時數(shù)據(jù)可以保留,而FC的變量只在調(diào)用期內(nèi)有效,下次調(diào)用又重新更換。 每次調(diào)用FC的I/O區(qū)域必須要自己每次手動輸入,而FB就不要,省去不少麻煩,如果在上位機(jī)控制直接輸入DB控制地址就可!