STL 问题 新手求点拨(关于S7-300和S7-400指针寻址的说明与例程的内容)

OPN   DB     1  
      OPN   DI     3
      L     4
      SLD   3
      T     MD    20

      L     P#20.0
      T     MD    24
      L     320
      T     MD    28
      L     DBW [MD 20]
      L     DBW [MD 24]
      +I    
      L     DIW [MD 28]
      -I    
      T     DIW    2
      JC    M1

      L     0
      T     MW   100
      T     MD     4
      OPN   DB     1
      L     100
NEXT: T     MW   100
      L     MW     2
      L     DBW [MD 4]
      ==I   
      JC    M1
      L     MD     4
      L     P#2.0
      +D    
      T     MD     4
      L     MW   100

      LOOP  NEXT
M1:   FP    M     10.0
      JCN   M2
      L     MD     4
      L     P#2.0
      /D    
      +     1
      T     MD     8
M2:   NOP   0
 问题总结:
JC M1跳转的情况是什么,程序中RLO是如何变得。
在LOOP循环指令中有一个JC指令,如果符合跳转指令 那么循环还会继续执行吗?
M1:FP M 10.0是什么意思,如何实现的

问题补充:
FP M10.0的上升沿 什么时候触发的,怎么出来的?

最佳答案

问题总结:
1.JC M1跳转的情况是什么,程序中RLO是如何变得。
------------JC跳转是依据RLO这个标志位,从你的程序看,JC前面只是执行了加减运算,而这些运算并不会改变RLO,此处程序应该有误(或者是真正影响RLO的程序还在上面,你没有贴出来)。如果有误,要么是多余指令可以删除,要么改成JP、JM、JMZ等根据运算结果来跳转的指令。
2.在LOOP循环指令中有一个JC指令,如果符合跳转指令 那么循环还会继续执行吗?
-------------循环是在一个扫描周期中进行的,只要跳出了循环,那么循环结束,程序继续走完这个扫描周期,等到下一个扫描周期又重新开始循环。

3.M1:FP M 10.0是什么意思,如何实现的
--------------就是上升沿指令,M10.0为辅助位,存储上升沿前面的RLO用的。只有M10.0从0到1时(也就是前面的跳转第一次发生时),才会执行JCN   M2后面的指令,否则跳转到M2标签

4.问题补充:FP M10.0的上升沿 什么时候触发的,怎么出来的?
--------------上升沿就是的触发条件就是跳转到M1的条件,你程序中两处跳转到M1的指令都会触发这个上升沿。

提问者对于答案的评价:
多谢高手相助,还略有不懂,如有空 愿详听。QQ515872799

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

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

相关推荐