You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
TwoLaserHead-PushJig/LaiPuLaser/WorkCmdMovePlatformXY.cpp

96 lines
2.7 KiB
C++

#include "StdAfx.h"
#include "WorkCmdMovePlatformXY.h"
#include "ExceptionMsg.h"
#include "DeviceState.h"
#include "ClientMgr.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());
}
if (!gClientMgr->CheckServerDoneCmd())
{
AfxMessageBox("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>ָ<EFBFBD>ʱ.");
return false;
}
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;
}