梯形图的那种啊 谢谢各位了
问题补充:
一楼的这个我看过,这样我的循环要求30s一次,这个是分局扫描周期来的,能设置时间间隔吗
最佳答案
for/next指令:
这个指令是用沿触发for指令的en端口,其中indx是存放循环指令次数的寄存器,init是描述循环自那次开始,一般这个管脚填写1,即第一次循环开始,final是表示已经循环的次数寄存器。
指令工作原理:
当for指令被沿触发en使能后,程序子for指令开始运行,一直到next标记处,完成一个循环,如果循环次数大于1次,则在一个扫描周期内完成由indx管脚指定的循环次数。
所以,具体应用时,需要规避因indx管脚指定的过多循环,有时候循环指令内嵌套了内循环,这样会触发dog(500mS)的循环周期,使plc报警,解决此类问题是在程序段中间部位,调用一次dog指令。
补充问题回复:
这个程序确实编辑起来很容易的,假设30S一次激活循环指令,将VB0数据+1,循环9次。
LD M0.0 //30S触发一次的定时器或其它类型的时间间隔
FOR VW100, 1, 9 //
///////////////////////////////
LD Always_On:SM0.0
INCB VB0 //当进入循环时,在一个周期内VB0+1,一共加9次
//////////////////////////////
NEXT //指令结束标记
提问者对于答案的评价:
谢谢了 真是太及时了
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc288069.html