什麼是PLC的FB,FC,DB,OB,這些塊是什麼意思?怎麼用?

用戶4339968463773


首先你說的這些是在西門子的PLC編程軟件中才有的程序塊,而在其他廠牌的PLC中也有相似功能的程序塊但是就不是叫這些名字了!--比如STEP7軟件和博圖軟件中就有這些,且這些程序塊的規劃也是西門子300/400/1200/1500系列的PLC中才有的。像西門子200系列的PLC中就沒有這樣的程序塊規劃了,雖然200系列的PLC中也有主程序,子程序和數據塊等說法,但是和你提問的這些數據塊有很大的差別!

至於這些塊是什麼含義,最好是來看一下STEP7幫助文件中的解釋,如下圖:

這個圖片是來自STEP7的幫助文件中,從這個圖片可以看到OB塊就叫做組織塊,FB叫功能塊,FC叫功能,DB是數據塊(但是DB其實可以分為共享數據塊和背景數據塊)。這個圖上還可以看到有SFB和SFC這些是系統提供的預定義過的功能塊和功能!

我來簡要的說一下這些塊通常怎麼使用,因為像組織塊OB就有很類型,即很多個OB塊的,每個塊的作用不同,用法也就不同,所以這裡只簡要說一點常規的。

OB組織塊中最普通常用的就是OB1它就像西門子200PLC中的主程序一樣,根據掃描週期一遍又一遍的自動執行OB1中的程序,所有的其他的FB、FC等的子程序都需要在OB1中被調用,它們中的程序才能被執行,因為只有OB1才是一個自動循環執行的主程序,CPU上電後這個OB1塊就不斷的自動執行。而像OB35是一個100ms的根據時間來自動執行的循環中斷OB組織塊,OB40是一個硬件中斷組織塊,這裡中斷的意思主要就是中斷OB1的程序循環,先執行中斷,中斷執行後再繼續執行OB1中的程序。

FB功能塊,就是可以創建你想創建的子程序,但是FB塊的在調用的時候必須配合DB塊來使用。

FC功能,它和FB塊的作用一樣,都是用來創建子程序的時候使用,但是FC就不需要配合DB塊使用。

FB和FC塊中寫好子程序後,必須在OB1中被調用,它們塊中的程序才能被執行。如果,你忘記在OB1中調用了,那麼響應的程序則無法執行!

再來說一下DB塊,上邊我說了DB塊有2種,當其為背景數據塊的時候,其實他就像是一個FB塊的專用映像數據塊,可以便於我們觀察這個FB塊中的一些參數。而當DB塊被定義為全局數據塊的時候,它就不專屬於某個FB功能塊了,它可能可以存儲多個FB塊的數據,當然也可以存儲不是FB塊中的數據。


就簡單說這麼多了,因為你問題中的這些塊,每一種都不是簡單的幾百字能寫的清楚明白的,都需要自己在項目實際應用中去掌握更多的技巧和用法,言盡於此,希望能對你有點用處,謝謝!


控制研究控


首先FB塊功能塊,FC功能。FC裡面可以編程不同的程序就是沒有共同程式的程序而後被OB塊調用,OB是執行,它可以調用你所編的程序的每個塊,調用你所編的塊之後,然後PLC只能通過掃描OB塊來處理你所編程序,OB塊可以調用很多塊。FB塊裡面主要編的就是一些有共同程式的一些程序,舉例,三個電機要分別運行,都是通過星三角啟動的,只是他們功率不一樣,所以所選擇的交流接觸器,熱保護型號也不一樣,包括啟動關閉開關形成的電路圖都是一樣的,所以此時他們三個電路圖都是一樣的,這就起他們的共同點形成的程式,這個共同的程式也就是電路圖就編程在FB裡面,每個FB塊可以形成不同的DB,DB裡面就是沒有電機運行的參數。三個電機就會調用共同的FB三次就形成3個DB塊,每個DB對應每組的參數。這個DB塊我們稱之為背景數據塊,因為它是一個DB相對應一組電機的。FC在編程的時候也會產生數據。這個數據在共享數據塊裡,都可以調用的,公用的。





分享到:


相關文章: