public int WaitAxisStop(ushort nodeid) { if (CardNo.Count == 0) { return((int)DM_ErrorList.NoCardFound); } ushort MC_done = 0; short rc; rc = CPCI_DMC.CS_DMC_01_motion_done(CardNo[0], nodeid, 0, ref MC_done); DateTime st_time = DateTime.Now; TimeSpan time_span; while (MC_done != 0) { time_span = DateTime.Now - st_time; if (time_span.TotalMilliseconds > MotionTimeoutMS) { return((int)DM_ErrorList.MotionTimeout); } Application.DoEvents(); Thread.Sleep(10); CPCI_DMC.CS_DMC_01_motion_done(CardNo[0], nodeid, 0, ref MC_done); } return((int)DM_ErrorList.NoError); }
public void VWaitAxisGohome(ushort CardNo, ushort nodeid) { ushort MC_done = 0; uint MC_status = 0; short rc; uint status1 = 0, status2 = 0, status3 = 0, status4 = 0; CPCI_DMC.CS_DMC_01_motion_done(CardNo, nodeid, 0, ref MC_done); rc = CPCI_DMC.CS_DMC_01_motion_status(CardNo, nodeid, 0, ref MC_status); status1 = ((MC_status >> 1) & 0X0001); status2 = ((MC_status >> 2) & 0X0001); status3 = ((MC_status >> 10) & 0X0001); status4 = ((MC_status >> 12) & 0X0001); while ((status1 != 1) || (status2 != 1) || (status3 != 1) || (status4 != 1) || (MC_done != 0)) { Application.DoEvents(); Thread.Sleep(10); CPCI_DMC.CS_DMC_01_motion_status(CardNo, nodeid, 0, ref MC_status); status1 = ((MC_status >> 1) & 0X0001); status2 = ((MC_status >> 2) & 0X0001); status3 = ((MC_status >> 10) & 0X0001); status4 = ((MC_status >> 12) & 0X0001); CPCI_DMC.CS_DMC_01_motion_done(CardNo, nodeid, 0, ref MC_done); } }
public void VWaitAxisStop(ushort CardNo, ushort nodeid) { ushort MC_done = 0; short rc; rc = CPCI_DMC.CS_DMC_01_motion_done(CardNo, nodeid, 0, ref MC_done); while (MC_done != 0) { Application.DoEvents(); Thread.Sleep(10); CPCI_DMC.CS_DMC_01_motion_done(CardNo, nodeid, 0, ref MC_done); } }
public int WaitHomeDone(ushort nodeid) { if (CardNo.Count == 0) { return((int)DM_ErrorList.NoCardFound); } ushort MC_done = 0; uint MC_status = 0; short rc; uint status1 = 0, status2 = 0, status3 = 0, status4 = 0; CPCI_DMC.CS_DMC_01_motion_done(CardNo[0], nodeid, 0, ref MC_done); rc = CPCI_DMC.CS_DMC_01_motion_status(CardNo[0], nodeid, 0, ref MC_status); status1 = ((MC_status >> 1) & 0X0001); status2 = ((MC_status >> 2) & 0X0001); status3 = ((MC_status >> 10) & 0X0001); status4 = ((MC_status >> 12) & 0X0001); DateTime st_time = DateTime.Now; TimeSpan time_span; while ((status1 != 1) || (status2 != 1) || (status3 != 1) || (status4 != 1) || (MC_done != 0)) { time_span = DateTime.Now - st_time; if (time_span.TotalMilliseconds > HomingTimeoutMS) { return((int)DM_ErrorList.HomingTimeout); } Application.DoEvents(); Thread.Sleep(10); CPCI_DMC.CS_DMC_01_motion_status(CardNo[0], nodeid, 0, ref MC_status); status1 = ((MC_status >> 1) & 0X0001); status2 = ((MC_status >> 2) & 0X0001); status3 = ((MC_status >> 10) & 0X0001); status4 = ((MC_status >> 12) & 0X0001); CPCI_DMC.CS_DMC_01_motion_done(CardNo[0], nodeid, 0, ref MC_done); } return((int)DM_ErrorList.NoError); }