有段程序看不懂

在DB块与DB块之间传送数据,长度为14字,以下为调用的子程序,可以解读一下吗? 
L     #db_number1
      T     "db_num1"
      L     #db_number2
      T     "db_num2"

      L     P#0.0
      T     "track_temp1"

      L     0
      T     #temp

a001: OPN   DB ["db_num1"]
      L     DBW ["track_temp1"]
      OPN   DB ["db_num2"]
      T     DBW ["track_temp1"]
      OPN   DB ["db_num1"]
      L     0
      T     DBW ["track_temp1"]

      L     "track_temp1"
      L     P#2.0
      +D    
      T     "track_temp1"

      L     #temp
      L     2
      +I    
      T     #temp

      A(    
      L     #temp
      L     #db_legth
      >=I   
      )     
      JCN   a001
      BE

最佳答案

L     #db_number1      //装入数据块号1
      T     "db_num1"  //传给变量1
      L     #db_number2  
      T     "db_num2"
      L     P#0.0      装入指针地址p#0.0
      T     "track_temp1" //传给指针临时变量
      L     0    //赋循环次数的初值0
      T     #temp
a001: OPN   DB ["db_num1"]   打开第一个数据块
      L     DBW ["track_temp1"]// 取第一个块的数据dbw0
      OPN   DB ["db_num2"]//打开第二个数据块
      T     DBW ["track_temp1"]//传给第二个数据块的dbw0
      OPN   DB ["db_num1"]//再打开第一个数据块
      L     0
      T     DBW ["track_temp1"]    //再将第一个块的dbw0赋0
      L     "track_temp1"  装入指针值,也就是p#0.0
      L     P#2.0//装入p#2.0,也就是指向下一个需要传送的数据字
      +D    //相加
      T     "track_temp1"  //再传给该变量
      L     #temp//读取字节次数
      L     2  
      +I    //+2
      T     #temp//以下为判断次数是否完成,完成则结束,没有完成则跳转到a001
      A(    
      L     #temp
      L     #db_legth
      >=I   
      )     
      JCN   a001
      BE

以上程序都是一些基本指令,只要熟悉这些指令就非常容易懂了

提问者对于答案的评价:
谢谢!语句表用得少,指针更没用过了。

专家置评

已阅,最佳答案正确。

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

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

相关推荐