急求各位大侠的指点,下面的语句表M001中是触发Q14.0-Q14.3的,但是看不懂,还麻烦给小弟解读一下?尤其是关于TAK的用法?

M001: L #TEMP0
          L 3
         <=I
        JCN M002
        L #TEMP0
        ITD
       L L#112
      +D
      L L#1
     *D
     L #TEMP0
     TAK
     T LD 52
    TAK
    L 1
   +I
   ITD
   L L#1
   -D
   L L#1
  *D
   L L#80
   +D
   LAR1
  OPN DB 102
  A DBX [AR1,P#0.0]
  LAR1 LD 52
  = Q [AR1,P#0.0]
  L #TEMP0
  L 1
  +I
  T #TEMP0
  JU M001

最佳答案

M001: L #TEMP0                 //装载整数#TEMP0
          L 3
         <=I                             //与3相比较
        JCN M002                    //若大于3,则跳转到M002
        L #TEMP0                   //若小于等于3,则装载#TEMP0,
        ITD                              //转换为双整数
       L L#112                        
      +D                               //与双整数112相加
      L L#1                
     *D                                 //将结果乘以1
     L #TEMP0                     //装载#TEMP0到ACCU1, 刚才计算的结果转到ACCU2,
     TAK                              //将ACCU1和ACCU2中的内容互换,即计算的结果现在
                        交换到了ACCU1,  而TEMP0存到了ACCU2.
     T LD 52                         //将计算的结果送入LD52,
    TAK                               //再次将TEMP0交换到ACCU1,
    L 1
   +I
   ITD
   L L#1
   -D
   L L#1
  *D
   L L#80                         
   +D                               //与80相加
   LAR1                           //将结果存入AR1,
  OPN DB 102                 //打开数据块DB102
  A DBX [AR1,P#0.0]        //装载DB102.DBX10.(0---3)
  LAR1 LD 52                   //将LD52的内容装入AR1作为地址指针,(112对应14.0,
                                                  113对应14.1,114对应14.2,113对应14.3),
  = Q [AR1,P#0.0]            //将DB102.DBX10.(0---3)状态分别写入Q14.(0-----3)
  L #TEMP0                     //再次装载TEMP0,
  L 1
  +I                                 //TEMP0加1后送入TEMP0
  T #TEMP0
  JU M001                     //跳转到M001,进入循环,直到TEMP0大于3.

因此总结起来,这段程序时将DB102.DBX10.0---DBX10.3的状态分别送到Q14.0---Q14.3.

提问者对于答案的评价:
非常感谢

专家置评

已阅,最佳答案正确。

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

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

相关推荐

  • ????????

    以太网收发信息为什么要用到AG_RECV和AG_SEND.而AG_RECV为什么要调用SFC59;AG_SEND为什么要调用SFC58和SFC59,是怎么调用的,为什么要这样做呢 …

    自动化系统综合 2020年10月31日
  • plc300/400

    plc300/400中事件的ID号是做什么用的?它如何和故障对应?如何知道哪个故障调用哪个相应的OB? 最佳答案 《处理错误时需要哪些组织块?》http://support.aut…

    自动化系统综合 2018年12月7日
  • PLC 短信功能

    请教: 1. S7-300 方案 故障报警,给手机发短信(配置) 2. S7-200 方案 故障报警…

    自动化系统综合 2020年11月1日
  • step7 v5.4 sp3 和 wincc v7 的系统要求是多少?

    step7 v5.4 sp3 和 wincc v7 的系统要求是多少? 最佳答案 step7 v5.4&nbs…

    自动化系统综合 2020年11月1日
  • cp343-1 选型

    现有1个系统(未安装调试),cpu315带以太网口、wincc、交换机; 与之配套还需要1套315-2dp,需要交互少量信息,想买一个343-1,谁能高速我343-1、a…

    自动化系统综合 2020年11月1日
  • SITOP 输入电压 选择

    初学者一名。请问sitop psu200m侧面有一个透明可动的盖子,旁边分别显示120V和230V,这个盖子是用于选择电压的吗?用不用选?谢谢 问题补充:谢谢各位的指导。…

    2017年8月15日
  • 博图v13使用问题

    博图软件在哪可以看到像step7一样的参考数据,也就是可使用的I/0点,及时间t 图片说明:       最佳答案 参见附图。 图片说明: …

    2017年6月19日
  • 控制优先

    比如4个罐子,从1#罐子开始装物料,依次装物料入4#罐子,每次罐子空都有标识,有空信号就开始装物料,在这个过程中,有可能其中一个罐子就会出故障,就进入下一个罐子,哪个空进哪个,如果…

    自动化系统综合 2017年6月27日
  • wincc与S7-300的冗余

    使用下面的网络是否可以呢。交换机是否需要用冗余管理功能呢。我的通信卡用的是CP1623. 图片说明:    最佳答案 1、网络是否可以呢?可以。2、可参考文档:…

    2020年10月31日
  • 高压鼓风机配电接线

    请教各位大虾这样一个问题:高压鼓风机如何接线的?像一般的电机都会给配备动力电缆,而它还用接动力电缆么,为什么?还用配控制柜么,为什么?一般高压鼓风机怎么实现对他的控制呢? 问题补充…

    自动化系统综合 2020年10月31日