三菱FX PLC學(xué)習(xí)之功能塊指令
吳翠萍
發(fā)布于2021-03-11 16:19
13
2
標(biāo)簽:三菱FX PLC,三菱PLC
【點(diǎn)擊領(lǐng)取】三菱案例 | 西門子案例 | 電工手冊 | 工具箱 軟件
【點(diǎn)擊獲取】三菱PLC例程117個(gè)|西門子PLC例程777個(gè)
【點(diǎn)擊下載】2020最新電工仿真軟件
在PLC的編程語言中,最簡單的就是圖形語言,如我們所學(xué)的梯形圖與SFC,這兩者在編程軟件中都屬于簡單工程。
而我之前所分享的文章中,講到的那些基本指令和功能指令,都是基于簡單梯形圖形式進(jìn)行示例。其實(shí),對于很多功能(函數(shù)),如四則運(yùn)算、比較傳送等,在PLC編程中還有另外一種形式,那就是功能塊形式,它們在編程軟件中為結(jié)構(gòu)化工程類型。
除此之外,PLC的編程語言中還有比較復(fù)雜的文本語言,即ST語言。提及ST語言,簡直令我等凡夫俗子望而卻步,因?yàn)樗褪莻髡f中的純打代碼,為了我的頭發(fā),ST語言我還是直接放棄吧。
既然放棄了ST語言,那么我今天就來給大家簡單分享一下功能塊指令的內(nèi)容吧!
一、什么是功能塊(FB、FUN)
所謂功能塊,如下圖27-1所示,簡單來說,就是可以實(shí)現(xiàn)某些特定功能或函數(shù)的塊,即FB塊或FUN塊,一般情況下把功能塊叫FB塊,但其實(shí)在三菱PLC中,功能塊除了FB塊之外,還有FUN塊,即函數(shù)塊。
圖27-1
類似于子程序,功能塊可以將特定的且需要經(jīng)常使用的功能打包成一個(gè)塊,在程序中多次調(diào)用,另外還可以打包成一個(gè)庫文件,用于多臺電腦上拷貝使用。
這個(gè)“經(jīng)常使用的功能”可以是我們自定義的,也可以是編程軟件自帶的。
例如電機(jī)的起保停程序,我們可以把整個(gè)起保停程序打包成一個(gè)功能塊,如下圖27-2所示,該功能塊的輸入輸出、起保停的啟動、停止和電機(jī)都以標(biāo)簽的形式定義,直到被調(diào)用時(shí)再由用戶指定具體的軟元件,如起保停的啟動用“X0”、電機(jī)用“Y0”等。
圖27-2
這個(gè)“起保停”的功能塊,對應(yīng)梯形圖如下圖27-3所示。還是類似于子程序,功能塊在調(diào)用之前,如果是用戶自定義的,顯然,用戶還需自己先編好一個(gè)功能塊。
圖27-3
當(dāng)然,和子程序不同的是,這個(gè)自定義的功能塊,其中的一些觸點(diǎn)、線圈等只是用標(biāo)簽命名,如圖27-3中的“啟動”、“電機(jī)”等就是用文字命名的標(biāo)簽。
二、功能塊與功能指令的區(qū)別
功能塊用于結(jié)構(gòu)化梯形圖中,可以自行調(diào)用,如下圖27-4所示,可以看到,這個(gè)結(jié)構(gòu)化梯形圖中有很多的塊狀結(jié)構(gòu)(功能塊),除此之外還有一些觸點(diǎn)和線圈。所以結(jié)構(gòu)化梯形圖和簡單梯形圖其實(shí)區(qū)別不大,都是為了實(shí)現(xiàn)特定功能的程序。
圖27-4
但到底是選用簡單梯形圖還是結(jié)構(gòu)化梯形圖,這就看個(gè)人喜歡了。就像是在順控程序中,你可以用SFC的形式編寫,也可以直接編寫梯形圖,問題不大。
而功能塊和功能指令,若是對于一般的功能而言,其實(shí)兩者區(qū)別不大,例如我們要實(shí)現(xiàn)兩個(gè)數(shù)的相加:當(dāng)驅(qū)動條件X0成立時(shí),把D0的當(dāng)前值加上K10,結(jié)果保存到D10中。
它可以通過功能指令實(shí)現(xiàn),也可以運(yùn)用功能塊實(shí)現(xiàn)。如下圖27-5所示為功能指令形式,X0接通,(D0)=K20,執(zhí)行ADD指令后,D10的當(dāng)前值為“和”K30。
圖27-5
而功能塊形式如圖27-6所示,依然是X0接通,(D0)=K20,執(zhí)行程序后,D10的當(dāng)前值為“和”K30。
圖27-6
從以上實(shí)現(xiàn)加法功能來看,功能指令和功能塊可以自行選擇用哪個(gè),但對于較為復(fù)雜的功能,顯然兩種的區(qū)別還是比較明顯的。
這是因?yàn)楣δ軌K可以自定義,而功能指令卻不行。 例如我們要實(shí)現(xiàn)D0、D1的值相加,再乘以D2的值,這就要用上兩個(gè)功能指令A(yù)DD、SUB,而功能塊可以把加和乘集中到一個(gè)塊中,直接調(diào)用。此時(shí)的功能塊,其功能其實(shí)更傾向于類似子程序的作用。
但更深入的功能塊知識,我在這里就不再展開講解啦,大家如果感興趣,可以觀看我們官網(wǎng)的相關(guān)課程哦!我在這里只不過是給大家了解一下,PLC編程中還有功能塊這個(gè)玩意就行了~
其實(shí),對于初學(xué)者,例如我這種小白而言,功能塊這部分知識還是有點(diǎn)難度的,所以我還需要更多的時(shí)間去深入學(xué)習(xí)它,所以我也就不在這里班門弄斧了。
最后,希望有更多的志同道合的人(在PLC知識海洋中掙扎的人)和我一起共同努力、共同進(jìn)步吧!
注:本文章內(nèi)容都是基于三菱 PLC 所寫
(技成培訓(xùn)網(wǎng)原創(chuàng),作者:楊思慧,未經(jīng)授權(quán)不得轉(zhuǎn)載,違者必究)

技成培訓(xùn)
微信公眾號:jcpeixun
|

技成電工課堂
微信公眾號:jcdgkt
|

學(xué)PLC聯(lián)盟
微信公眾號:jcpx006
|