西门子200求教 for循环函数例子

梯形图的那种啊  谢谢各位了

问题补充:
一楼的这个我看过,这样我的循环要求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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日
下一篇 2020年10月30日

相关推荐