//复位 public void Reset(byte ADDR = SMC_Controller_Model.ADDR) { if (axisType == AXIS_TYPE_E.AXIS_Y) { Ult.SMC_ManualRightMove(ADDR, axisType);//连续左行 } else { Ult.SMC_ManualLeftMove(ADDR, axisType);//连续左行 } byte Zero = 0; switch (axisType) { case AXIS_TYPE_E.AXIS_X: Zero = SMC_Controller_Model.XZERO; break; case AXIS_TYPE_E.AXIS_Y: Zero = SMC_Controller_Model.YZERO; break; case AXIS_TYPE_E.AXIS_Z: Zero = SMC_Controller_Model.ZZERO; break; } while (!SMC.Controller.SMCController.IsZERO(ADDR, Zero)) { System.Threading.Thread.Sleep(5); } Ult.SMC_QuickStopMotor(ADDR, AXIS_TYPE_E.AXIS_X);//停止X轴 //TODO:降低电机速度 if (axisType == AXIS_TYPE_E.AXIS_Y) { Ult.SMC_ManualLeftMove(ADDR, axisType);//连续左行 } else { Ult.SMC_ManualRightMove(ADDR, axisType);//连续左行 } while (!SMC.Controller.SMCController.IsZERO(ADDR, Zero)) { System.Threading.Thread.Sleep(5); } Ult.SMC_QuickStopMotor(ADDR, axisType); //停止X轴 Ult.SMC_ClearMotorPosition(ADDR, axisType); //清除坐标 }
//停止 public void StopMove() { Ult.SMC_QuickStopMotor(SMC_Controller_Model.ADDR, axisType); }