西門子PLC間接尋址+
尋址,就是指定指令要進(jìn)行操作的地址。給定指令操作的地址方法,就是尋址方法。
在談間接尋址之前,我們簡單的了解一下直接尋址。所謂直接尋址,簡單的說,就是直接給出指令的確切操作數(shù),象上面所說的,A Q2.0,就是直接尋址,對于A這個指令來說,Q2.0就是它要進(jìn)行操作的地址。
這樣看來,間接尋址就是間接的給出指令的確切操作數(shù)。對,就是這個概念。
比如:A Q【MD100】 ,A T【DBW100】。程序語句中用方刮號 【 】 標(biāo)明的內(nèi)容,間接的指明了指令要進(jìn)行的地址,這兩個語句中的MD100和DBW100稱為指針Pointer,它指向它們其中包含的數(shù)值,才是指令真正要執(zhí)行的地址區(qū)域的確切位置。間接由此得名。
西門子的間接尋址方式計有兩大類型:存儲器間接尋址和寄存器間接尋址。
【存儲器間接尋址】
存儲器間接尋址的地址給定格式是:地址標(biāo)識符+指針。指針?biāo)甘敬鎯卧兴臄?shù)值,就是地址的確切數(shù)值單元。
存儲器間接尋址具有兩個指針格式:單字和雙字。
單字指針是一個16bit的結(jié)構(gòu),從0-15bit,指示一個從0-65535的數(shù)值,這個數(shù)值就是被尋址的存儲區(qū)域的編號。
雙字指針是一個32bit的結(jié)構(gòu),從0-2bit,共三位,按照8進(jìn)制指示被尋址的位編號,也就是0-7;而從3-18bit,共16位,指示一個從0-65535的數(shù)值,這個數(shù)值就是被尋址的字節(jié)編號。
指針可以存放在M、DI、DB和L區(qū)域中,也就是說,可以用這些區(qū)域的內(nèi)容來做指針。
單字指針和雙字指針在使用上有很大區(qū)別。下面舉例說明:
L DW#16#35 //將32位16進(jìn)制數(shù)35存入ACC1
T MD2 //這個值再存入MD2,這是個32位的位存儲區(qū)域
L +10 //將16位整數(shù)10存入ACC1,32位16進(jìn)制數(shù)35自動移動到ACC2
T MW100 //這個值再存入MW100,這是個16位的位存儲區(qū)域
OPN DBW【MW100】 //打開DBW10。這里的【MW100】就是個單字指針,存放指針的區(qū)域是M區(qū),
MW100中的值10,就是指針間接指定的地址,它是個16位的值!
--------
L L#+10 //以32位形式,把10放入ACC1,此時,ACC2中的內(nèi)容為:16位整數(shù)10
T MD104 //這個值再存入MD104,這是個32位的位存儲區(qū)域
A I【MD104】 //對I1.2進(jìn)行與邏輯操作!
=DIX【MD2】 //賦值背景數(shù)據(jù)位DIX6.5!
在談間接尋址之前,我們簡單的了解一下直接尋址。所謂直接尋址,簡單的說,就是直接給出指令的確切操作數(shù),象上面所說的,A Q2.0,就是直接尋址,對于A這個指令來說,Q2.0就是它要進(jìn)行操作的地址。
這樣看來,間接尋址就是間接的給出指令的確切操作數(shù)。對,就是這個概念。
比如:A Q【MD100】 ,A T【DBW100】。程序語句中用方刮號 【 】 標(biāo)明的內(nèi)容,間接的指明了指令要進(jìn)行的地址,這兩個語句中的MD100和DBW100稱為指針Pointer,它指向它們其中包含的數(shù)值,才是指令真正要執(zhí)行的地址區(qū)域的確切位置。間接由此得名。
西門子的間接尋址方式計有兩大類型:存儲器間接尋址和寄存器間接尋址。
【存儲器間接尋址】
存儲器間接尋址的地址給定格式是:地址標(biāo)識符+指針。指針?biāo)甘敬鎯卧兴臄?shù)值,就是地址的確切數(shù)值單元。
存儲器間接尋址具有兩個指針格式:單字和雙字。
單字指針是一個16bit的結(jié)構(gòu),從0-15bit,指示一個從0-65535的數(shù)值,這個數(shù)值就是被尋址的存儲區(qū)域的編號。
雙字指針是一個32bit的結(jié)構(gòu),從0-2bit,共三位,按照8進(jìn)制指示被尋址的位編號,也就是0-7;而從3-18bit,共16位,指示一個從0-65535的數(shù)值,這個數(shù)值就是被尋址的字節(jié)編號。
指針可以存放在M、DI、DB和L區(qū)域中,也就是說,可以用這些區(qū)域的內(nèi)容來做指針。
單字指針和雙字指針在使用上有很大區(qū)別。下面舉例說明:
L DW#16#35 //將32位16進(jìn)制數(shù)35存入ACC1
T MD2 //這個值再存入MD2,這是個32位的位存儲區(qū)域
L +10 //將16位整數(shù)10存入ACC1,32位16進(jìn)制數(shù)35自動移動到ACC2
T MW100 //這個值再存入MW100,這是個16位的位存儲區(qū)域
OPN DBW【MW100】 //打開DBW10。這里的【MW100】就是個單字指針,存放指針的區(qū)域是M區(qū),
MW100中的值10,就是指針間接指定的地址,它是個16位的值!
--------
L L#+10 //以32位形式,把10放入ACC1,此時,ACC2中的內(nèi)容為:16位整數(shù)10
T MD104 //這個值再存入MD104,這是個32位的位存儲區(qū)域
A I【MD104】 //對I1.2進(jìn)行與邏輯操作!
=DIX【MD2】 //賦值背景數(shù)據(jù)位DIX6.5!
本文標(biāo)簽:西門子PLC間接尋址+
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《西門子PLC間接尋址+》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
關(guān)于“西門子PLC間接尋址+”的更多資訊










