|
|
|
|
#include "StdAfx.h"
|
|
|
|
|
#include "WorkCmdMovePlatformXY.h"
|
|
|
|
|
#include "ExceptionMsg.h"
|
|
|
|
|
#include "DeviceState.h"
|
|
|
|
|
|
|
|
|
|
CWorkCmdMovePlatformXY::CWorkCmdMovePlatformXY()
|
|
|
|
|
{
|
|
|
|
|
m_bMoveByDir = false;//<2F>Ƿ<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>ƽ̨
|
|
|
|
|
m_bMoveByPulse = false;//<2F>Ƿ<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>ƽ̨
|
|
|
|
|
m_MoveDis = 0;//<2F>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_Work = false;//<2F>Ƿ<EFBFBD><C7B7>ڹ<EFBFBD><DAB9><EFBFBD>(false <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>),<2C><>Ҫ<EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>ٶȲ<D9B6>һ<EFBFBD><D2BB>
|
|
|
|
|
m_MoveOrder = 0;
|
|
|
|
|
m_bCheckIniState = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>״̬
|
|
|
|
|
}
|
|
|
|
|
CWorkCmdMovePlatformXY::~CWorkCmdMovePlatformXY(void)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ƽ̨<C6BD>ƶ<EFBFBD><C6B6><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>
|
|
|
|
|
bool CWorkCmdMovePlatformXY::Excute()
|
|
|
|
|
{
|
|
|
|
|
if(gLogMgr->IsDebuging())//<2F><><EFBFBD><EFBFBD>״̬
|
|
|
|
|
{
|
|
|
|
|
Sleep(gLogMgr->GetDebugCmdDelay());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CPlatformXY &PlatformXY = *gPlatformXY;
|
|
|
|
|
if(m_bMoveByDir)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
PlatformXY.MoveDistance(m_MoveDis,m_MoveDir);
|
|
|
|
|
}
|
|
|
|
|
else if(m_bMoveByPulse)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
PlatformXY.MovePulseCnt(m_PulseCnt,m_MoveDir);
|
|
|
|
|
}
|
|
|
|
|
else//<2F>㵽<EFBFBD><E3B5BD><EFBFBD>ƶ<EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
if(m_bCheckIniState)
|
|
|
|
|
{
|
|
|
|
|
CDeviceState &DeviceState = CDeviceState::GetInstance();
|
|
|
|
|
if(!DeviceState.IsDeviceIni())
|
|
|
|
|
{
|
|
|
|
|
CString str = _T("<EFBFBD>쳣<EFBFBD><EFBFBD>ƽ̨δ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>!");
|
|
|
|
|
CExceptionMsg Msg;
|
|
|
|
|
Msg.SetMsg(str);
|
|
|
|
|
throw Msg;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
PlatformXY.SetMoveOrder(m_MoveOrder);
|
|
|
|
|
PlatformXY.Move(m_Work,m_MovePt,m_TargetPt);
|
|
|
|
|
}
|
|
|
|
|
SetAfterDelay(PlatformXY.GetMoveDelay());
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
void CWorkCmdMovePlatformXY::WirteLog()
|
|
|
|
|
{
|
|
|
|
|
if(m_bMoveByDir)
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog(_T("[WorkCmd][ƽ̨<C6BD>ƶ<EFBFBD>] "),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>mm"),m_MoveDis);
|
|
|
|
|
}
|
|
|
|
|
else if(m_bMoveByPulse)
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog(_T("[WorkCmd][ƽ̨<C6BD>ƶ<EFBFBD>] "),_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),m_PulseCnt);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog(_T("[WorkCmd][MovePlatformXY] "),_T("MovePt.x"),_T("MovePt.y"),m_MovePt.x,m_MovePt.y);
|
|
|
|
|
gLogMgr->WriteDebugLog(_T("[WorkCmd][MovePlatformXY] "),_T("m_TargetPt.x"),_T("m_TargetPt.y"),m_TargetPt.x,m_TargetPt.y);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/*MovePt <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨<C6BD><CCA8>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
|
|
|
TargetPt <EFBFBD>ǽ<EFBFBD>MovePt <EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD>TargetPt <EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
void CWorkCmdMovePlatformXY::MoveToTargetPt(Dbxy MovePt,Dbxy TargetPt)
|
|
|
|
|
{
|
|
|
|
|
m_MovePt = MovePt;
|
|
|
|
|
m_TargetPt = TargetPt;
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>ƶ<EFBFBD>
|
|
|
|
|
void CWorkCmdMovePlatformXY::MoveByDis(double MoveDis,DIRECTION MoveDir)
|
|
|
|
|
{
|
|
|
|
|
m_bMoveByDir = true;
|
|
|
|
|
m_MoveDis = MoveDis;
|
|
|
|
|
m_MoveDir = MoveDir;
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
|
|
|
|
|
void CWorkCmdMovePlatformXY::MoveByPulseCnt(int PulseCnt,DIRECTION MoveDir)
|
|
|
|
|
{
|
|
|
|
|
m_bMoveByPulse = true;
|
|
|
|
|
m_PulseCnt = PulseCnt;
|
|
|
|
|
m_MoveDir = MoveDir;
|
|
|
|
|
}
|