初學者必懂,S7-1200PLC的程序結(jié)構(gòu)!
吳翠萍
發(fā)布于2020-06-09 16:26
30
2
標簽:西門子PLC,PLC程序結(jié)構(gòu)
【點擊領(lǐng)取】三菱案例 | 西門子案例 | 電工手冊 | 工具箱 軟件
【點擊獲取】三菱PLC例程117個|西門子PLC例程777個
【點擊下載】2020新電工仿真軟件
今天我們來了解一下S7-1200 PLC的程序結(jié)構(gòu)。其實S7-1200 PLC跟S7-200 /200 smart PLC的程序結(jié)構(gòu)是不一樣的!
它是延續(xù)了S7-300/400 PLC的程序結(jié)構(gòu),分為OB塊(組織塊),F(xiàn)B塊(函數(shù)塊),F(xiàn)C塊(函數(shù))以及數(shù)據(jù)塊(DB)。下面會分別介紹一下這些程序塊的功能和特點。
什么是組織塊?組織塊是操作系統(tǒng)和用戶程序之間的接口。
5、組織塊根據(jù)其優(yōu)先級執(zhí)行。
因此,組織塊的基本功能是調(diào)用用戶程序,同時還可以執(zhí)行自動化系統(tǒng)的啟動、循環(huán)程序的處理、中斷程序的執(zhí)行以及錯誤的處理等功能。不同類型的組織塊完成不同的功能,組織塊OB的類型主要有以下幾種。通過上圖,我們可以看到 OB 組織塊分為三個優(yōu)先組,高優(yōu)先組中的組織塊可中斷低優(yōu)先組中的組織塊;如果同一個優(yōu)先組中的組織塊同時觸發(fā)將按其優(yōu)先級由高到低進行排隊依次執(zhí)行;如果同一個優(yōu)先級的組織塊同時觸發(fā)時,將按塊的編號由小到大依次執(zhí)行。什么是數(shù)據(jù)塊DB?數(shù)據(jù)塊用于存儲程序數(shù)據(jù),分為全局數(shù)據(jù)塊和背景數(shù)據(jù)塊。數(shù)據(jù)塊就相當于其他的變量地址,訪問方式分為直接和間接尋址方式。在創(chuàng)建db塊時,如果需要可以插入建好的。對于背景數(shù)據(jù)塊,它與函數(shù)塊相關(guān)聯(lián),存儲FB的輸入、輸出、輸入/輸出、靜態(tài)變量的參數(shù),其變量只能在FB中定義,不能在背景數(shù)據(jù)塊中直接創(chuàng)建,程序中調(diào)用FB時,可以分配一個創(chuàng)建的背景DB,也可以直接定義一個新的DB塊,該DB塊將自動生成并作為這個FB的背景數(shù)據(jù)塊。符號訪問:.<變量名>;例如:Data_Block_1.Var1;絕對地址訪問:.<變量長度及偏移量>:DB1.DBX0.0;DB1.DBB0;DB1.DBW0;DB1.DBD0。注意:復雜數(shù)據(jù)類型只能符號尋址。
什么是函數(shù)?函數(shù)FC是用戶編寫的沒有固定的存儲區(qū)的塊,其臨時變量存儲在局部數(shù)據(jù)堆棧中,F(xiàn)C執(zhí)行結(jié)束后,這些數(shù)據(jù)就丟失。函數(shù)FC常用于對一組輸入值執(zhí)行特定運算,例如:可使用 FC 執(zhí)行標準運算和可重復使用的運算(例如數(shù)學計算)或者執(zhí)行工藝功能(如使用位邏輯運算執(zhí)行獨立的控制)。函數(shù)FC也可以在程序中的不同位置多次調(diào)用,簡化了對經(jīng)常重復發(fā)生的任務(wù)的編程。
函數(shù)FC在使用時可以選擇不帶參數(shù)的FC和帶參數(shù)的FC,若需要使用帶參數(shù)的FC,那么在打開FC后,需要在FC的接口定義相關(guān)的接口參數(shù),調(diào)用函數(shù)FC時需要給FC的所有形參分配實參。接口區(qū)的各個參數(shù)含義如下圖。
接口類型
|
讀寫訪問
|
描述
|
Input
|
只讀
|
調(diào)用時將用戶程序數(shù)據(jù)傳遞到FC中,實參可以為常數(shù)。
|
Output
|
讀寫
|
函數(shù)調(diào)用時將FC執(zhí)行結(jié)果傳遞到用戶程序中。實參不能為常數(shù)。
|
InOut
|
讀寫
|
在塊調(diào)用之前讀取輸入/輸出參數(shù)并在塊調(diào)用之后寫入。實參不能為常數(shù)。
|
Temp
|
讀寫
|
僅在FC調(diào)用時生效,用于存儲臨時中間結(jié)果的變量。
|
Constat
|
只讀
|
聲明常量符號名后,F(xiàn)C中可以使用符號名代替常量。
|
什么是函數(shù)塊?函數(shù)塊FB是用戶編寫的帶有自己的存儲區(qū)的塊。函數(shù)塊FB在使用時可以使用帶參數(shù)的FB和不帶參數(shù)的FB。帶參數(shù)的FB和帶參數(shù)的FC的區(qū)別在于,帶參數(shù)的FC調(diào)用后需要賦予實參后才可運行,而帶參數(shù)的FB可以不賦予實參,也可以運行。
FB的接口區(qū)的各個參數(shù)含義如下圖:
接口類型
|
讀寫訪問
|
描述
|
Input
|
只讀
|
調(diào)用時將用戶程序數(shù)據(jù)傳遞到FB中,實參可以為常數(shù)。
|
Output
|
讀寫
|
函數(shù)調(diào)用時將FB執(zhí)行結(jié)果傳遞到用戶程序中。實參不能為常數(shù)。
|
InOut
|
讀寫
|
在塊調(diào)用之前讀取輸入/輸出參數(shù)并在塊調(diào)用之后寫入。實參不能為常數(shù)。
|
STatic
|
讀寫
|
不參與參數(shù)傳遞,用于存儲中間過程值,可被其他程序塊訪問。
|
Temp
|
讀寫
|
僅在FB調(diào)用時生效,用于存儲臨時中間結(jié)果的變量。
|
Constat
|
只讀
|
聲明常量符號名后,F(xiàn)B中可以使用符號名代替常量。
|
FB與FC相比,每次調(diào)用函數(shù)塊都必須為之分配背景數(shù)據(jù)塊,一個數(shù)據(jù)塊可以作為一個函數(shù)塊的背景數(shù)據(jù)塊,也可以作為多個函數(shù)塊的背景數(shù)據(jù)塊(多重背景數(shù)據(jù)塊),背景數(shù)據(jù)塊作為函數(shù)塊的存儲器,可以將接口數(shù)據(jù)區(qū)(TEMP類型除外)以及函數(shù)塊運算的中間數(shù)據(jù)存儲于背景數(shù)據(jù)塊中,其他邏輯程序可以直接使用背景數(shù)據(jù)塊存儲的數(shù)據(jù)。對于FC,中間邏輯結(jié)果必須使用函數(shù)的輸入、輸出接口區(qū)存儲。
函數(shù)塊FB很少作為子程序使用,通常將函數(shù)塊作為具有存儲功能的函數(shù)使用,每調(diào)用一次分配一個背景數(shù)據(jù)塊,將運算結(jié)果傳遞到背景數(shù)據(jù)塊中存儲。一些特殊編程應(yīng)用可以在函數(shù)塊中指定接口數(shù)據(jù)區(qū)存儲于多重背景數(shù)據(jù)塊的開始位置,使用更靈活。那么以上就是S7-1200 PLC的程序結(jié)構(gòu),OB塊、DB塊、FB塊、FC塊的功能和特點,了解這個基礎(chǔ)也是很重要的,如果是只使用過S7-200/200 SMART PLC的學員,要想更好的學習1200 PLC,了解這個知識是必不可少的哦。(技成培訓原創(chuàng),作者:蔡慧滎,未經(jīng)授權(quán)不得轉(zhuǎn)載,違者必究?。?/strong>

技成培訓
微信公眾號:jcpeixun
|

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

技成PLC課堂
微信公眾號:jc-plc
|