是这样的.公司做了个演示板,上面用三个指示灯(即三个输出)来代表循环泵的工作情况.正常情况下三个灯会不断的连续闪烁循环.程序中的那一段,我始终是没弄明白.因为西门子手册上讲字节循环指令那也没看懂,所以希望大家帮帮忙,仔细的说明一下.
程序如下:(本来是梯形图,可是这只能用STL了,对STL不太了解的朋友可以把程序写进去再转成梯形图来看)
网络16
LD SM0.0
LPS
AN M22.0
TON T36,VW288
LPP
A T36
LPS
LDB = VB500,0
OB = VB500,8
ALD
MOVB 1,VB500
LPP
RLB VB500,1
= M22.0
网络17
LD M9.2
LPS
A V500.1
= Q1.0
LRD
A V500.2
= Q1.1
LPP
A V500.3
= Q1.2
其中的VW288是控制循环转动的速度的,M9.2也是前面程序的中间量,都不用管它.
第一,为什么要当VB500为0或者8的时候才往VB500中放入1呢?VB500的范围不是0--7吗?怎么能取8呢?
第二,循环指令实现时,分别会触发V500.1,V500.2,V500.3,那么后面的V500.4--V500.7呢?做测试的时候没发现循环输出有比较长的间断时间啊...晕了
谢谢各位
问题补充:
看了二楼朋友的回复觉得明白点了.看来我需要补习补习计算机基础.期待更详细的解释,谢谢各位.
最佳答案
VB500最大为255,
但如果=8,个位中只有BIT3=1,而其它位都为0的时候,VB500=8
所以既然到8就循环了,那么再高的位就没用了哦。
提问者对于答案的评价:
谢谢,已经弄明白了.
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc356224.html