间接寻址 怎么写

按下按钮,把MD20存入DB1.DBW0,又按下,存入DBW2,依次按下,依次存入,
这个怎么做。
我写了个,用了计数比较,有没有简便思路方法
请教大神

最佳答案

写了一段程序,MW140的数写入DB10开始的3个字里,DBW0到DBW4   
      A     M    139.2      //初始化的按钮
      FP    M    139.3
      JCN   _025
      L     0
      T     MD   142      
_025: NOP   0  //初始化MD142,作为地址的存储器,从DBW0开始,就是说要   加一个按钮作为地址
                                                                        
      OPN   DB    10       //打开DB10,你可以改成DB1
      A     M    139.0      //写入的启动按钮
      FP    M    139.1
      JCN   _024
      L     MW   140         //要写入DB10的值,
      T     DBW [MD 142]
      L     MD   142
      L     16
      +D    
      L     48      //比较下地址的数值,进行限制,防止在DB块里数据没有定义而造成;因为DB里就定义了3个,所以3*16就是48了                                              
      <D    
      JCN   _026
      TAK   
      T     MD   142
_024: NOP   0
_026: NOP   0

提问者对于答案的评价:
感谢啊,就是M139.2与139.0的关系没搞太懂
同时感谢T,我心
都是我师

最佳答案作者回复:
因为编程的时候没有完全按你的要求来的,所以M139.0就是你说的按钮,M139.2是另一个按钮,用来初始化MD142的,就是地址的值;要是不停的按写入按钮,写满了,那么要重新写的话,就需要初始化MD142;同时我也在程序里做了一个DB块字变量的限制,要根据你需要写入的数值量来考虑;我只定义了3个INT变量,所以是48,一个字两个字节,3个字6个字节,那么就是48;

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

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

相关推荐