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.

567 lines
17 KiB
C++

// TestDlg.cpp : ʵ<><CAB5><EFBFBD>ļ<EFBFBD>
//
#include "stdafx.h"
#include "LaiPuLaser.h"
#include "DlgPlatformCtrl.h"
#include "afxdialogex.h"
#include "WorkCmdMovePlatformXY.h"
#include "MsgBox.h"
#include "AuthorityMgr.h"
#include "WorkCmdInvoker.h"
#include "WorkCmdMoveMotor.h"
#include "ExceptionMsg.h"
#include "WorkCmdMotorToMachineOrigin.h"
#include "WorkCmdMotorToOffsetPos.h"
#include "PropertieMgr.h"
#include "DeviceState.h"
#include "Laser.h"
#include "ObjComponentMgr.h"
#include "MotionCard_PCI1245.h"
#include "WorkCmdSetMotorSpeed.h"
#include "WorkCmdWaitMotorStop.h"
#define MAX_MOVE_DIS 100//ƽ̨һ<CCA8><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>
#define MAX_Z_MOVE_DIS 10//Z<><5A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>
#define WORK_TIMER1 1
#define WORK_TIME_DELAY1 200
#define WORK_TIMER2 2
#define WORK_TIME_DELAY2 50
IMPLEMENT_DYNAMIC(DlgPlatformCtrl, CDialogEx)
BEGIN_MESSAGE_MAP(DlgPlatformCtrl, CDialogEx)
ON_WM_TIMER()
ON_BN_CLICKED(IDC_UP_BTN, &DlgPlatformCtrl::OnBnClickedUpBtn)
ON_BN_CLICKED(IDC_DOWN_BTN, &DlgPlatformCtrl::OnBnClickedDownBtn)
ON_BN_CLICKED(IDC_LEFT_BTN, &DlgPlatformCtrl::OnBnClickedLeftBtn)
ON_BN_CLICKED(IDC_RIGHT_BTN, &DlgPlatformCtrl::OnBnClickedRightBtn)
ON_BN_CLICKED(IDC_TO_ORIGIN, &DlgPlatformCtrl::OnBnClickedToOrigin)
ON_BN_CLICKED(IDC_BY_DIS, &DlgPlatformCtrl::OnBnClickedByDis)
ON_BN_CLICKED(IDC_BY_PULSE, &DlgPlatformCtrl::OnBnClickedByPulse)
ON_BN_CLICKED(IDC_MOTOR_Z_UP, &DlgPlatformCtrl::OnBnClickedMotorZUp)
ON_BN_CLICKED(IDC_MOTOR_Z_DOWN, &DlgPlatformCtrl::OnBnClickedMotorZDown)
ON_BN_CLICKED(IDC_SET_XY_ORIGIN, &DlgPlatformCtrl::OnBnClickedSetOrigin)
ON_BN_CLICKED(IDC_TO_WORK_PT, &DlgPlatformCtrl::OnBnClickedToWorkPt)
ON_BN_CLICKED(IDC_INI_PLAT, &DlgPlatformCtrl::OnBnClickedIniPlat)
ON_BN_CLICKED(IDC_SET_Z_FOCUS, &DlgPlatformCtrl::OnBnClickedSetZFocus)
ON_BN_CLICKED(IDC_RESET_XY_ORIGIN, &DlgPlatformCtrl::OnBnClickedResetXyOrigin)
ON_BN_CLICKED(IDC_ADJUST_PLAT_SPEED, &DlgPlatformCtrl::OnBnClickedAdjustPlatSpeed)
ON_BN_CLICKED(IDC_TEST_Z_FOCUS, &DlgPlatformCtrl::OnBnClickedTestZFocus)
ON_EN_CHANGE(IDC_MOVE_RANGE, &DlgPlatformCtrl::OnEnChangeMoveRange)
ON_EN_CHANGE(IDC_MOVE_DIS_Z, &DlgPlatformCtrl::OnEnChangeMoveDisZ)
ON_BN_CLICKED(IDC_MOVE_TO_PT, &DlgPlatformCtrl::OnBnClickedMoveToPt)
ON_BN_CLICKED(IDC_INI_MOTOR_Z, &DlgPlatformCtrl::OnBnClickedIniMotorZ)
ON_BN_CLICKED(IDC_SET_PRODUCT_POS, &DlgPlatformCtrl::OnBnClickedSetProductPos)
ON_BN_CLICKED(IDC_USE_MOTOR_X2_CHECK, &DlgPlatformCtrl::OnBnClickedUseMotorX2Check)
ON_BN_CLICKED(IDC_RESET_ERR, &DlgPlatformCtrl::OnBnClickedResetErr)
ON_BN_CLICKED(IDC_SEVON_BTN, &DlgPlatformCtrl::OnBnClickedSevonBtn)
END_MESSAGE_MAP()
DlgPlatformCtrl::DlgPlatformCtrl(CWnd* pParent /*=NULL*/)
{
bMoveByDis = true;//<2F>Ƿ񰴾<C7B7><F1B0B4BE><EFBFBD><EFBFBD>ƶ<EFBFBD>(false Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>)
m_MoveRange = 10;//<2F>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_ZMotorMoveDis = 0.1;
m_CoordZ = 0;
m_CoordZ2 = 0;
m_ZMotorMoveDis = 1;
m_MovePtX = 0;
m_MovePtY = 0;
m_bMotorInit = false;//Z<><5A><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ<EFBFBD><CABC>
}
DlgPlatformCtrl::~DlgPlatformCtrl()
{
}
void DlgPlatformCtrl::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LEFT_BTN, m_XLeftBtn);
DDX_Control(pDX, IDC_RIGHT_BTN, m_XRightBtn);
DDX_Control(pDX, IDC_UP_BTN, m_XTopBtn);
DDX_Control(pDX, IDC_DOWN_BTN, m_XDownBtn);
DDX_Control(pDX, IDC_MOTOR_Z_UP, m_ZUpBtn);
DDX_Control(pDX, IDC_MOTOR_Z_DOWN, m_ZDownBtn);
DDX_Text(pDX, IDC_MOVE_RANGE, m_MoveRange);
DDX_Text(pDX, IDC_COORD_X, m_PlatformCoord.x);
DDX_Text(pDX, IDC_COORD_Y, m_PlatformCoord.y);
DDX_Text(pDX, IDC_COORD_Z, m_CoordZ);
DDX_Text(pDX, IDC_COORD_Z2, m_CoordZ2);
DDX_Text(pDX, IDC_MOVE_DIS_Z, m_ZMotorMoveDis);
DDX_Text(pDX, IDC_MOVE_PT_X, m_MovePtX);
DDX_Text(pDX, IDC_MOVE_PT_Y, m_MovePtY);
DDX_Control(pDX, IDC_INI_PLAT, m_InitPlatBtn);
DDX_Control(pDX, IDC_TO_ORIGIN, m_ToOriginPtBtn);
DDX_Control(pDX, IDC_TO_WORK_PT, m_ToProductPtBtn);
DDX_Control(pDX, IDC_RESET_XY_ORIGIN, m_PlatCoordZeroBtn);
DDX_Control(pDX, IDC_SET_XY_ORIGIN, m_SetOriginPtBtn);
DDX_Control(pDX, IDC_SET_PRODUCT_POS, m_SetProductPtBtn);
DDX_Control(pDX, IDC_MOVE_TO_PT, m_MovePlatToPtBtn);
DDX_Control(pDX, IDC_INI_MOTOR_Z, m_InitZMotorBtn);
DDX_Control(pDX, IDC_SET_Z_FOCUS, m_SetZMotorOriginBtn);
DDX_Control(pDX, IDC_TEST_Z_FOCUS, m_ReadZMotorOriginBtn);
DDX_Control(pDX, IDC_RESET_ERR, m_ResetMotorErrBtn);
}
BOOL DlgPlatformCtrl::OnInitDialog()
{
CDialogEx::OnInitDialog();
m_XLeftBtn.LoadBitmaps(IDB_LEFT_BTN,IDB_LEFT_DOWN_BTN,IDB_LEFT_BTN,IDB_LEFT_BTN);
m_XRightBtn.LoadBitmaps(IDB_RIGHT_BTN,IDB_RIGHT_BTN_DOWN,IDB_RIGHT_BTN,IDB_RIGHT_BTN);
m_XTopBtn.LoadBitmaps(IDB_TOP_BTN,IDB_TOP_DOWN_BTN,IDB_TOP_BTN,IDB_TOP_BTN);
m_XDownBtn.LoadBitmaps(IDB_DOWN_BTN,IDB_DOWN_DOWN_BTN,IDB_DOWN_BTN,IDB_DOWN_BTN);
m_ZUpBtn.LoadBitmaps(IDB_TOP_BTN,IDB_TOP_DOWN_BTN,IDB_TOP_BTN,IDB_TOP_BTN);
m_ZDownBtn.LoadBitmaps(IDB_DOWN_BTN,IDB_DOWN_DOWN_BTN,IDB_DOWN_BTN,IDB_DOWN_BTN);
//Ĭ<>ϰ<EFBFBD><CFB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
((CButton *)GetDlgItem(IDC_BY_DIS))->SetCheck(TRUE);
m_SetOriginPtBtn.SetUpColor(RGB_RED);
m_SetProductPtBtn.SetUpColor(RGB_RED);
m_SetZMotorOriginBtn.SetUpColor(RGB_RED);
UpdateData(FALSE);
return TRUE;
}
//<2F>۲<EFBFBD>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><EFBFBD>ı
void DlgPlatformCtrl::UpdateInfo()
{
m_PlatformCoord = gPlatformXY->GetCoord();
//<2F><>Ҫ<EFBFBD><D2AA>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
if(IsDbEqualZero(m_PlatformCoord.x))
m_PlatformCoord.x = 0;
if(IsDbEqualZero(m_PlatformCoord.y))
m_PlatformCoord.y = 0;
CMotor *pMotorZ = CMotor::GetMotor(MOTOR_Z);
m_CoordZ = pMotorZ->GetCoord();
m_CoordZ2 = pMotorZ->GetCoord2();
//<2F><>Ҫ<EFBFBD><D2AA>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
if(IsDbEqualZero(m_CoordZ))
m_CoordZ = 0;
UpdateData(FALSE);
}
void DlgPlatformCtrl::Update()
{
SetTimer(WORK_TIMER1,WORK_TIME_DELAY1,NULL);//<2F><>timer<65><72><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B1A8>
}
void DlgPlatformCtrl::OnTimer(UINT nIDEvent)
{
if(nIDEvent == WORK_TIMER1)
{
UpdateInfo();
KillTimer(WORK_TIMER1);
}
if(nIDEvent == WORK_TIMER2)
{
gMotionCard_PCI1245->ResetAllAsixErr();
KillTimer(WORK_TIMER2);
}
CDialog::OnTimer(nIDEvent);
}
void DlgPlatformCtrl::SetAllBtnState(bool b)
{
GetDlgItem(IDC_TO_ORIGIN)->EnableWindow(b);
GetDlgItem(IDC_TO_WORK_PT)->EnableWindow(b);
GetDlgItem(IDC_INI_PLAT)->EnableWindow(b);
GetDlgItem(IDC_RESET_XY_ORIGIN)->EnableWindow(b);
GetDlgItem(IDC_ADJUST_PLAT_SPEED)->EnableWindow(b);
}
#if 1
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>)
void DlgPlatformCtrl::OnBnClickedByDis()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
bMoveByDis = true;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
void DlgPlatformCtrl::OnBnClickedByPulse()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
bMoveByDis = false;
}
void DlgPlatformCtrl::OnBnClickedUpBtn()
{
UpdateData(TRUE);
gPlatformXY->ManualMovePlatForm(bMoveByDis,m_MoveRange,_DIR_U);
}
void DlgPlatformCtrl::OnBnClickedDownBtn()
{
UpdateData(TRUE);
gPlatformXY->ManualMovePlatForm(bMoveByDis,m_MoveRange,_DIR_D);
}
void DlgPlatformCtrl::OnBnClickedLeftBtn()
{
UpdateData(TRUE);
gPlatformXY->ManualMovePlatForm(bMoveByDis,m_MoveRange,_DIR_L);
}
void DlgPlatformCtrl::OnBnClickedRightBtn()
{
UpdateData(TRUE);
gPlatformXY->ManualMovePlatForm(bMoveByDis,m_MoveRange,_DIR_R);
}
#endif
#if 1
//ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void DlgPlatformCtrl::OnBnClickedResetXyOrigin()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
CMsgBox MsgBox;
if(MsgBox.ConfirmOkCancel(_T("ƽ̨<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"))==false)
return;
vector<CString> CmdVec;
CmdVec.push_back(_T("CmdName[CMD_DEVICE_PAR_RESET]"));
CWorkCmdInvoker Invoker;
Invoker.ExcuteCmd(CmdVec);
}
//<2F><>ʼ<EFBFBD><CABC>ƽ̨
void DlgPlatformCtrl::OnBnClickedIniPlat()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
gPlatformXY->IniPlat();
}
//<2F><><EFBFBD>ع<EFBFBD><D8B9><EFBFBD>ԭ<EFBFBD><D4AD>
void DlgPlatformCtrl::OnBnClickedToOrigin()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
gPlatformXY->MoveToOriginPt();
}
//<2F><><EFBFBD>õ<EFBFBD>ǰλ<C7B0><CEBB>Ϊƽ̨ԭ<CCA8><D4AD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
void DlgPlatformCtrl::OnBnClickedSetOrigin()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
CMsgBox MsgBox;
if(MsgBox.ConfirmOkCancel(_T("<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ǰλ<EFBFBD><EFBFBD>Ϊƽ̨ԭ<EFBFBD><EFBFBD>\n <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч"))==false)
return;
CMotor &MotorX = *(CMotor::GetMotor(MOTOR_X));
CMotor &MotorY = *(CMotor::GetMotor(MOTOR_Y));
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>,<2C><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
{
CWorkCmdMotorToMachineOrigin *pCmd = new CWorkCmdMotorToMachineOrigin(MotorX);
pCmd->SetPar(true);
CWorkCmdInvoker WorkInvoker;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WorkInvoker.ExcuteOneCmd(pCmd);
}
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>,<2C><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
{
CWorkCmdMotorToMachineOrigin *pCmd = new CWorkCmdMotorToMachineOrigin(MotorY);
pCmd->SetPar(true);
CWorkCmdInvoker WorkInvoker;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WorkInvoker.ExcuteOneCmd(pCmd);
}
//<2F><><EFBFBD><EFBFBD>
{
CWorkCmdMotorToOffsetPos *pCmd = new CWorkCmdMotorToOffsetPos(MotorY);
CWorkCmdInvoker WorkInvoker;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WorkInvoker.ExcuteOneCmd(pCmd);
}
//<2F><><EFBFBD><EFBFBD>
{
CWorkCmdMotorToOffsetPos *pCmd = new CWorkCmdMotorToOffsetPos(MotorX);
CWorkCmdInvoker WorkInvoker;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WorkInvoker.ExcuteOneCmd(pCmd);
}
gDevicePropertieMgr.SaveAllPropertie();
}
//ȡ<>ϵ<EFBFBD>
void DlgPlatformCtrl::OnBnClickedToWorkPt()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
gPlatformXY->MoveToWorkPt();
}
#endif
#if 1
void DlgPlatformCtrl::MoveMotorZ(bool bDirZ)
{
//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD>ֹ<EFBFBD>ƶ<EFBFBD>
if(gProgram_SZ_XL->IsbAutoWorking())
return;
//<2F>dz<EFBFBD><C7B3><EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
if(gAuthorityMgr->CheckAuthority(_FACTORY,false)==false)
return;
CMotor &Motor = *(CMotor::GetMotor(MOTOR_Z));
unsigned int PulseCnt = 0;
if(bMoveByDis)
{
PulseCnt = (unsigned int)(m_ZMotorMoveDis/Motor.GetOnePulseDis());
}
else
{
PulseCnt = (unsigned int)m_ZMotorMoveDis;
}
double dis = bDirZ?m_ZMotorMoveDis:m_ZMotorMoveDis*(-1);
CWorkCmdContainer CmdContainer;
//<2F><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ٶ<EFBFBD>
{
CWorkCmdSetMotorSpeed *pCmd = new CWorkCmdSetMotorSpeed();
pCmd->SetbSetMotorZ();
pCmd->SetSpeedType(_SpeedType_Move);
CmdContainer.AddCmd(pCmd);
}
//<2F>ƶ<EFBFBD>
{
CWorkCmdMoveMotor *pCmd = new CWorkCmdMoveMotor(Motor,dis);
pCmd->SetMoveFlg(true);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
CmdContainer.AddCmd(pCmd);
}
//<2F>ȴ<EFBFBD><C8B4>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>
{
CWorkCmdWaitMotorStop *pCmd = new CWorkCmdWaitMotorStop();
pCmd->SetbWaitMotorZ();
CmdContainer.AddCmd(pCmd);
}
CWorkCmdInvoker WorkInvoker;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WorkInvoker.Excute(CmdContainer);
Motor.NotifyObservers();
}
bool DlgPlatformCtrl::CheckZMoveDis()
{
UpdateData(TRUE);
if(m_ZMotorMoveDis>MAX_Z_MOVE_DIS)
{
CMsgBox MsgBox;
MsgBox.Show("Z <20><>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>(mm)<29><>");
return false;
}
return true;
}
void DlgPlatformCtrl::OnBnClickedMotorZUp()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
if(CheckZMoveDis())
{
MoveMotorZ(true);
}
}
void DlgPlatformCtrl::OnBnClickedMotorZDown()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
if(CheckZMoveDis())
{
MoveMotorZ(false);
}
}
//<2F><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0>ΪZ <20><>ԭ<EFBFBD><D4AD>
void DlgPlatformCtrl::OnBnClickedSetZFocus()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
CMsgBox MsgBox;
if(MsgBox.ConfirmOkCancel(_T("<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><EFBFBD>ΪZ <20><><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>?"))==false)
return;
CMotor &Motor = *(CMotor::GetMotor(MOTOR_Z));
if(gMotionCard_PCI1245->IsbUsed())
{
if(!m_bMotorInit)
{
CMsgBox MsgBox;
MsgBox.Show("<EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD>ʼ<EFBFBD><EFBFBD>Z <20><>");
return;
}
//<2F><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>λ<EFBFBD><CEBB>Ϊԭ<CEAA><D4AD>ƫ<EFBFBD><C6AB>λ<EFBFBD><CEBB>
Motor.SetOriginOffsetDis(Motor.GetCoord2());
}
else
{
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>,<2C><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
{
CWorkCmdMotorToMachineOrigin *pCmd = new CWorkCmdMotorToMachineOrigin(Motor);
pCmd->SetPar(true);
CWorkCmdInvoker WorkInvoker;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WorkInvoker.ExcuteOneCmd(pCmd);
}
//<2F><><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD>
{
CWorkCmdMotorToOffsetPos *pCmd = new CWorkCmdMotorToOffsetPos(Motor);
CWorkCmdInvoker WorkInvoker;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WorkInvoker.ExcuteOneCmd(pCmd);
}
//֪ͨ<CDA8>۲<EFBFBD><DBB2><EFBFBD>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4BBAF>
gPlatformXY->NotifyObservers();
}
gDevicePropertieMgr.SaveAllPropertie();
}
void DlgPlatformCtrl::OnBnClickedTestZFocus()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
CMsgBox MsgBox;
if(MsgBox.ConfirmOkCancel(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Z <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"))==false)
return;
CMotor &Motor = *(CMotor::GetMotor(MOTOR_Z));
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>,<2C><>Ҫ<EFBFBD><D2AA>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
{
CWorkCmdMotorToMachineOrigin *pCmd = new CWorkCmdMotorToMachineOrigin(Motor);
pCmd->SetPar(false);
CWorkCmdInvoker WorkInvoker;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WorkInvoker.ExcuteOneCmd(pCmd);
}
//<2F><><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD>
{
CWorkCmdMotorToOffsetPos *pCmd = new CWorkCmdMotorToOffsetPos(Motor);
CWorkCmdInvoker WorkInvoker;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WorkInvoker.ExcuteOneCmd(pCmd);
}
gDevicePropertieMgr.SaveAllPropertie();
//֪ͨ<CDA8>۲<EFBFBD><DBB2><EFBFBD>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4BBAF>
gPlatformXY->NotifyObservers();
}
//<2F><>ʼ<EFBFBD><CABC>Z <20><>
void DlgPlatformCtrl::OnBnClickedIniMotorZ()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
CMsgBox MsgBox;
if(MsgBox.ConfirmOkCancel(_T("<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>Z <20><>?"))==false)
return;
CMotor &Motor = *(CMotor::GetMotor(MOTOR_Z));
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>,<2C><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
{
CWorkCmdMotorToMachineOrigin *pCmd = new CWorkCmdMotorToMachineOrigin(Motor);
CWorkCmdInvoker WorkInvoker;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WorkInvoker.ExcuteOneCmd(pCmd);
}
//<2F><><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD>
{
CWorkCmdMotorToOffsetPos *pCmd = new CWorkCmdMotorToOffsetPos(Motor);
CWorkCmdInvoker WorkInvoker;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
WorkInvoker.ExcuteOneCmd(pCmd);
}
m_bMotorInit = true;//Z<><5A><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ<EFBFBD><CABC>
//֪ͨ<CDA8>۲<EFBFBD><DBB2><EFBFBD>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4BBAF>
gPlatformXY->NotifyObservers();
}
#endif
void DlgPlatformCtrl::OnBnClickedAdjustPlatSpeed()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
return;
CMsgBox MsgBox;
if(MsgBox.ConfirmOkCancel(_T("У׼ƽ̨<EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><EFBFBD>ٶ<EFBFBD>?"))==false)
return;
gPlatformXY->AdjustPlatformSpeed();
}
void DlgPlatformCtrl::OnEnChangeMoveRange()
{
// TODO: <20><><EFBFBD><EFBFBD><EFBFBD>ÿؼ<C3BF><D8BC><EFBFBD> RICHEDIT <20>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD>ʹ<EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д __super::OnInitDialog()
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CRichEditCtrl().SetEventMask()<29><>
// ͬʱ<CDAC><CAB1> ENM_CHANGE <20><>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B5BD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//UpdateData(TRUE);
}
void DlgPlatformCtrl::OnEnChangeMoveDisZ()
{
// TODO: <20><><EFBFBD><EFBFBD><EFBFBD>ÿؼ<C3BF><D8BC><EFBFBD> RICHEDIT <20>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD>ʹ<EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д __super::OnInitDialog()
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CRichEditCtrl().SetEventMask()<29><>
// ͬʱ<CDAC><CAB1> ENM_CHANGE <20><>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B5BD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//UpdateData(TRUE);
}
//<2F>ƶ<EFBFBD><C6B6><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void DlgPlatformCtrl::OnBnClickedMoveToPt()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
UpdateData(TRUE);
Dbxy TargetPt(m_MovePtX,m_MovePtY);
gPlatformXY->MoveToPt(Dbxy(0,0),TargetPt);
}
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊȡ<CEAA>ϵ<EFBFBD>
void DlgPlatformCtrl::OnBnClickedSetProductPos()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
gPlatformXY->SetCurPosAsProductPt();
//<2F><><EFBFBD><EFBFBD><E6B5BD><EFBFBD><EFBFBD>
gDevicePropertieMgr.SaveAllPropertie();
}
//<2F>л<EFBFBD>X2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void DlgPlatformCtrl::OnBnClickedUseMotorX2Check()
{
int idx = (((CButton *)GetDlgItem(IDC_USE_MOTOR_X2_CHECK))->GetCheck())?1:0;
gMotionCard_PCI1245->SetCurGpIdx(idx);
}
void DlgPlatformCtrl::ResetAllMotorErr()
{
SetTimer(WORK_TIMER2,WORK_TIME_DELAY2,NULL);
}
void DlgPlatformCtrl::OnBnClickedResetErr()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
CMsgBox MsgBox;
if(MsgBox.ConfirmOkCancel(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"))==false)
return;
gMotionCard_PCI1245->ResetAllAsixErr();
//<2F><><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>
gMotionCard_PCI1245->SetSvOn(false);
Sleep(500);
gMotionCard_PCI1245->SetSvOn(true);
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD>³<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>
CDeviceState &DeviceState = CDeviceState::GetInstance();
DeviceState.SetIniState(false);
}
void DlgPlatformCtrl::OnBnClickedSevonBtn()
{
if(gAuthorityMgr->CheckAuthority(_FACTORY,true)==false)
return;
gMotionCard_PCI1245->SetSvOn(false);
Sleep(500);
gMotionCard_PCI1245->SetSvOn(true);
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD>³<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>
CDeviceState &DeviceState = CDeviceState::GetInstance();
DeviceState.SetIniState(false);
}