STL间接寻址M区

大家好:
    初学STL,现在想达到的目的是当MD280=1时,将M40.0的状态给M5.0;MD280=2时,将M40.1的状态给M5.0;MD280=3时,将M40.2的状态给M5.0……..一直要到MD280=20时将M42.3的状态给M5.0
        我想用间接寻址好做些,看手册上寻址M区的字节40.0是83000140,但是后面的偏移和寻址到M40.0的状态后怎么给到M5.0不会处理了,请教下大家,谢谢

   L     DW#16#83000140
      LAR1  
      L     W [AR1,P#0.0]
这样貌似可以访问到M40.0,但接下来怎么处理偏移量和怎么将M40.0状态给到M5.0??

最佳答案

LAR1  P#M 40.0                    //取M40.0的地址值
      TAR1  MD   284                    //传给MD284,做偏移的计算用,是个中间的变量
      L     MD   284                    //这个指令不能删除
      L     MD   280                    //将偏移的量进行加法计算
      +D    
      L     1
      -D                                //减去1的目的是MD280从等于1开始
      T     MD   284
      LAR1  MD   284
      A     M [AR1,P#0.0]
      =     M      5.0
试试看,地址的值也是可以直接加的,但要注意格式!

提问者对于答案的评价:
谢谢,测试OK

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc224666.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 上午12:26
下一篇 2018年12月1日

相关推荐