聯(lián)系電話;15900773813
6ES7288-3AQ02-0AA0模擬量模塊西門(mén)子
公司按西門(mén)子標(biāo)準(zhǔn)供貨 一年
本公司簽約正式的銷(xiāo)售合同,并開(kāi)具13%的。
相關(guān)西門(mén)子產(chǎn)品技術(shù):
使用指針進(jìn)行間接尋址
間接尋址使用指針訪問(wèn)存儲(chǔ)器中的數(shù)據(jù)。
指針是包含另一個(gè)存儲(chǔ)單元地址的雙字存儲(chǔ)單元。 只能將 V 存儲(chǔ)單元、L
存儲(chǔ)單元或累加器寄存器(AC1、AC2、AC3)用作指針。
要?jiǎng)?chuàng)建指針,必須使用“移動(dòng)雙字”指令,將間接尋址的存儲(chǔ)單元地址移至指針位置。
指針還可以作為參數(shù)傳遞至子例程。
S7-200 SMART CPU 允許指針訪問(wèn)下列存儲(chǔ)區(qū):
I、Q、V、M、S、AI、AQ、SM、T(當(dāng)前值)和 C(當(dāng)前值)。
您不能使用間接尋址訪問(wèn)單個(gè)位或訪問(wèn) HC、L 或累加器存儲(chǔ)區(qū)。
要間接訪問(wèn)存儲(chǔ)器地址中的數(shù)據(jù),通過(guò)輸入一個(gè)“和”符號(hào) (&)
和要尋址的存儲(chǔ)單元的個(gè)字節(jié),創(chuàng)建一個(gè)該位置的指針。
指令的輸入操作數(shù)前必須有一個(gè)“和”符號(hào)
(&),表示存儲(chǔ)單元的地址(而非其內(nèi)容)將被移到在指令輸出操作數(shù)中標(biāo)識(shí)的位置(指
針)。
在指令操作數(shù)前面輸入一個(gè)星號(hào) (*) 可該操作數(shù)是一個(gè)指針。 如下圖所示,輸入
*AC1 表示 AC1 存儲(chǔ)指向“移動(dòng)字”(MOVW) 指令引用的字長(zhǎng)度值的指針。
在該示例中,在 VB200 和 VB201 中存儲(chǔ)的值被移至累加器 AC0。
① MOVD &VB200, AC1
將 VB200(VW200 的初始字節(jié))中的地址傳送至 AC1 以創(chuàng)建指針
② MOVW *AC1, AC0
移動(dòng) AC1 中的指針引用的字值
圖 4-7 創(chuàng)建和使用指針
如下圖所示,您可以更改指針的值。 由于指針是 32 位值,請(qǐng)使用雙字指令修改指針值。
可使用簡(jiǎn)單數(shù)學(xué)運(yùn)算(例如加或遞增)修改指針值。
1 MOVD &VB200, AC1
將 VB200(VW200 的初始字節(jié))中的地址傳送至 AC1 以創(chuàng)建指針
MOVW *AC1, AC0
移動(dòng) AC1 中的指針引用的字值
2 +D +2, AC1
向累加器加 2 以指向下一個(gè)字位置
MOVW *AC1, AC0
移動(dòng) AC1 中的指針引用的字值
圖 4-8 修改指針
說(shuō)明
修改指針的值時(shí),請(qǐng)記住調(diào)整所訪問(wèn)數(shù)據(jù)的大?。?訪問(wèn)字節(jié)時(shí),指針值加
1;訪問(wèn)定時(shí)器或計(jì)數(shù)器的字或當(dāng)前值時(shí),指針值加 2;訪問(wèn)雙字時(shí),指針值加 4。