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.

135 lines
4.8 KiB
C++

#include "StdAfx.h"
#include "WorkCmdFactory.h"
#include <memory>
#include "CreaterMotorToMachineOrigin.h"
#include "CreaterMotorToOffsetPos.h"
#include "CreaterMotorCheckLimit.h"
#include "CreaterPciPortCheck.h"
#include "CreaterPciPortSwitch.h"
#include "CreaterDeviceParReset.h"
#include "CreaterCutFlow.h"
#include "CreaterPlatformMove.h"
#include "CreaterMarkFlow.h"
#include "CreaterCatchMarkFlow.h"
#include "CreaterCatchMark.h"
#include "CreaterMsg.h"
#include "CreaterWorkEnd.h"
#include "CreaterWorkStart.h"
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>еԭ<D0B5><D4AD>(PAR1 (X/Y/Z))
#define CMD_MOTOR_TO_MACHINE_ORIGIN _T("CMD_MOTOR_TO_MACHINE_ORIGIN")
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>ָ<EFBFBD><D6B8>ƫ<EFBFBD>Ƶ<EFBFBD>(PAR1 (X/Y/Z))
#define CMD_MOTOR_TO_OFFSET_POS _T("CMD_MOTOR_TO_OFFSET_POS")
//<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
#define CMD_DEVICE_PAR_RESET _T("CMD_DEVICE_PAR_RESET")
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
#define CMD_MOTOR_CHECK_LIMIT _T("CMD_MOTOR_CHECK_LIMIT")
//<2F><><EFBFBD><EFBFBD>PCI <20><><EFBFBD>˿<EFBFBD>״̬(PAR1 (<28>˿ڿ<CBBF><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)) (PAR2 (Ҫ<>󿪻<EFBFBD><F3BFAABB>ǹ<EFBFBD>TRUE/FALSE))(PAR3 (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>(ms)))
#define CMD_PCI_PORT_CHECK _T("CMD_PCI_PORT_CHECK")
//<2F>л<EFBFBD>PCI <20><><EFBFBD>˿<EFBFBD>״̬(PAR1 (<28>˿ڿ<CBBF><DABF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)) (PAR2 (Ҫ<>󿪻<EFBFBD><F3BFAABB>ǹ<EFBFBD>TRUE/FALSE))
#define CMD_PCI_PORT_SWITCH _T("CMD_PCI_PORT_SWITCH")
//ƽ̨<C6BD>ƶ<EFBFBD>(PAR1 (<28>ƶ<EFBFBD><C6B6>ķ<EFBFBD>ʽ))
#define CMD_PLATFORM_MOVE _T("CMD_PLATFORM_MOVE")
//<2F><><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><E2B2BB><EFBFBD><EFBFBD>ƽ̨<C6BD>ƶ<EFBFBD><C6B6>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD>ʽ)
#define CMD_CUT_FLOW _T("CMD_CUT_FLOW")
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define CMD_MARK_FLOW _T("CMD_MARK_FLOW")
//<2F><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ץȡ<D7A5><C8A1>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define CMD_AUTO_CATCH_MARK_FLOW _T("CMD_AUTO_CATCH_MARK_FLOW")
//ץȡ<D7A5><C8A1>λ<EFBFBD><CEBB>
#define CMD_CATCH_MARK _T("CMD_CATCH_MARK")
//<2F><>ʾ<EFBFBD><CABE>Ϣ PAR1 (<28><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>)
#define CMD_MSG _T("CMD_MSG")
//<2F>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>
#define CMD_WORK_END _T("CMD_WORK_END")
//<2F>ӹ<EFBFBD><D3B9><EFBFBD>ʼǰ<CABC><C7B0>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>
#define CMD_WORK_START _T("CMD_WORK_START")
//<2F><><EFBFBD><EFBFBD>Z <20><EFBFBD><E1BDB9>
#define CMD_ADJUST_FOCUS _T("CMD_ADJUST_FOCUS")
CWorkCmdFactory::CWorkCmdFactory(void)
{
}
CWorkCmdFactory::~CWorkCmdFactory(void)
{
}
//str <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>浽WorkCmdVec
void CWorkCmdFactory::Creat(const CString &str)
{
if(str.Find(_T("//")) != -1)//ע<>͵<EFBFBD><CDB5><EFBFBD>ָ<EFBFBD><D6B8>
{
return;
}
else if(str.Find(CMD_MOTOR_TO_MACHINE_ORIGIN) != -1)
{
auto_ptr<CCreaterWorkCmd> pCreater(new CCreaterMotorToMachineOrigin(str));
pCreater->Creat();
}
else if(str.Find(CMD_MOTOR_TO_OFFSET_POS) != -1)
{
auto_ptr<CCreaterWorkCmd> pCreater(new CCreaterMotorToOffsetPos(str));
pCreater->Creat();
}
else if(str.Find(CMD_MOTOR_CHECK_LIMIT) != -1)
{
auto_ptr<CCreaterWorkCmd> pCreater(new CCreaterMotorCheckLimit(str));
pCreater->Creat();
}
else if(str.Find(CMD_PCI_PORT_CHECK) != -1)
{
auto_ptr<CCreaterWorkCmd> pCreater(new CCreaterPciPortCheck(str));
pCreater->Creat();
}
else if(str.Find(CMD_PCI_PORT_SWITCH) != -1)
{
auto_ptr<CCreaterWorkCmd> pCreater(new CCreaterPciPortSwitch(str));
pCreater->Creat();
}
else if(str.Find(CMD_DEVICE_PAR_RESET) != -1)
{
auto_ptr<CCreaterWorkCmd> pCreater(new CCreaterDeviceParReset(str));
pCreater->Creat();
}
else if(str.Find(CMD_PLATFORM_MOVE) != -1)
{
auto_ptr<CCreaterWorkCmd> pCreater(new CCreaterPlatformMove(str));
pCreater->Creat();
}
else if(str.Find(CMD_CUT_FLOW) != -1)
{
auto_ptr<CCreaterWorkCmd> pCreater(new CCreaterCutFlow(str));
pCreater->Creat();
}
else if(str.Find(CMD_MARK_FLOW) != -1)
{
auto_ptr<CCreaterMarkFlow> pCreater(new CCreaterMarkFlow(str));
pCreater->Creat();
}
else if(str.Find(CMD_AUTO_CATCH_MARK_FLOW) != -1)
{
auto_ptr<CCreaterCatchMarkFlow> pCreater(new CCreaterCatchMarkFlow(str));
pCreater->Creat();
}
else if(str.Find(CMD_CATCH_MARK) != -1)
{
auto_ptr<CCreaterCatchMark> pCreater(new CCreaterCatchMark(str));
pCreater->Creat();
}
else if(str.Find(CMD_MSG) != -1)
{
auto_ptr<CCreaterMsg> pCreater(new CCreaterMsg(str));
pCreater->Creat();
}
else if(str.Find(CMD_WORK_END) != -1)
{
auto_ptr<CCreaterWorkEnd> pCreater(new CCreaterWorkEnd(str));
pCreater->Creat();
}
else if(str.Find(CMD_WORK_START) != -1)
{
auto_ptr<CCreaterWorkStart> pCreater(new CCreaterWorkStart(str));
pCreater->Creat();
}
}