分享

三菱FX5U PLC,变址寻址的应用,间接地址读取指令解读

 PLC与自控设备 2022-04-27

往期精彩文章:

项目设计流程:一个项目电气工程师要做的设计思路

三菱Q系列PLC,Modbus 通信控制施耐德变频器运行

万用表应用基础知识,口诀速记万用表使用注意事项
关于接触器的选择方法,你真的清楚了吗?

PLC通信基础知识三菱PLC,CC-Link通信协议基础知识

光电开关的L-ON,D-ON,是什么意思?如何接线 ?

三菱PLC结构化工程FBD块新建程序操作步骤简单教程

什么是ST语言?三菱PLC,ST语言创建方法及注意事项

什么是FB块?怎么用?以启保停程序为例学习很简单

三菱PLC输出接线,一篇文章搞懂,其他品牌大同小异

PLC输入接线,记住这两句口诀,什么机型的都会接了

基恩士FSN18N光纤传感器感光度异常处理,参数调校

欧姆龙(OMRON)E5CC温控器控制加热启停的设置

欧姆龙E3X-HD10光纤放大器调整20210124资料更新

三菱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)为首的字软元件的地址。

但是光有这个指令还不能起作用,需要其他辅助。这个关键东西就是@小老鼠。


用“@+(字软元件编号)”来指定间接地址的软元件,比如下图,@D100就是D0,把k1传送到@D100就是就是把k1传送到D0。

同理读出是把@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;

程序这样使用可以大大弥补变址寄存器数量不足的问题。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多