三菱FX5U PLC,间接地址读取指令解读 间接地址读取指令ADRSET,简单理解就是一个地址设置指令,ADRSET指令的格式如下: ADRSET(S)(D) 。 将(s)中指定的软元件(不能为ST/T/C,可以为D/W/SD/SW/R)的间接地址(如上图中的D0),存储到(d)(32位)中指定的软元件中(如上图中的D100)。 对于(d)、(d)+1的软元件中存储的地址,在通过程序进行软元件的间接地址指定的情况下使用。 这是个地址设置指令,也就是说(D)中存储的数据是个地址数据,这个地址数据的内容是以(s)为首的字软元件的地址。 但是光有这个指令还不能起作用,需要其他辅助。这个关键东西就是@小老鼠。
同理,读出来就是把@100中的软元件内容传送到指定寄存器。如下图的MOV @D100 D200。 比如说D100,3368这个数的地址数据对应的软元件是D0,那么3369对应的软元件就是D1,以此类推。再启动M0,就把10存入到D1。 数据读出时,按X1重新建立一下间接地址关系,就可以从首地址开始读取@D100里面的数据。也就是顺序读出D0、D1……的值。 还可以间接指定软元件的地址,如上图中的@D150就是D0+2=D2,也就是说D200的值是D2的内容。 ST语言程序如下: IF SM402 THEN ADRSET(1,D0,D100); END_IF; IF LDP(1,M0) THEN MOV(1,D1000,@D100); D1000:=D1000+K1; D100:=D100+K1; END_IF; IF M1 THEN ADRSET(1,D0,D100); END_IF; IF M3 THEN DMOV(1,K2,D110); DADD(1,d110,d100,d150); END_IF; IF LDP(1,M2) THEN MOV(1,@D150,D200); END_IF; 程序这样使用可以大大弥补变址寄存器数量不足的问题。 |
|