请问这几段程序如何理解

请问这几段程序如何理解
//1#LGJ
      L     PIW  756
      T     #temp

      A     L      1.0
      =     "EMS_DBX".LGJ_RunState_1
      A     L      1.1
      =     "EMS_DBX".LGJ_ErrState_1
      A     L      1.2
      =     "EMS_DBX".LGJ_SysState_1
      A     L      0.3
      =     "EMS_DBX".LGJ_RuningState_1
      A     L      0.4
      =     "EMS_DBX".LGJ_StopingState_1
//2#LGJ
      L     PIW  772
      T     #temp

      A     L      1.0
      =     "EMS_DBX".LGJ_RunState_2
      A     L      1.1
      =     "EMS_DBX".LGJ_ErrState_2
      A     L      1.2
      =     "EMS_DBX".LGJ_SysState_2
      A     L      0.3
      =     "EMS_DBX".LGJ_RuningState_2
      A     L      0.4
      =     "EMS_DBX".LGJ_StopingState_2
//3#LGJ
      L     PIW  788
      T     #temp

      A     L      1.0
      =     "EMS_DBX".LGJ_RunState_3
      A     L      1.1
      =     "EMS_DBX".LGJ_ErrState_3
      A     L      1.2
      =     "EMS_DBX".LGJ_SysState_3
      A     L      0.3
      =     "EMS_DBX".LGJ_RuningState_3
      A     L      0.4
      =     "EMS_DBX".LGJ_StopingState_3

2.还有这段程序如何理解
 L     P#0.0
      LAR1  

      L     6
A:    T     LB     0
      L     PIW [AR1,P#306.0]
      T     MW [AR1,P#200.0]

      L     16
      +AR1  
      L     LB     0
      LOOP  A
谢谢,希望高人能指点

问题补充:
在请问一下,
L0.3、L 1.0、L1.1,L1.2这些具体是什么意思呢?这个不理解啊,能详细说说吗

最佳答案

1、//1#LGJ
      L     PIW  756
      T     #temp//存入过程通道的 756单元中。
      A     L      1.0
      =     "EMS_DBX".LGJ_RunState_1//如果临时变量 L1.0置位,则运行状态置1
      A     L      1.1
      =     "EMS_DBX".LGJ_ErrState_1//如果临时变量 L1.1置位,则错误状态置1
      A     L      1.2
      =     "EMS_DBX".LGJ_SysState_1//如果临时变量 L1.2置位,则系统状态置1
      A     L      0.3
      =     "EMS_DBX".LGJ_RuningState_1//如果临时变量 L0.3置位,则已运行状态置1
      A     L      0.4
      =     "EMS_DBX".LGJ_StopingState_1//如果临时变量 L0.4置位,则已停止状态置1
//2#LGJ
   .........//注释与1#LGJ相同
//3#LGJ
  .........//注释与1#LGJ相同
2.还有这段程序如何理解:
这是一段典型的应用循环语句的程序,即利用地址指针循环变化,将PIW306,322,338,......共6个字分别存入MB200,216,232.......中。
     L     P#0.0
      LAR1  //初始地址指针
      L     6// 6个字的循环计数为初值
A:    T     LB     0//计数值 送入LB 0
      L     PIW [AR1,P#306.0] //按读指针指示的地址读数据
      T     MW [AR1,P#200.0]//按读指针指示的地址写数据
      L     16//取常数16
      +AR1  //寻找地址指针,即将当前地址指针内容加上16,
      L     LB     0 //取循环计数值
      LOOP  A //循环计数值如为0则结束循环;如不为0减1后则转向标号为A的语句,继续循环。

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

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

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

相关推荐