新聞中心

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

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

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

答:下圖是參數(shù)類型Pointer的結(jié)構(gòu):

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

下面是書中的程序:

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

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



評(píng)論


技術(shù)專區(qū)

關(guān)閉