PLC編程FB和FC塊是什么,如何使用?
一、FB和FC塊是什么,如何使用
FB,F(xiàn)C其實(shí)就相當(dāng)于子程序。
這里先介紹一下子程序:子程序、主程序是就一個(gè)程序而言的,在設(shè)計(jì)一個(gè)程序的過(guò)程中,常常會(huì)遇到功能相同的程序段,例如使燈按特定邏輯順序依次點(diǎn)亮。這類(lèi)程序段不但不易于維護(hù),而且還經(jīng)常出現(xiàn)錯(cuò)誤,也使程序變得龐大,為了克服這個(gè)缺點(diǎn),當(dāng)遇到具有相同功能的程序時(shí),可以將其以子程序的方式進(jìn)行處理。所謂的子程序,其實(shí)就是一個(gè)具有特定功能和邏輯完整性的程序段,它是獨(dú)立存在的,但是它又只能服務(wù)于某個(gè)程序,這就是子程序。使用子程序可以更簡(jiǎn)單的編寫(xiě)程序,提高程序可讀性和復(fù)用性。
二、FB和FC區(qū)別
FB--功能塊,帶背景數(shù)據(jù)塊 FC--功能,相當(dāng)于函數(shù)FB,F(xiàn)C塊均相當(dāng)于子程序,既可以調(diào)用其它FB,F(xiàn)C塊,也可以被OB,F(xiàn)B,F(xiàn)C塊調(diào)用。
3. 本質(zhì)上,F(xiàn)B,F(xiàn)C的實(shí)現(xiàn)目的是相同的;無(wú)論何種邏輯要求,F(xiàn)B,F(xiàn)C均可實(shí)現(xiàn)。只是實(shí)現(xiàn)方式效率不同,這也和工程師個(gè)人編程習(xí)慣有關(guān)。
三、FB,FC塊管腳定義
是本程序塊輸出的,他可以被本程序塊讀寫(xiě),其他程序通過(guò)引腳只能讀值不能寫(xiě)。
TEMP
在PLC運(yùn)行期間始終被存儲(chǔ)。S7 將靜態(tài)變量定義在背景數(shù)據(jù)塊(僅對(duì)FB而言,F(xiàn)C和OB無(wú)靜態(tài)變量),當(dāng)被調(diào)用塊運(yùn)行時(shí),能讀出或修改靜態(tài)變量;被調(diào)用塊結(jié)束后,靜態(tài)變量保留在數(shù)據(jù)塊中。
四、臨時(shí)變量引起的麻煩
因此,有常見(jiàn)的幾種情況導(dǎo)致程序運(yùn)行不正常:
在使用臨時(shí)變量TEMP時(shí):
1.不能先使用,再賦值。
2.不適用于自鎖線圈。
3.不適用于上升,下降沿。
FC塊可采用M區(qū)或全局DB地址;FB塊也可采用自身背景DB的STAT靜態(tài)變量。
在FB,F(xiàn)C中使用第一次調(diào)用的某個(gè)臨時(shí)變量,必須先對(duì)其賦值即寫(xiě)指令,而不能是讀指令。
五、FB/FB使用常見(jiàn)問(wèn)題
對(duì)于,多次調(diào)用的程序塊,F(xiàn)B塊建議更換調(diào)用不同的背景DB;FC則需要確保使用的存儲(chǔ)地址不重復(fù),即每次調(diào)用,塊中調(diào)用的地址不重復(fù)。
對(duì)于多次調(diào)用的FB,F(xiàn)C,如為S7定時(shí)器,計(jì)數(shù)器,則需要在IN接口中定義TIMER或Counter,每調(diào)用一次FB或FC,均賦不同的定時(shí)器或計(jì)數(shù)器號(hào)。如為IEC定時(shí)器,計(jì)數(shù)器,則需要在IN接口定義Block_DB,每調(diào)用一次FB或FC,均賦不同的DB塊給其中的IEC定時(shí)器或計(jì)數(shù)器。

提交
派拓網(wǎng)絡(luò)被Forrester評(píng)為XDR領(lǐng)域領(lǐng)導(dǎo)者
展會(huì)|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會(huì)
中國(guó)聯(lián)通首個(gè)量子通信產(chǎn)品“量子密信”亮相!
國(guó)家重大裝備企業(yè)齊聚高交會(huì) 中國(guó)科技第一展11月深圳舉行
東土精彩亮相華南工博會(huì),展現(xiàn)未來(lái)工業(yè)前沿技術(shù)