发布于 2007-10-07 18:50:09
0楼
GZCZD和西门子PLC学员,我的思路基本与西门子学员的相同。我的情况以及想达到的效果是这样的,1)总共设置12个工位,分别为1#2#3#....12#,在1#设置一个光电开关,在4#设置一个光电开关,在5#位置对零件进行加工,6#(含)以后是后续加工,现在只讨论1#到4#之间因为工艺的要求不能在5#设置光电开关,所以设置在4#位置。2)零件的传送采用2个气缸,分别为A气缸和B气缸,A沿垂直于地面运动,B沿平行于地面运动A,B各设置2个上下位置的传感器(A上,A下,B左,B右),常态下A在上B在左通过AB的组合运动(A下降-B右移动-A上升-B左移动)来完成零件的传送,AB每动一个循环,零件向前走一个工位。
想达到的要求是,1)1#的光电开关每动做1次零件便向前传送1个工位,零件运动到4#时,如果4#的光电开关检测到有零件的话,下一次AB的组合运动后视为5#有零件。如果4#应该有零件而实际没有(4#光电开关没动做)设备也不报警。1#到4#之间可以看成零件的冷却。
2)如果1#光电开关长时间不动作,而2#和3#或者2#或者3#有零件(1#不可能有零件长时间停留)的话,设备会执行“清空”操作,自动把剩余的零件一步一步地向前传送,所以设备要有自动记忆的功能。3)在执行“清空”的过程中,1#又有零件被放进来的话,自动取消“清空”操作,转为正常运行。所以会在1#到4#之间出现1#有零件,2#无零件,而3#有零件的情况,设备必须能够判断出这个情况,我最初提的问题的要点在第3项上的。而第3项的问题,其实与4#位置是否有传感器是没有关系的,我上面写的一段程序能够实现这个功能的。至于我在程序里采用的VB0,主要是在别的地方还有别的用处的