Classification List
PLC可編程控制器中的FB,F(xiàn)C其實就相當(dāng)于子程序。這里先介紹一下子程序:子程序、主程序是就一個程序而言的,在設(shè)計一個程序的過程中,常常會遇到功能相同的程序段,例如使燈按特定邏輯順序依次點亮。這類程序段不但不易于維護(hù),而且還經(jīng)常出現(xiàn)錯誤,也使程序變得龐大,為了克服這個缺點,當(dāng)遇到具有相同功能的程序時,可以將其以子程序的方式進(jìn)行處理。所謂的子程序,其實就是一個具有特定功能和邏輯完整性的程序段,它是獨立存在的,但是它又只能服務(wù)于某個程序,這就是子程序。使用子程序可以更簡單的編寫程序,提高程序可讀性和復(fù)用性。
PLC編程中FB與FC之間的區(qū)別
FB——功能塊,帶有背景數(shù)據(jù)塊(DB)。FC——功能,相當(dāng)于函數(shù),沒有屬于自己的背景數(shù)據(jù)塊。FB和FC最大的區(qū)別在于FB擁有屬于自己的背景數(shù)據(jù)塊,可以將自身的值永久儲存在數(shù)據(jù)塊中,在執(zhí)行過FB塊或退出程序之后這些數(shù)據(jù)值仍然可用。而FC因為沒有屬于自己的數(shù)據(jù)塊,所以執(zhí)行過FC或退出程序之后數(shù)據(jù)將不會保存。
PLC編程中FB和FC的使用
FB與FC作為一個塊擁有屬于自己的管腳,其中包括:
IN——變量從外部輸入,只能被本程序讀,不能被本程序?qū)憽?/p>
OUT——是由本程序塊輸出的,可以被本程序塊讀寫,其他程序只能讀這個值而不能寫。
IN_OUT——輸入輸出變量,本程序和其他程序都可以讀寫這個引腳的值。
TEMP——臨時變量,顧名思義是暫時存儲數(shù)據(jù)的變量。這些臨時的數(shù)據(jù)存儲在CPU工作儲存區(qū)的局部數(shù)據(jù)堆棧(即L區(qū))中。
STAT——在plc運行期間始終被存儲,S7將靜態(tài)變量定義在背景數(shù)據(jù)塊(僅FB擁有靜態(tài)變量),當(dāng)被調(diào)用時可以讀寫靜態(tài)變量,調(diào)用結(jié)束后靜態(tài)變量保存在數(shù)據(jù)塊中,靜態(tài)變量在某種程度上可以作為全局變量來進(jìn)行使用,但使用時出現(xiàn)問題后果自負(fù)。
以上除了STAT(靜態(tài)變量)外FC與FB相同,下面講講二者在使用中的不同
FB需要與背景數(shù)據(jù)塊配合使用。在使用時,因為FB可以帶上多個不同的背景數(shù)據(jù)塊,所以可以帶上不同的參數(shù)值。這樣就可以將同一FB塊和不同的背景數(shù)據(jù)塊被多個對象調(diào)用。
FC使用共享數(shù)據(jù)塊,因此調(diào)用函數(shù)時必須給所有形參分配實參(即先賦值,再使用)。對于FC的臨時數(shù)據(jù),F(xiàn)C采用了局部數(shù)據(jù)堆棧,不保存臨時數(shù)據(jù),要永久性保存數(shù)據(jù),可將輸出值賦給全局儲存器位置,如M儲存器或全局DB。
在程序調(diào)用方面,F(xiàn)B和FC既可以調(diào)用其他FB、FC,也可以被其他OB、FB、FC調(diào)用,非常方便。
FB的優(yōu)點
1. 易于移植,對于相同控制邏輯不同參數(shù)的被控對象,只要使用不同的背景DB,同一個FB塊就可以方便的使用。
2. 可使用多重背景,減少重復(fù)工作,提高效率。
3. 多次調(diào)用時,易于修改參數(shù)。
4. 有獨立的儲存區(qū)。
FC的優(yōu)點
1. 程序簡潔,對于非多次調(diào)用的程序更易理解。
2. 不占用儲存資源。
多年來我們優(yōu)控機電憑借豐富的技術(shù)經(jīng)驗積累,將其專有的技術(shù)和工程經(jīng)驗應(yīng)用到PLC控制與變頻調(diào)速控制領(lǐng)域,針對不同行業(yè)自動化控制需求不同的技術(shù)服務(wù)和解決方案。環(huán)保 、節(jié)能項目的成功實施有效產(chǎn)生了經(jīng)濟節(jié)能效益和社會環(huán)保效益。