大白話講解FC與FB程序的功能,學(xué)會(huì)又可以加工資了!
在西門子系列PLC中,從S7-1200PLC開(kāi)始就有FC和FB程序塊了,但在使用的時(shí)候,一些初學(xué)者還是不好理解,以至于不知道該如何選擇。今天,我們就用大白話的方式給大家講解FC與FB的功能。
01?FC與FB的作用
如圖1所示(餐館、廚師與食材圖),有一家餐館,餐館家有廚師、設(shè)備等。廚師只要把“食材”買好,然后做飯菜,做好了之后就有“美味佳肴”享用了。那么軟件中的FC和FB功能與這個(gè)“餐館”非常類似。我們把“輸入數(shù)據(jù)”給到FC或者FC程序塊,然后程序塊將數(shù)據(jù)加工,得到了“輸出數(shù)據(jù)”。這個(gè)過(guò)程我們把“輸入數(shù)據(jù)”比作“食材”,把“代碼”比作“廚師”,把“輸出數(shù)據(jù)”比作“美味佳肴”。

02??FC與FB的區(qū)別
既然我們把FC和FB都比作餐館的話,那它們的區(qū)別在哪里呢?我們看圖2,分別有“A餐館”和“B餐館”,A餐館沒(méi)有儲(chǔ)藏室,所以A餐館的廚師要把食材從儲(chǔ)藏室拿出來(lái)進(jìn)行加工,當(dāng)加工完了,成為了“美味佳肴”之后,把這道“美味佳肴”放到“儲(chǔ)藏室”去,然后當(dāng)做菜量比較大,一旦多了起來(lái),每次取食材,端菜放進(jìn)儲(chǔ)藏室要來(lái)回折返好多次,這就比較麻煩了。并且這個(gè)儲(chǔ)藏室也是大家公用的,B餐館也可以采用類似的方法進(jìn)行菜品加工。儲(chǔ)藏室就是“共享DB或者位存儲(chǔ)器”。
B餐館的話,有專門的儲(chǔ)藏室,所以它就不需要折返去公用的儲(chǔ)藏室去拿食材了。并且每新開(kāi)一家B餐館都自帶儲(chǔ)藏室,這樣話就非常的方便了。B儲(chǔ)藏室就類似于程序中的“背景DB”。

03?FC函數(shù)
FC是什么呢?函數(shù) (FC) 是不含存儲(chǔ)區(qū)的代碼塊。通過(guò)函數(shù)可在用戶程序中傳送參數(shù)。FB或FC在使用時(shí),都可以使用帶形式參數(shù)與不帶形式參數(shù)的FB/FC,帶參數(shù)的FB/FC可以實(shí)現(xiàn)重復(fù)調(diào)用。
帶形式參數(shù)與不帶形式參數(shù)的程序塊有什么區(qū)別呢?我們還是以餐館的形式舉例。不帶形式參數(shù)的FC:如圖3所示,有兩家“FC餐館”,它們每天做的菜只能是固定的,不能根據(jù)不同的菜單而做菜。如果要做出不同的菜的話,只能再開(kāi)一家餐館,這種就是不帶參數(shù)的FC程序。這種方式和我們?cè)贠B1主程序塊中編程基本上一樣(使用的都是全局變量),如圖4所示。但是這種不帶參數(shù)的FC編程的話,需要注意是一些狀態(tài)數(shù)據(jù)的值,否則可能會(huì)造成數(shù)據(jù)錯(cuò)誤。
比如程序,如圖5,當(dāng)“FC1風(fēng)機(jī)控制”程序塊中的“Q0.4”自鎖了,然后斷開(kāi)“OB1塊”中的“M0.0”,這個(gè)時(shí)候的Q0.4是不會(huì)為“0”的,它還保持為“1”的狀態(tài)。這個(gè)就是相當(dāng)于我們廚師做好了菜,然后把門關(guān)了,菜仍然是在那里。如果是先把“Q0.4”斷開(kāi)了,再把“M0.0”斷開(kāi),這個(gè)時(shí)候的“Q0.4”就是為“0”了。



既然我們說(shuō)了不帶參數(shù)的FC就是不能根據(jù)菜單來(lái)做菜就很不方便,所以就用帶參數(shù)的FC來(lái)解決這個(gè)問(wèn)題。帶參數(shù)的FC如圖6所示。其中第一個(gè)FC3程序中的“I0.0” “I0.1” “IQ0.0”和第二FC3程序“I0.2”“I0.3”“Q0.1”這些就是不同的菜單,根據(jù)不同的輸入菜單就可以很方便的做好菜。

04?帶參數(shù)的FC
要編寫(xiě)帶參數(shù)的FC程序,需要先定義一些接口數(shù)據(jù)。其中接口類型主要分為5種,如圖7所示。

1)Input接口類型:類似于餐館往餐館里送食材,只負(fù)責(zé)給進(jìn)去,不需要拿出來(lái)。
2)Output接口類型:類似于餐館里做好了菜,然后通過(guò)只負(fù)責(zé)Output接口往外送出來(lái)。
3)Inout接口類型:類似于往餐館里送食材,然后還立即有人給你回復(fù)。
4)Temp接口類型:類似于小餐館里寫(xiě)好的小單子(上面寫(xiě)了每桌客人需要做的菜送到廚房),只起中間過(guò)渡作用,然后后面的客人的菜單把前面人的菜單覆蓋。
5)Constant接口類型:是常量,可以用符號(hào)代替數(shù)值。
①帶參數(shù)的FC編程示例(起保停程序)如圖8:


②使用帶參數(shù)FC編寫(xiě)星三角啟動(dòng)程序,如圖9和圖10


技成培訓(xùn)網(wǎng)原創(chuàng),作者:郭彪,未經(jīng)授權(quán)不得轉(zhuǎn)載,違者必究!
「64本西門子電子書(shū)資料」+PLC視頻課程
掃描下方二維碼免費(fèi)領(lǐng)取圖片圖片
