在STEP7的編程中,經(jīng)常會用到FC功能和FB功能塊來簡化程序編制,減少程序空間占用。本文通過現(xiàn)場實例詳細(xì)介紹了FC功能和FB功能塊的應(yīng)用
1.FC和FB的主要區(qū)別
FC和FB的主要區(qū)別是FB有背景塊,能夠保存上一次執(zhí)行的數(shù)據(jù),調(diào)用一次就需要建立一個DB塊。FC沒有背景塊,多次調(diào)用可以共用一個DB塊
FC 功能是沒有存儲能力的,給定入口的參數(shù),執(zhí)行完畢后,從輸出參數(shù)讀出結(jié)果。FC功能也就完成了。就像計算機高級編程語言中的子函數(shù)。當(dāng)然,F(xiàn)C可以訪問全局的存儲變量,M區(qū),數(shù)據(jù)塊等等。但是影響程序的可移植性。FC的參數(shù)是沒有實際的地址的,只是在調(diào)用FC的時候,對應(yīng)到一個實際的地址來讀取參數(shù)。而FB的參數(shù)都是有實際對應(yīng)的地址的,也就是對應(yīng)的背景數(shù)據(jù)塊的地址。FB參數(shù)傳遞的是數(shù)據(jù)。FB可以生成靜態(tài)變量,下次調(diào)用FB的時候,這些靜態(tài)變量可以被保留。而FC的變量只在調(diào)用期內(nèi)有效。FB與FC的區(qū)別在于入口參數(shù),出口參數(shù)和使用靜態(tài)變量。如果一個FB對入口參數(shù),出口參數(shù)和使用靜態(tài)變量都不需要,那么與使用沒有入口參數(shù)和出口參數(shù)的FC基本一樣了。FB可以和多個背景數(shù)據(jù)塊配合使用,被用來控制多個對象。例如控制多個電機或者泵的運行。多個電機之間參數(shù)互不干擾。如果使用FC達成同樣功能,就需要不斷地修改共享數(shù)據(jù)塊,以避免對象的數(shù)據(jù)丟失。FC沒有一個永久的數(shù)據(jù)塊來存儲數(shù)據(jù),只是在被調(diào)用的時候,被分配一個臨時的數(shù)據(jù)區(qū)。
2.FC功能編程及調(diào)用實例:
2.1在STEP7中完成硬件組態(tài)以后,開始編制PLC程序,插入一個功能FC,如圖所示。將FC設(shè)置成為一個模擬量數(shù)值超限報警程序,模擬量信號比較后輸出報警值。
2.2在FC中創(chuàng)建接口,IN 變量是外部輸入的,只能被本程序塊讀,不能被本程序塊寫,輸入?yún)?shù)只能在功能和功能塊中使用,以將數(shù)據(jù)傳送到調(diào)用塊進行處理。OUT 是本程序塊輸出的,他可以被本程序塊讀寫,其他程序通過引腳只能讀值不能寫,通過它將結(jié)果傳送到調(diào)用塊IN_OUT 輸入輸出變量 本程序塊和其他程序都可以讀寫這個引腳的值,輸入/輸出參數(shù)在功能和功能塊中使用,以將數(shù)據(jù)傳遞到調(diào)用塊中,在調(diào)用塊中處理數(shù)據(jù),然后再將從調(diào)用塊中發(fā)送的結(jié)果存儲在相同的變量中。
TEMP 臨時變量是一種在塊執(zhí)行時,用來暫時存儲數(shù)據(jù)的變量,這些數(shù)據(jù)存儲在CPU工作存儲區(qū)的局部數(shù)據(jù)堆棧(L堆棧)中。臨時變量可以在組織快OB、功能FC和功能塊FB中使用,當(dāng)塊執(zhí)行時它們被用來臨時存儲數(shù)據(jù),一旦塊執(zhí)行介紹,堆棧重新分配,臨時變量中的數(shù)據(jù)將丟失。臨時數(shù)據(jù)是塊的邏輯塊,并且在處理塊時將其存儲在本地的數(shù)據(jù)堆棧(L堆棧)。關(guān)閉塊并完成處理后,臨時數(shù)據(jù)就變得不再可訪問。
2.3編制FC功能程序,實現(xiàn)模擬量數(shù)值對比輸出報警信號
在其他功能中多次調(diào)用此功能程序,簡化程序的編制,此程序的含義為IN_WORD_1與IN_WORD_2之間的差值大于8,延時3S中進行報警輸出。
3.FB功能塊編程與調(diào)用實例:
3.1創(chuàng)建一個FB功能塊,數(shù)據(jù)接口定義與FC功能類似。
3.2編制一個速度調(diào)節(jié)功能塊程序,如圖所示
3.3創(chuàng)建DB32數(shù)據(jù)塊,作為FB的背景數(shù)據(jù)塊,在功能程序中調(diào)用FB功能塊,數(shù)據(jù)塊選擇必須為FB的背景數(shù)據(jù)塊,如圖所示,這樣就完成了FB的調(diào)用:
-
plc
+關(guān)注
關(guān)注
5010文章
13271瀏覽量
463049 -
編程
+關(guān)注
關(guān)注
88文章
3614瀏覽量
93686 -
編程語言
+關(guān)注
關(guān)注
10文章
1942瀏覽量
34707
原文標(biāo)題:實例詳解FC與FB的編程及調(diào)用
文章出處:【微信號:GKB1508,微信公眾號:工控幫】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論