最常见的思路就是先设立一个基准,然后从这个基准开始往后累加,因为两种孔距都是变量,需要写一个可以动态求目标位置的算法,简单来说就是分别对两种孔距在下一个冲孔位置做取整后求差值,把这个差值走掉以后就可以冲孔,然后再走下一个
最终的效果就是看哪个孔在前,先走到这个位置冲一下,再走下一个位置再冲,至于具体冲哪一个,根据计算结果来定
设X为总基准,大孔定位间距是a,小孔定位间距是b,动态位置是XΔ,
起始状态XΔ = X
大孔定位目标位置Ya = na*a
小孔定位目标位置Yb = nb*b
if(Ya<Yb)
go Ya
冲大孔
na+1
XΔ = Ya
else
go Yb
冲小孔
nb+1
XΔ = Yb
endif
可能还需要处理一下Ya=Yb的情况,就是俩都冲一下,建议是整个系统的数值计算都用一个实际位移单位比如0.01mm进行规格化
当(XΔ-X) >= 设定目标长度+固定偏移,裁切动作,这里的固定偏移是一个固定的值,一般是设备长度之类的