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