新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 西門子S7-300PLC的寄存器間接尋址問題

西門子S7-300PLC的寄存器間接尋址問題

作者: 時間:2016-12-16 來源:網(wǎng)絡 收藏
在FC1程序中,第4條指令L W [AR1,P#0.0],后面注釋是取指針第1個字內(nèi)的數(shù)據(jù)塊編號,第9條指令L D [AR1,P#2.0],后面的注釋是取指針內(nèi)數(shù)據(jù)區(qū)的起始地址。這2條指令格式一樣,怎么一個是取地址內(nèi)的內(nèi)容(數(shù)據(jù)塊編號),一個是取起始地址?

答:下圖是參數(shù)類型Pointer的結構:

本文引用地址:http://m.butianyuan.cn/article/201612/330762.htm

下面是書中的程序:

參數(shù)類型為Pointer的輸入?yún)?shù)Start_Addr占6個字節(jié),P##Start_Addr是第1個字節(jié)的地址。執(zhí)行第二條指令后,AR1中是輸入?yún)?shù)Start_Addr(指針)的首地址,所以第4條指令裝入累加器的是指針第1個字內(nèi)的數(shù)據(jù)塊編號,第9條指令“L D [AR1,P#2.0]”裝入的是指針第2個字節(jié)開始的雙字,即指針內(nèi)數(shù)據(jù)區(qū)的起始地址。

如果Start_Addr的實參為DB2.DBX4.0,第9條指令裝入的就是DBX4.0的地址(即DB4的地址)。



評論


技術專區(qū)

關閉