想实现的功能是:在程序的前半段使用X轴第一软限位,在程序的后半段使用X轴第二软限位。
目前采用的方法:在G代码程序里使用$A_DBB[1000]=0或1控制PLC里的DB3800.DBX1000.2=0或1,实现第一、第二软限位的切换;
报错:软限位超程。
第二软限位比第一软限位范围要大,在执行报错的语句之前已经通过$A_DBB[1000]=1将DB3800.DBX1000.2赋值为1。运动目标位置超出了第一软限位但在第二软限位范围内,但可能是因为程序预读的原因,程序报错目标位置超出软限位(指的是超出了第一软限位)
请教这种情况该如何处理?