LD M31.4
FOR VW758, +1, +24
LD M31.4
BMB *VD750, VB700, 26
MOVW VW714, *VD730
MOVW VW716, *VD734
MOVW VW718, *VD738
MOVW VW720, *VD742
MOVW VW722, *VD746
-D +26, VD750
+D +2, VD730
+D +2, VD734
+D +2, VD738
+D +2, VD742
+D +2, VD746
NEXT
R M31.4, 1
为什么NEXT要单独放一个网络段里?
程序最后的R M31.4,1在整个程序段应该理解更合理,是所有程序循环完成后复位,还是每一次都要复位?
如果整个程序改为LAD语句,怎么才能改为LAD语句?
图片说明:
最佳答案
循环指令next结束单独放一个网络段是编程规约。
要想把上面的stl语句格式改为lad格式需要分网络段。
LD M31.4
FOR VW758, +1, +24
/////////////////////////////////////////
LD M31.4
BMB *VD750, VB700, 26
MOVW VW714, *VD730
MOVW VW716, *VD734
MOVW VW718, *VD738
MOVW VW720, *VD742
MOVW VW722, *VD746
-D +26, VD750
+D +2, VD730
+D +2, VD734
+D +2, VD738
+D +2, VD742
+D +2, VD746
////////////////////////////////////
NEXT
///////////////////////////////////
R M31.4, 1 //如果在lad格式下,这个语句为非法语句,需要在前面加一些条件,如VW758=24
提问者对于答案的评价:
谢谢,像这个里面的复位就是VW758=24对吧!不敢确认!
最佳答案作者回复:
for next指令的含义是当循环次数标记位VW758=24时,自动跳出循环体。
indx数据=final数据,循环自动结束。
当重新启动循环时,VW758里面的循环次数仍然会自动的从0次开始循环的,你仅仅需要调用循环指令,循环指令会在一个周期内循环完成,所以,循环次数尽量少用,以免整个程序的扫描周期延长,衍生出看门狗报警及程序执行周期变长带来的麻烦。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc369250.html