s7-300的语句表求解释

A     #KS
      =     L     44.0
      A     L     44.0
      AN    "PT143数据".s2              //1
      L     #CJZQ
      SD    #DSQ
      A     L     44.0
      A     #DSQ
      =     "PT143数据".s2              //2
A     #KS
      FP    "PT143数据".s3              //3
      JNB   _001
      L     P#8.0
      T     MD   134                    //4

_001: NOP   0
 A     #DSQ
      JCN   _112

      OPN   "PT143数据"
      L     #CJYL
      T     DBD [MD 134]
      L     MD   134
      L     P#4.0
      +D    
      T     MD   134
      A(    
      L     MD   134
      L     P#164.0
      >D    
      )     
      JNB   _113
      L     P#8.0
      T     MD   134
_112: NOP   0
_113: NOP   0
      OPN   "PT143数据"
      L     P#8.0
      T     LD     2
      L     0
      T     LD     8
      L     40
NEXT: T     LD   100
      L     DBD [LD 2]
      L     LD     8
      +R    
      T     LD     8
      L     LD     2
      L     P#4.0
      +D    
      T     LD     2
      L     LD   100
      LOOP  NEXT
      L     LD     8
      L     4.000000e+001
      /R    
      T     #LBZ

最佳答案

A     #KS
      =     L     44.0//L44.0=ks
/////////////////////////////////////////////////////////////////////
      A     L     44.0
      AN    "PT143数据".s2              //如果ks为1且"PT143数据".s2 为0,则启动延时接通定时器
      L     #CJZQ
      SD    #DSQ
      A     L     44.0
      A     #DSQ
      =     "PT143数据".s2              //如果ks为1且延时定时器定时结束则"PT143数据".s2 为1
///////////////////////////////////////////////////////////////////////
A     #KS
      FP    "PT143数据".s3              //如果ks上升沿则md134=p#8.0
      JNB   _001
      L     P#8.0
      T     MD   134                    //4

_001: NOP   0
 A     #DSQ//如果延时定时器延时时间到则执行jcn下面的程序否则跳到_112标志处
      JCN   _112

      OPN   "PT143数据"//打开db块
      L     #CJYL
      T     DBD [MD 134]//这是一个指针,首次db块的dbd8=cjyl
      L     MD   134
      L     P#4.0
      +D    
      T     MD   134//md134=md134+4,指针指向字节加4,第二次就是12了。
      A(    
      L     MD   134
      L     P#164.0
      >D    
      )     
      JNB   _113//如果md134保存的值大于164,则md134重新赋值为8,重新循环
      L     P#8.0
      T     MD   134
_112: NOP   0
_113: NOP   0
      OPN   "PT143数据"//打开db块
      L     P#8.0
      T     LD     2//ld2=指针常数8
      L     0
      T     LD     8//ld8=0
      L     40
NEXT: T     LD   100//初始值ld100=40
      L     DBD [LD 2]
      L     LD     8
      +R    
      T     LD     8//第一次ld8=ld8+db块dbd8
      L     LD     2
      L     P#4.0
      +D    
      T     LD     2//指针ld2=ld2+4
      L     LD   100读取ld100的值后重新循环
      LOOP  NEXT
      L     LD     8
      L     4.000000e+001
      /R    
      T     #LBZ//lbz=ld8/40.0
你这是求平均值的过程。

提问者对于答案的评价:
谢谢,十分感谢。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日 下午10:04
下一篇 2020年10月30日 下午10:04

相关推荐