回收西門子模塊6ES75901AJ300AA0 回收西門子模塊6ES75901AJ300AA0
邏輯塊局部數(shù)據(jù)的數(shù)據(jù)類型
在變量聲明表中,要明確局部數(shù)據(jù)的數(shù)據(jù)類型,這樣操作系統(tǒng)才能給變量分配確定的 存儲空間。局部數(shù)據(jù)可以是基本數(shù)據(jù)類型或復(fù)式數(shù)據(jù)類型,也可以是專門用于參數(shù)傳遞 的所謂的“參數(shù)類型”。參數(shù)類型包括定時器、計數(shù)器、塊的地址或指針等,見表5.2。表5.2 參數(shù)類型變量
參數(shù)類型 大 小 說 明
定時器(Timer) 2 B 在功能塊中定義一個定時器形參,調(diào)用時賦予定時器實參
計數(shù)器(Counter) 2 B 在功能塊中定義一個計數(shù)器形參,調(diào)用時賦予計數(shù)器實參
塊:
Block_FB
Block_FC
Block_DB
Block_SDB 2 B 在功能塊中定義一個功能塊或數(shù)據(jù)塊形參變量,調(diào)用時給功能塊類或數(shù)據(jù)塊類形參賦予實際的功能塊或數(shù)據(jù)塊編號,如
FC 101、DB 42
指針(Pointer) 6 B 在功能塊中定義一個形參,該形參說明的是內(nèi)存的地址指針。例如,調(diào)用時可給形參賦予實參P#M50.0,以訪問內(nèi)存M50.0
ANY 10 B 當(dāng)實參的數(shù)據(jù)類型未知時,可以使用該類型
1) 定時器或計數(shù)器參數(shù)類型
在功能塊中定義一個定時器或計數(shù)器類型的形參,功能塊就能使用一個定時器或計數(shù)器,而不需明確具體的定時器或計數(shù)器,等到調(diào)用該功能塊時再確定定時器或計數(shù)器號。這使用戶程序能靈活性地分配和使用定時器或計數(shù)器。當(dāng)給定時器或計數(shù)器參數(shù)類型形參分配實參時,在“T”或“C”后跟一個有效整數(shù),如T 100。
2) 塊參數(shù)類型
當(dāng)定義一個作為輸入輸出的塊時,參數(shù)聲明決定了塊的類型(FB、FC、DB等)。當(dāng)為塊參數(shù)類型形參分配實參時,可以使用物理地址,如FC 101,也可使用符號地址,如“valve
3) 指針參數(shù)類型
一個指針給出的是變量的地址,而不是變量的數(shù)值大小。在有些功能塊中,可能使用指針編程更為方便。用定義指針類型的形參,就能在功能塊中先使用一個虛設(shè)的指針,待調(diào)用功能塊時再為其賦予確定的地址。當(dāng)為指針參數(shù)類型形參分配實參時,需要指明內(nèi)存地址,例如P#M50.0。
3. 塊調(diào)用過程及內(nèi)存分配
CPU提供塊堆棧(B堆棧)來存儲與處理被中斷塊的有關(guān)信息。當(dāng)發(fā)生塊調(diào)用或有來自更高優(yōu)先級的中斷時,就有相關(guān)的塊信息存儲在B堆棧里,并影響部分內(nèi)存和寄存器。圖5.2顯示了調(diào)用塊時B堆棧與L堆棧的變化。圖5.3提供了關(guān)于STEP 7的塊調(diào)用情況。
1) B堆棧與L堆棧
B堆棧是CPU系統(tǒng)內(nèi)存中的一部分,它存儲以下被中斷塊的數(shù)據(jù):
(1) 塊號、塊類型、優(yōu)先級、被中斷塊的返回地址;