/// <summary> /// 等待轴停止 /// </summary> /// <param name="card"></param> /// <param name="axis"></param> /// <returns></returns> public static short WaitAxisStop(AxisConfig axisC) { int intAxisStatus = 0; short shrResult = 0; NewCtrlCardBase Base_ = tag_NewCtrlCardBase[(int)axisC.tag_MotionCardManufacturer]; if (Base_ == null) { MessageBoxLog.Show(NewCtrlCardBase.GetManufacturerName((int)axisC.tag_MotionCardManufacturer) + "控制卡初始化失败!"); return(shrFail); } short ret = 0; do { //程序是否正常运行 if (IsExit()) { Base_.SR_AxisEmgStop(axisC.CardNum, axisC.AxisNum); return(shrFail); } //读轴状态 shrResult = Base_.SR_GetAxisStatus(axisC.CardNum, axisC.AxisNum, out intAxisStatus); if (shrResult != shrGtsSuccess) { return(shrFail); } Thread.Sleep(5); } while (intAxisStatus != 0); //运动中 return(shrSuccess); }
/// <summary> /// 获取轴运动状态 1,运动,0 飞运动 -1异常 /// </summary> /// <param name="axisC"></param> /// <returns></returns> public static short SR_GetAxisStatus(AxisConfig axisC) { short shrResult = 0; int axisStatus = 0; NewCtrlCardBase Base_ = tag_NewCtrlCardBase[(int)axisC.tag_MotionCardManufacturer]; if (Base_ == null) { MessageBoxLog.Show(NewCtrlCardBase.GetManufacturerName((int)axisC.tag_MotionCardManufacturer) + "控制卡初始化失败!"); return(-1); } shrResult = Base_.SR_GetAxisStatus(axisC.CardNum, axisC.AxisNum, out axisStatus); if (shrResult == 1) { return(-1); } return((short)axisStatus); }