今天利用閑暇時(shí)間給朋友們梳理一下這些程序塊到底是是代表什么意思,我們又該如何去用它們。首先我們先解答一下什么是“塊”?!癋C”函數(shù)的意義及使用在PLC編程軟件中的"FC"是指函數(shù)的意思,它是用戶自己編寫的程序塊。比如I0.0和I0.1是啟動(dòng)和停止,Q0.0是輸出控制電機(jī),我們把這種函數(shù)的調(diào)用叫絕對(duì)調(diào)用,很顯然這種方式是不夠靈活的。
什么是PLC的FB,F(xiàn)C,DB,OB,這些塊是什么意思?怎么用?
朋友們好,我是電子及工控技術(shù),我來(lái)回答這個(gè)問(wèn)題。很多不管是學(xué)習(xí)西門子PLC的還是學(xué)習(xí)施耐德或者是三菱的PLC,在PLC的編程軟件中我們會(huì)常常遇見到“FB”、“FC”、“DB”、“OB”這樣的程序塊,以至于使初學(xué)PLC編程的朋友常常對(duì)此很容易產(chǎn)生混淆,甚至用錯(cuò)。今天利用閑暇時(shí)間給朋友們梳理一下這些程序塊到底是是代表什么意思,我們又該如何去用它們。
學(xué)過(guò)PLC的朋友都知道,在對(duì)軟件編寫程序的時(shí)候我們常常用三種編程方法,一種是結(jié)構(gòu)化編程,另一種是線性化編寫程序,還有一種是模塊化的程序編寫。特別是在模塊化編程和結(jié)構(gòu)化編程中就會(huì)常常用到上述用戶塊的功能。首先我們先解答一下什么是“塊”?!皦K”的誕生和功能1、“塊”的功能在PLC程序中有兩種程序,一種是廠家在生產(chǎn)PLC時(shí)把它固化在PLC內(nèi)部CPU中的系統(tǒng)程序,還有一種就是我們需要自己編寫且能夠隨意“擦寫”和下載的用戶程序。
我們?cè)诰帉慞LC程序時(shí),為了使我們的程序條理清晰和便于管理維護(hù)和閱讀,軟件制作者給我們規(guī)制制作了不同功能的塊,我們?cè)诰帉懗绦驎r(shí)就把不同功能的程序?qū)懺诓煌某绦驂K中,當(dāng)PLC運(yùn)行時(shí),它的CPU就會(huì)按照程序需要運(yùn)行的條件去命令相應(yīng)的“塊”來(lái)完成特定的控制任務(wù),這就是塊的功能?!癋C”函數(shù)的意義及使用在PLC編程軟件中的"FC"是指函數(shù)的意思,它是用戶自己編寫的程序塊。
在函數(shù)(FC)中是沒(méi)有數(shù)據(jù)存儲(chǔ)器的,它是可以通過(guò)調(diào)用使用,在調(diào)用時(shí)要給它的形式參數(shù)送一個(gè)具體的數(shù)值才可以用。另外在這個(gè)“FC”函數(shù)里面是有局部變量表和塊參數(shù)的,比如這些變量可以是有輸入、輸出和輸入/輸出和臨時(shí)變量等。它有點(diǎn)類似一個(gè)子程序,可以在主程序中調(diào)用。舉個(gè)PLC啟??刂频暮?jiǎn)單例子,我們可以在主函數(shù)中建立一個(gè)子函數(shù)“FC”命名為“啟??刂艶C1”,建立好函數(shù)后給啟動(dòng)按鈕與停止按鈕以及輸出繼電器關(guān)聯(lián)一個(gè)具體的實(shí)際參數(shù)就可以了。
比如I0.0和I0.1是啟動(dòng)和停止,Q0.0是輸出控制電機(jī),我們把這種函數(shù)的調(diào)用叫絕對(duì)調(diào)用,很顯然這種方式是不夠靈活的?!癋B”函數(shù)塊的意義和作用這個(gè)“FB”函數(shù)塊是我們自己編寫程序時(shí)自己可以創(chuàng)建的,我們創(chuàng)建的這個(gè)函數(shù)塊FB具有他的參數(shù)是可以分配的特點(diǎn),具有相應(yīng)的存儲(chǔ)空間。比如剛才講的我們?cè)谥鞒绦騽?chuàng)建了“FC”函數(shù),由于采用了絕對(duì)調(diào)用顯得不夠靈活,如果我們用“FB”函數(shù)塊來(lái)操作就顯得很“柔性化”了。
我們先在項(xiàng)目中建立一個(gè)函數(shù)塊,在輸入?yún)?shù)中建立兩個(gè)變量分別命名“啟動(dòng)變量”和“停止變量”,再在輸出參數(shù)中建立一個(gè)變量,命名為“電機(jī)變量”。然后再通過(guò)主程序調(diào)用后,啟動(dòng)和停止按鈕就不僅限于I0.0和I0.1了,我們可以任意地相關(guān)聯(lián)就可以了,所以通過(guò)“FB”函數(shù)塊的使用使程序更加靈活,增加了程序的“柔性化”。
“DB”數(shù)據(jù)塊的意義和作用“DB”是數(shù)據(jù)塊,它的作用是儲(chǔ)存我們所編寫程序時(shí)所用的數(shù)據(jù)的,以及所我們所設(shè)置的中間變量也都有它存儲(chǔ)。我們把這種數(shù)據(jù)塊“DB”分成全局?jǐn)?shù)據(jù)塊、數(shù)據(jù)背景數(shù)據(jù)塊和數(shù)據(jù)類型數(shù)據(jù)塊三種。全局?jǐn)?shù)據(jù)塊是存儲(chǔ)程序數(shù)據(jù)的,它可以存儲(chǔ)我們前面所設(shè)置的變量,比如前面說(shuō)的“啟動(dòng)變量”和“停止變量”等。
“OB”組織塊的意義和作用“OB”組織塊是PLC的軟件操作系統(tǒng)與我們所編寫程序的接口,在PLC啟動(dòng)后,PLC里面的CPU就會(huì)循環(huán)執(zhí)行OB組織塊,在“OB”組織塊中我們可以調(diào)用“FC”函數(shù)和“FB”函數(shù)塊?!癘B”具有多個(gè)種類,比如有主程序快“OB1”、中斷程序塊“OB10”等,這樣以來(lái)組織塊“OB”是具有優(yōu)先級(jí)的。