请教一段关于TAK的程序

L   2
         T   #Index
A7d6: L  #Index
          L  25
          <= I
          JCN   A7d3
          L   1
          -  I
          ITD
          L   L#1
          -  D
          L   L#32
          *  D
          L  #Index
          ITD
          TAK
          T   LD  8
          TAK
越详细越好,谢谢!

问题补充:
L  #Index
          L  25
          <= I
是25  <= I?还是Index  <= 25?

最佳答案

s7-300/400CPU内部分别有2个和4个累加器,TAK 交换累加器1和2的内容       

L   2                                      // ACCU1 为2
         T   #Index
A7d6: L  #Index                //AACU1 位 INDEX,同时2原ACCU1的内容2 赋值到ACCU2
          L  25                        //ACCU1 为25 ,ACCU2位INDEX
          <= I
          JCN   A7d3
          L   1
          -  I
          ITD
          L   L#1
          -  D
          L   L#32
          *  D        //结果存放在 ACCU1里         
          L  #Index      //ACCU1 为INDEX,ACCU2的内容,本语句之前运算的结果
          ITD
          TAK      //ACCU1为*d 语句前运算的结果,ACCU2为INDEX.
          T   LD  8 //ACCU1内容COPY到LD8中,
          TAK  //交换ACCU1和ACCU2内容,即,ACCU1恢复为INDEX


最后,你可以在线监控程序,在线后,右击 右边空白区域,然后选择快捷菜单的 第二行“SHOW/显示”在像右的扩展箭头里 选择 ACCU1和ACCU2,见附件的图。


补充,<=I 是对 比较累加器二是否小于累加器一,也就是INDEX 是否小于等于25
好好看看 相关资料吧!

图片说明:

请教一段关于TAK的程序  

提问者对于答案的评价:
谢谢详尽的解答!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月12日 下午8:25
下一篇 2017年11月13日 上午1:55

相关推荐