S7-300plc中的FB和FC的分別?FB帶有自己的背景DB而FC沒(méi)有自己的背景DB, 用FC 和FB 有什么分別呢,他們都能實(shí)現控制功能,到底該用FB還是該用FC,什么時(shí)候用FB什么時(shí)候用FC?
FB與FC沒(méi)有太大的差別,FB帶有背景數據塊,而FC沒(méi)有。所以FB帶上不同的數據塊,就可以帶上不同的參數值。這樣就可以用同一FB和不同的背景數據塊,被多個(gè)對象調用。
FC和FB像C中的函數,只不過(guò)FB可以生成靜態(tài)變量,在下次函數調用時(shí)數據可以保留,而FC的變量只在調用期內有效,下次調用又重新更換。 每次調用FC的I/O區域必須要自己每次手動(dòng)輸入,而FB就不要,省去不少麻煩,如果在上位機控制直接輸入DB控制地址就可以。
舉個(gè)例子來(lái)說(shuō),有50臺電機需要控制,這些電機除了參數不一樣,控制流程上是一樣的,每個(gè)
電機需要不同的參數去運行,運行中的過(guò)程參數要參與到下一次的控制過(guò)程中。
這個(gè)要求,用FC做的話(huà),你需要針對不同的電機分配好DB塊,來(lái)逐一的確認參數地址,不能混
淆,保存和調用不能出錯,可以想象會(huì )有多麻煩。如果用FB來(lái)做呢?寫(xiě)好控制過(guò)程和定義的參
數的調用就可以了。針對電機重復調用同一個(gè)FB,每次調用指定一個(gè)獨立的DB作為背景數據塊
,完全不必理會(huì )背景DB中的數據是怎么存儲的。如果功能需要修改,只要修改該FB就行了。
還有其他的例子,比如PID、比如流量累計等等。