西門子晶體管輸出模塊CPUST40
在局部存儲(chǔ)器棧中,CPU 為每個(gè) POU (program organizational unit,程序組織單元)
提供 64 個(gè)字節(jié)的 L 存儲(chǔ)器。POU 相關(guān)的 L 存儲(chǔ)器地址僅可由當(dāng)前執(zhí)行的 POU(主程
序、子例程或中斷例程)進(jìn)行訪問。當(dāng)使用中斷例程和子例程時(shí),L 存儲(chǔ)器棧用于保留暫
停執(zhí)行的 POU 的 L 存儲(chǔ)器值,這樣另一個(gè) POU 就可以執(zhí)行。之后,暫停的 POU 可通
過在為其它 POU 提供執(zhí)行控制之前就存在的 L 存儲(chǔ)器的值恢復(fù)執(zhí)行。
L 存儲(chǔ)器棧大嵌套層數(shù)限制:
● 當(dāng)從主程序開始時(shí)為八個(gè)子例程嵌套層
● 當(dāng)從中斷例程開始時(shí)為四個(gè)子例程嵌套層
嵌套限制允許在程序中有 14 層的執(zhí)行棧。例如,主程序(第 1 層)有八個(gè)嵌套子例程
(第 2 層到第 9 層)。在執(zhí)行第 9 層的子例程時(shí),會(huì)發(fā)生中斷(第 10 層)。中斷例程包
括四個(gè)嵌套的子例程(第 11 層到第 14 層)。
L 存儲(chǔ)器規(guī)則:
● 可將 L 存儲(chǔ)器用于所有類型 POU(主程序、子例程和中斷例程)中的局部臨時(shí)
“TEMP"變量。
● 只有子例程可將 L 存儲(chǔ)器用于傳遞到子例程或從子例程中傳出的“IN"、“IN_OUT"和
“OUT"類型的變量。
● 無論是以 LAD 還是以 FBD 編寫子例程,TEMP、IN、IN_OUT 和 OUT 變量只能占
60 個(gè)字節(jié)。STEP 7-Micro/WIN SMART 會(huì)使用局部存儲(chǔ)器的后四個(gè)字節(jié)。
局部存儲(chǔ)器符號(hào)、變量類型和數(shù)據(jù)類型會(huì)在“變量"表中進(jìn)行分配,當(dāng)在程序編輯器中打開
位: L [字節(jié)地址].[位地址] L0.0
西門子晶體管輸出模塊CPUST40
根據(jù)V90操作手冊里的參數(shù)說明,我們關(guān)心的是r0979的下標(biāo)1至5的值。我們以一個(gè)多圈值編碼器為例,利用FB287依次讀取r0979下標(biāo)1至5中的值,再參考PROFIdrive Profile技術(shù)文檔中關(guān)于參數(shù)979編碼器格式的說明來確定編碼器的相關(guān)參數(shù)。(也可以使用SINA_PARA功能塊FB286一次讀取多個(gè)參數(shù)值,但是FB286相對于FB287使用要復(fù)雜些,對于初次使用者建議使用FB287)
首先讀取r0979下標(biāo)1編碼器1類型,如圖5所示:
圖5 r0979下標(biāo)1編碼器1類型
根據(jù)PROFIdrive Profile技術(shù)文檔表104中的說明,我們可以判斷出此編碼器為旋轉(zhuǎn)編碼器,因此工藝對象組態(tài)設(shè)置中,測量系統(tǒng)應(yīng)設(shè)置為旋轉(zhuǎn)。同時(shí)31位為1,說明細(xì)分參數(shù)Gx有效。
![](https://img68.chem17.com/1b082722e7f6039ba4564b90164f5bee411c6ca24b92587bc9aa09d7b1789cc14cd22ef379cdcd19.jpg)
然后讀取r0979下標(biāo)2編碼器1分辨率,如圖6所示:
![](https://img68.chem17.com/1b082722e7f6039ba4564b90164f5bee6de8b293ba5265683a2d936d1e12026bcbbd36fe7af23d91.jpg)
圖6 r0979下標(biāo)2編碼器1分辨率
因?yàn)閂9電機(jī)的值編碼器為Biss的串行通訊協(xié)議,根據(jù)PROFIdrive Profile技術(shù)文檔表105中的說明,我們可以判斷出此編碼器每轉(zhuǎn)增量為16#800即十進(jìn)制的2048。因此工藝對象組態(tài)設(shè)置中,每轉(zhuǎn)增量應(yīng)設(shè)為2048。
![](https://img68.chem17.com/1b082722e7f6039ba4564b90164f5bee74390a6508f36199e58805d50450908067a42806eebc3219.jpg)
接下來讀取r0979下標(biāo)3偏移系數(shù)G1_XIST1,如圖7所示:
![9.jpg](https://img68.chem17.com/1b082722e7f6039ba4564b90164f5beed5cc17735e4b4d6ef85f4ab9c7b7b476ab7893e1967ac928.jpg)
圖7 r0979下標(biāo)3偏移系數(shù)G1_XIST1
如圖7所示,讀取到的偏移系數(shù)G1_XIST1為11。偏移系數(shù)G1_XIST1用來增量位置細(xì)分的顯示位數(shù)。11代表在編碼器本身分辨率的基礎(chǔ)上再以2的11次方的數(shù)來細(xì)分位置值。因此工藝對象組態(tài)中Gx_XIST1中的位應(yīng)設(shè)為11。
接著再讀取r0979下標(biāo)4偏移系數(shù)G1_XIST2,如圖8所示:
![10.jpg](https://img68.chem17.com/1b082722e7f6039ba4564b90164f5beeb6f4629843621ccf44b69b1cc18fbdb506b9e3d6f16f3e4d.jpg)
圖8 r0979下標(biāo)4偏移系數(shù)G1_XIST2
如圖8所示,讀取到的偏移系數(shù)G1_XIST2為9。偏移系數(shù)G1_XIST2用來位置細(xì)分的顯示位數(shù)。因此工藝對象組態(tài)中Gx_XIST2中的位應(yīng)設(shè)為9。