地拉那

首页 » 常识 » 问答 » 三菱FX5UPLC,变址寻址的应用,间接
TUhjnbcbe - 2023/6/5 20:36:00
白癜风可以医治吗 http://m.39.net/pf/a_4793212.html

三菱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。

同理,读出来就是把

中的软元件内容传送到指定寄存器。如下图的MOV

DD。

比如说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,变址寻址的应用,键值读取程序》。

1
查看完整版本: 三菱FX5UPLC,变址寻址的应用,间接