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