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