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

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

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

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