前文講了在西門子系列的PLC中四個程序模塊的描述,從S7-1200PLC開始就有FC和FB程序塊了,,但在使用的時候,,一些使用者還是不好理解,以至于不知道該如何選擇,。今天,,我們就用大白話的方式給大家講解FC與FB的功能。 1,、FC與FB的作用 那么軟件中的FC和FB功能與這個“餐館”非常類似,。我們把“輸入數(shù)據(jù)”給到FC或者FC程序塊,然后程序塊將數(shù)據(jù)加工,,得到了“輸出數(shù)據(jù)”,。這個過程我們把“輸入數(shù)據(jù)”比作“食材”,把“代碼”比作“廚師”,,把“輸出數(shù)據(jù)”比作“美味佳肴”,。 2、FC與FB的區(qū)別 如果我們把FC和FB都比作餐館的話,,那它們的區(qū)別在哪里呢,?根據(jù)下圖,分別有“A餐館”和“B餐館”,,A餐館沒有儲藏室,,所以A餐館的廚師要把食材從儲藏室拿出來進行加工,當加工完了,,成為了“美味佳肴”之后,,把這道“美味佳肴”放到“儲藏室”去,然后當做菜量比較大,,一旦多了起來,,每次取食材,端菜放進儲藏室要來回折返好多次,,這就比較麻煩了,。并且這個儲藏室也是大家公用的,B餐館也可以采用類似的方法進行菜品加工,。儲藏室就是“共享DB或者位存儲器”,。 B餐館的話,有專門的儲藏室,,所以它就不需要折返去公用的儲藏室去拿食材了,。并且每新開一家B餐館都自帶儲藏室,,這樣話就非常的方便了。B儲藏室就類似于程序中的“背景DB”,。 3,、FC函數(shù) FC是什么呢?函數(shù) (FC) 是不含存儲區(qū)的代碼塊,。通過函數(shù)可在用戶程序中傳送參數(shù),。FB或FC在使用時,都可以使用帶形式參數(shù)與不帶形式參數(shù)的FB/FC,,帶參數(shù)的FB/FC可以實現(xiàn)重復調用,。 帶形式參數(shù)與不帶形式參數(shù)的程序塊有什么區(qū)別呢?我們還是以餐館的形式舉例,。不帶形式參數(shù)的FC:如圖3所示,,有兩家“FC餐館”,它們每天做的菜只能是固定的,,不能根據(jù)不同的菜單而做菜,。如果要做出不同的菜的話,只能再開一家餐館,,這種就是不帶參數(shù)的FC程序,。這種方式和我們在OB1主程序塊中編程基本上一樣(使用的都是全局變量),如圖4所示,。但是這種不帶參數(shù)的FC編程的話,,需要注意是一些狀態(tài)數(shù)據(jù)的值,否則可能會造成數(shù)據(jù)錯誤,。 比如程序,,如圖5,當“FC1風機控制”程序塊中的“Q0.4”自鎖了,,然后斷開“OB1塊”中的“M0.0”,這個時候的Q0.4是不會為“0”的,它還保持為“1”的狀態(tài),。這個就是相當于我們廚師做好了菜,,然后把門關了,菜仍然是在那里,。如果是先把“Q0.4”斷開了,,再把“M0.0”斷開,這個時候的“Q0.4”就是為“0”了,。 FC編程控制 OB1調用 既然我們說了不帶參數(shù)的FC就是不能根據(jù)菜單來做菜就很不方便,,所以就用帶參數(shù)的FC來解決這個問題。帶參數(shù)的FC如圖6所示,。其中第一個FC3程序中的“I0.0” “I0.1” “IQ0.0”和第二FC3程序“I0.2”“I0.3”“Q0.1”這些就是不同的菜單,,根據(jù)不同的輸入菜單就可以很方便的做好菜。 4、帶參數(shù)的FC 要編寫帶參數(shù)的FC程序,,需要先定義一些接口數(shù)據(jù),。其中接口類型主要分為5種,如圖7所示,。
①帶參數(shù)的FC編程示例(起保停程序)如圖8: 使用帶參數(shù)FC編寫星三角啟動程序,,如圖9和圖10 |
|