有六个工位,现在要求1,2,3工位依次工作且能循环即1到2,2到3,3到1,循环次数可设。循环次数到后4,5,6工位开始依次工作也能循环。请高手给个编程思路或采用什么语句写的方便可读!
问题补充:
1工位工作时间到接通2工位,2工位时间到接通3工位,3工位时间到接通1工位如此循环下去直到到达循环次数,此时1,2,3工位停止工作,接通4工位,4工位时间到接通5工位,5工位时间到接通6工位,6工位时间到接通4工位如此循环下去直到到达循环次数,此时4,5,6工位停止工作。
最佳答案
不难实现,用SCR、SCRT、SCRE指令就可以实现。
举个例子:用S1.0表示1工位,S2.0表示2工位,S3.0表示3工位,S4.0表示4工位,S5.0表示5工位,S6.0表示6工位。用VW10表示前1、2、3工位的设定循环次数,用VW12表示1、2、3工位的已完成循环次数,用VW14表示4、5、6工位的设定循环次数,用VW16表示4、5、6工位的已完成循环次数。
首先编写一个子程序SBR0,在SBR0里面RESET S1.0、S2.0、S3.0、S4.0、S5.0、S6.0,MOV_W 0至VW10、VW12、VW14、VW16。用SM0.1调用这个子程序。
在循环的启始处用SET指令置位S1.0。S1.0工位完成后SCRT S2.0,S2.0工位完成后SCRT S3.0,当S3.0工位完成后INCW VW12。此时用比较指令比较VW12与VW10若VW12≥VW10则SCRT S4.0,若VW12<VW10则SET S1.0。这样就可以实现1,2,3工位的循环,4,5,6工位的编程思路和1,2,3工位相同。在S6.0完成时记得MOV_W 0到VW12和VW16。
比方说现在设置VW10等于2,VW14等于3。运行程序就可以实现1,2,3工位循环执行2次之后,4,5,6工位循环执行3次。
指令的集体说明看,200手册的第六章S7200指令集/程序控制指令/顺控继电器指令。
提问者对于答案的评价:
thank you!
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc347210.html