回收西門子模塊6ES75901AE800AA0 回收西門子模塊6ES75901AE800AA0
OB1是主程序循環(huán)塊,在任何情況下,它都是需要的。根據(jù)過(guò)程控制的復(fù)雜程度,可將所有程序放入OB1進(jìn)行線性編程,或?qū)⒊绦蛴貌煌倪壿媺K加以結(jié)構(gòu)化,通過(guò)OB1調(diào)用這些邏輯塊,并允許塊間的相互調(diào)用。塊的調(diào)用指令止當(dāng)前塊(調(diào)用塊)的運(yùn)行調(diào)用,然后執(zhí)行被調(diào)用塊的所有指令。一旦被調(diào)用的塊被完成,執(zhí)行調(diào)用指令的塊繼續(xù)執(zhí)行調(diào)用指令后的指令。調(diào)用塊可以是任何邏輯塊,被調(diào)用塊只能是功能塊(除OB外的邏輯塊)。圖5.1所示是一個(gè)STEP 7調(diào)用實(shí)例。除了OB1,操作系統(tǒng)可以調(diào)用其它的OB塊以響應(yīng)確定事件。其它可用的OB塊隨所用的CPU性能和控制過(guò)程的要求而定。
功能塊(FB、FC)實(shí)際上是用戶子程序,分為帶“記憶”的功能塊FB和不帶“記憶”的功能塊FC。前者有一個(gè)數(shù)據(jù)結(jié)構(gòu)與該功能塊的參數(shù)表*相同的數(shù)據(jù)塊(DB)附屬于該功能塊,并隨功能塊的調(diào)用而打開,隨功能塊的結(jié)束而關(guān)閉。該附屬數(shù)據(jù)塊叫做背景數(shù)據(jù)塊(Instance Data Block),存放在背景數(shù)據(jù)塊中的數(shù)據(jù)在FB塊結(jié)束時(shí)繼續(xù)保持,即被“記憶”。功能塊FC沒(méi)有背景數(shù)據(jù)塊,當(dāng)FC完成操作后數(shù)據(jù)不能保持。
數(shù)據(jù)塊(DB)是用戶定義的用于存取數(shù)據(jù)的存儲(chǔ)區(qū),可以被打開或關(guān)閉。DB可以是屬于某個(gè)FB的情景數(shù)據(jù)塊,也可以是通用的全局?jǐn)?shù)據(jù)塊,用于FB或FC。S7 CPU還提供標(biāo)準(zhǔn)系統(tǒng)能塊(SFB、SFC),它們是預(yù)先編好的,經(jīng)過(guò)測(cè)試后集成在S7 CPU的能程序庫(kù)。用戶可以直接調(diào)用它們,高效地編制自己的程序。由于它們是操作系統(tǒng)的一部分,因此不需將其作為用戶程序下載到PLC。與FB塊相似,SFB需要一個(gè)背景數(shù)據(jù)塊,并需將此DB塊作為程序的一部分安裝到CPU中。不同的CPU提供不同的SFB、SFC功能。
系統(tǒng)數(shù)據(jù)塊(SDB)是為存放PLC參數(shù)所建立的系統(tǒng)數(shù)據(jù)存儲(chǔ)區(qū)。用STEP 7的S7組態(tài)軟件可以將PLC組態(tài)數(shù)據(jù)和其它操作參數(shù)存放于SDB中。
能塊編程及調(diào)用
能塊由兩個(gè)主要部分組成:一部分是每個(gè)功能塊的變量聲明表,變量聲明表聲明此塊的局部數(shù)據(jù);另一部分是邏輯指令組成的程序,程序要用到變量聲明表中給出的局部數(shù)據(jù)。
當(dāng)調(diào)用功能塊時(shí),需提供塊執(zhí)行時(shí)要用到的數(shù)據(jù)或變量,也就是將外部數(shù)據(jù)傳遞給功能塊,這被稱為參數(shù)傳遞。參數(shù)傳遞的方式使得功能塊具有通用性,它可被其它的塊調(diào)用,以完成多個(gè)類似的控制任務(wù)。
1. 變量聲明表(局部數(shù)據(jù))
每個(gè)邏輯塊前部都有一個(gè)變量聲明表,在變量聲明表中定義邏輯塊用到的局部數(shù)據(jù)。局部數(shù)據(jù)分為參數(shù)和局部變量?jī)纱箢?,局部變量又包括靜態(tài)變量和臨時(shí)變量(暫態(tài)變量)兩種。參數(shù)是在調(diào)用塊和被調(diào)用塊間傳遞的數(shù)據(jù)。靜態(tài)變量和臨時(shí)變量是僅供邏輯塊本身使用的數(shù)據(jù)。表5.1給出了局部數(shù)據(jù)聲明類型,表中內(nèi)容的排列順序也是在變量聲明