Exemplo n.º 1
0
int Action::SeconMotorBackToOrigin()
{
	d1000_home_move(SECOND_MOTOR, 50, ini->m_MotorSpinSpeed1/5, 10);
	if (d1000_check_done(SECOND_MOTOR))
	{
		d1000_start_t_move(SECOND_MOTOR, -2000, ini->m_MotorSpinSpeed1 / 40, ini->m_MotorSpinSpeed1 / 10, 50);
		while (!d1000_check_done(SECOND_MOTOR))
		{
			if (::WaitForSingleObject(g_evtEStop.evt, 0) == WAIT_OBJECT_0) break;
			continue;
		}
		d1000_home_move(SECOND_MOTOR, ini->m_MotorSpinSpeed1/10, ini->m_MotorSpinSpeed1/5, 10);
		while (!d1000_check_done(SECOND_MOTOR))
		{
			if (::WaitForSingleObject(g_evtEStop.evt, 0) == WAIT_OBJECT_0) break;
			continue;
		}
	}
	else
	{
		while (!d1000_check_done(SECOND_MOTOR))
		{
			if (::WaitForSingleObject(g_evtEStop.evt, 0) == WAIT_OBJECT_0) break;
			continue;
		}
	}

	Sleep(100);
	d1000_start_t_move(SECOND_MOTOR, ini->m_MotorCompenstate1, ini->m_MotorSpinSpeed / 100, ini->m_MotorSpinSpeed / 10, 10);

	while (!d1000_check_done(SECOND_MOTOR))
	{
		if (::WaitForSingleObject(g_evtEStop.evt, 0) == WAIT_OBJECT_0) break;
		continue;
	}

	d1000_set_command_pos(SECOND_MOTOR, 0);
	return 1;
}
Exemplo n.º 2
0
int Action::FisrtMotorBackToOrigin()
{
	d1000_home_move(0, 50, -ini->m_MotorSpinSpeed / 10, 10);
	if (d1000_check_done(FIRST_MOTOR))
	{
		d1000_start_t_move(FIRST_MOTOR, ini->m_MotorSpinWaves, ini->m_MotorSpinSpeed / 100, ini->m_MotorSpinSpeed / 10, 10);
		while (!d1000_check_done(FIRST_MOTOR))
		{
			if (::WaitForSingleObject(g_evtEStop.evt, 0) == WAIT_OBJECT_0) break;
			continue;
		}
		d1000_home_move(0, 50, ini->m_MotorSpinSpeed / 10, 10);
		while (!d1000_check_done(FIRST_MOTOR))
		{
			if (::WaitForSingleObject(g_evtEStop.evt, 0) == WAIT_OBJECT_0) break;
			continue;
		}
	}
	else
	{
		while (!d1000_check_done(FIRST_MOTOR))
		{
			if (::WaitForSingleObject(g_evtEStop.evt, 0) == WAIT_OBJECT_0) break;
			continue;
		}
	}
	Sleep(100);
	d1000_start_t_move(FIRST_MOTOR, ini->m_MotorCompenstate, ini->m_MotorSpinSpeed / 100, ini->m_MotorSpinSpeed / 10, 10);

	while (!d1000_check_done(FIRST_MOTOR))
	{
		if (::WaitForSingleObject(g_evtEStop.evt, 0) == WAIT_OBJECT_0) break;
		continue;
	}
	d1000_set_command_pos(0,0);
	return 1;
}
Exemplo n.º 3
0
void PosController::SetCurrZPosition(double dfPos)
{
	d1000_set_command_pos(Z_Axis, dfPos);
}