关于跳转指令的疑惑

Network 1 // 网络标题
 // 网络注释
 LD     SM0.0
 INCB   VB0
 Network 2 
 LBL    1
 Network 3 // 网络标题
 // 网络注释
 LD     SM0.0
 INCB   VB2
 Network 4 
 LDB<=  VB2, 200
 JMP    1
 Network 5 // 网络标题
 // 网络注释
 LD     SM0.0
 INCB   VB4
 为何首次扫描就VB2=201了?? 难道跳转指令与扫描无关?
 

问题补充:
我利用首次扫描监控的,为何首次扫描VB2就已经等于201了??应该等于1才对啊? 也是所把LBL 1 放在JMP下面和上面有上面区别?

最佳答案

我测试你的程序,vb2 内容从1~255 循环,没有你所说的情况,跳转执行只在LDB<=  VB2, 200条件满足条件下执行

 补充:
 PLC扫描时间是毫秒级的,你点运行以后已经不知道扫描多少次了,所以,上来vb2中值是一直增加的
 程序执行流程
 vb0 +1---------------
 vb2+1 -------       |
 是否小于200  |      |
 是-----------       |
 不是                |
 vb4+1----------------
 但是你要注意,vb2>200的时候,每次扫描都会+1,所以不可能出现你所说的=201就停止的情况

提问者对于答案的评价:
明白了,谢谢! 其实是在一个扫描周期完成循环(VB2=201)的只不过循环周期很长而已了.

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午10:20
下一篇 2021年7月5日 上午10:20

相关推荐

发表回复

登录后才能评论