📄 drvfunctest.cpp
字号:
// DrvFuncTest.cpp : implementation file
//
#include "stdafx.h"
#include "SMT5K.h"
#include "DrvFuncTest.h"
#include "MonitorAxis.h"
#include "MonitorIPL.h"
#include "SM5000.h"
#include "SerialPort.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern int CurrentAxis;
extern CSerialPort m_ComPort;
extern CString m_strTXDataCOM1; //COM1发送数据
extern CMonitorAxis *pMonitorAxis[4];
extern int g_ExppEn;
extern int g_AutoDec;
extern int g_AO;
/////////////////////////////////////////////////////////////////////////////
// CDrvFuncTest dialog
CDrvFuncTest::CDrvFuncTest(CWnd* pParent /*=NULL*/)
: CDialog(CDrvFuncTest::IDD, pParent)
{
//{{AFX_DATA_INIT(CDrvFuncTest)
m_DrvType = 0;
m_Direction = 0;
m_AccType = 0;
m_PosType = 0;
m_AccTime = 3.0f;
m_DecTime = 3.0f;
m_AO = 0;
m_COMPP = 0;
m_COMPM = 0;
m_LP = 0;
m_SV = 1000;
m_V = 10000;
m_VaAcc = 4000;
m_VaDec = 0;
m_P = 30000;
m_Position = 0;
m_ExppEn = 0;
m_AutoDec = FALSE;
m_PulsarEn = FALSE;
//}}AFX_DATA_INIT
}
void CDrvFuncTest::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDrvFuncTest)
DDX_Radio(pDX, IDC_DRVTYPE_FIXEDPULSE, m_DrvType);
DDX_Radio(pDX, IDC_DIRECT_POSITIVE, m_Direction);
DDX_Radio(pDX, IDC_ACCTYPE_FIXEDV, m_AccType);
DDX_Radio(pDX, IDC_POSTYPE_RELATIVE, m_PosType);
DDX_Text(pDX, IDC_EDIT_ACC_TIME, m_AccTime);
DDX_Text(pDX, IDC_EDIT_DEC_TIME, m_DecTime);
DDX_Text(pDX, IDC_EDIT_AO, m_AO);
DDX_Text(pDX, IDC_EDIT_COMPM, m_COMPP);
DDX_Text(pDX, IDC_EDIT_COMPP, m_COMPM);
DDX_Text(pDX, IDC_EDIT_LP, m_LP);
DDX_Text(pDX, IDC_EDIT_SV, m_SV);
DDX_Text(pDX, IDC_EDIT_V, m_V);
DDX_Text(pDX, IDC_EDIT_VA_ACC, m_VaAcc);
DDX_Text(pDX, IDC_EDIT_VA_DEC, m_VaDec);
DDX_Text(pDX, IDC_EDIT_P2, m_P);
DDX_Text(pDX, IDC_EDIT_POS, m_Position);
DDX_Check(pDX, IDC_CHECK_EXPP, m_ExppEn);
DDX_Check(pDX, IDC_CHECK_AUTO_DEC, m_AutoDec);
DDX_Check(pDX, IDC_CHECK_PULSAR, m_PulsarEn);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDrvFuncTest, CDialog)
//{{AFX_MSG_MAP(CDrvFuncTest)
ON_BN_CLICKED(IDC_ACCTYPE_FIXEDV, OnAcctypeFixedv)
ON_BN_CLICKED(IDC_ACCTYPE_TCURVE, OnAcctypeTcurve)
ON_BN_CLICKED(IDC_DIRECT_POSITIVE, OnDirectPositive)
ON_BN_CLICKED(IDC_DIRECT_NEGTIVE, OnDirectNegtive)
ON_BN_CLICKED(IDC_DRVTYPE_CONTINUE, OnDrvtypeContinue)
ON_BN_CLICKED(IDC_DRVTYPE_FIXEDPULSE, OnDrvtypeFixedpulse)
ON_BN_CLICKED(IDC_POSTYPE_ABSOLUTE, OnPostypeAbsolute)
ON_BN_CLICKED(IDC_POSTYPE_RELATIVE, OnPostypeRelative)
ON_EN_KILLFOCUS(IDC_EDIT_LP, OnKillfocusEditLp)
ON_BN_CLICKED(IDC_START, OnStart)
ON_EN_KILLFOCUS(IDC_EDIT_P2, OnKillfocusEditP)
ON_EN_KILLFOCUS(IDC_EDIT_COMPP, OnKillfocusEditCompp)
ON_EN_KILLFOCUS(IDC_EDIT_COMPM, OnKillfocusEditCompm)
ON_EN_KILLFOCUS(IDC_EDIT_SV, OnKillfocusEditSv)
ON_EN_KILLFOCUS(IDC_EDIT_V, OnKillfocusEditV)
ON_EN_KILLFOCUS(IDC_EDIT_VA_ACC, OnKillfocusEditVaAcc)
ON_EN_KILLFOCUS(IDC_EDIT_VA_DEC, OnKillfocusEditVaDec)
ON_EN_KILLFOCUS(IDC_EDIT_DEC_TIME, OnKillfocusEditDecTime)
ON_EN_KILLFOCUS(IDC_EDIT_AO, OnKillfocusEditAo)
ON_EN_KILLFOCUS(IDC_EDIT_ACC_TIME, OnKillfocusEditAccTime)
ON_BN_CLICKED(IDC_UPDATE_V, OnUpdateV)
ON_BN_CLICKED(IDC_UPDATE_LP_EP, OnUpdateLpEp)
ON_BN_CLICKED(IDC_UPDATE_COMPP, OnUpdateCompp)
ON_BN_CLICKED(IDC_UPDATE_COMPM, OnUpdateCompm)
ON_BN_CLICKED(IDC_UPDATE_P2, OnUpdateP2)
ON_BN_CLICKED(IDC_UPDATE_POS, OnUpdatePos)
ON_EN_KILLFOCUS(IDC_EDIT_POS, OnKillfocusEditPos)
ON_BN_CLICKED(IDC_CHECK_EXPP, OnCheckExpp)
ON_BN_CLICKED(IDC_READ_LPEP, OnReadLpep)
ON_BN_CLICKED(IDC_ACCTYPE_FULL_S, OnAcctypeFullS)
ON_BN_CLICKED(IDC_ACCTYPE_PART_S, OnAcctypePartS)
ON_BN_CLICKED(IDC_DSSTOP, OnDsstop)
ON_BN_CLICKED(IDC_IMSTOP, OnImstop)
ON_BN_CLICKED(IDC_HOME, OnHome)
ON_BN_CLICKED(IDC_CHECK_AUTO_DEC, OnCheckAutoDec)
ON_BN_CLICKED(IDC_CHECK_PULSAR, OnCheckPulsar)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDrvFuncTest message handlers
void CDrvFuncTest::OnAcctypeFixedv()
{
m_AccType = ACC_TYPE_CV;
GetDlgItem(IDC_STATIC_SV)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_SV)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_ACC_TIME)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_ACC_TIME)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_DEC_TIME)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_DEC_TIME)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_VA_ACC)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_VA_ACC)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_VA_DEC)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_VA_DEC)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_AO)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_AO)->EnableWindow(FALSE);
}
void CDrvFuncTest::OnAcctypeTcurve()
{
m_AccType = ACC_TYPE_T;
GetDlgItem(IDC_STATIC_SV)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_SV)->EnableWindow(TRUE);
GetDlgItem(IDC_STATIC_ACC_TIME)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_ACC_TIME)->EnableWindow(TRUE);
GetDlgItem(IDC_STATIC_DEC_TIME)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_DEC_TIME)->EnableWindow(TRUE);
GetDlgItem(IDC_STATIC_VA_ACC)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_VA_ACC)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_VA_DEC)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_VA_DEC)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_AO)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_AO)->EnableWindow(TRUE);
}
void CDrvFuncTest::OnAcctypeFullS()
{
m_AccType = ACC_TYPE_FULL_S;
GetDlgItem(IDC_STATIC_SV)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_SV)->EnableWindow(TRUE);
GetDlgItem(IDC_STATIC_ACC_TIME)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_ACC_TIME)->EnableWindow(TRUE);
GetDlgItem(IDC_STATIC_DEC_TIME)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_DEC_TIME)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_VA_ACC)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_VA_ACC)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_VA_DEC)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_VA_DEC)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_AO)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_AO)->EnableWindow(TRUE);
}
void CDrvFuncTest::OnAcctypePartS()
{
m_AccType = ACC_TYPE_PART_S;
GetDlgItem(IDC_STATIC_SV)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_SV)->EnableWindow(TRUE);
GetDlgItem(IDC_STATIC_ACC_TIME)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_ACC_TIME)->EnableWindow(TRUE);
GetDlgItem(IDC_STATIC_DEC_TIME)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_DEC_TIME)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_VA_ACC)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_VA_ACC)->EnableWindow(TRUE);
GetDlgItem(IDC_STATIC_VA_DEC)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_VA_DEC)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_AO)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_AO)->EnableWindow(TRUE);
}
void CDrvFuncTest::OnDirectPositive()
{
m_Direction = DIR_POS;
}
void CDrvFuncTest::OnDirectNegtive()
{
m_Direction = DIR_NEG;
}
void CDrvFuncTest::OnDrvtypeContinue()
{
m_DrvType = DRV_TYPE_C;
GetDlgItem(IDC_POSTYPE_RELATIVE)->EnableWindow(FALSE);
GetDlgItem(IDC_POSTYPE_ABSOLUTE)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_P2)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_P2)->EnableWindow(FALSE);
GetDlgItem(IDC_UPDATE_P2)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_POS)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_POS)->EnableWindow(FALSE);
GetDlgItem(IDC_UPDATE_POS)->EnableWindow(FALSE);
}
void CDrvFuncTest::OnDrvtypeFixedpulse()
{
m_DrvType = DRV_TYPE_Q;
GetDlgItem(IDC_POSTYPE_RELATIVE)->EnableWindow(TRUE);
GetDlgItem(IDC_POSTYPE_ABSOLUTE)->EnableWindow(TRUE);
if(m_PosType == POS_TYPE_REL)
{
GetDlgItem(IDC_STATIC_P2)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_P2)->EnableWindow(TRUE);
GetDlgItem(IDC_UPDATE_P2)->EnableWindow(TRUE);
}
else
{
GetDlgItem(IDC_STATIC_POS)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_POS)->EnableWindow(TRUE);
GetDlgItem(IDC_UPDATE_POS)->EnableWindow(TRUE);
}
}
void CDrvFuncTest::OnCheckExpp()
{
m_ExppEn = ! m_ExppEn;
g_ExppEn = m_ExppEn;
GetDlgItem(IDC_CHECK_PULSAR)->EnableWindow(g_ExppEn && m_DrvType == DRV_TYPE_Q);
}
void CDrvFuncTest::OnPostypeAbsolute()
{
m_PosType = POS_TYPE_ABS;
GetDlgItem(IDC_DIRECT_POSITIVE)->EnableWindow(FALSE);
GetDlgItem(IDC_DIRECT_NEGTIVE)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_P2)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_P2)->EnableWindow(FALSE);
GetDlgItem(IDC_UPDATE_P2)->EnableWindow(FALSE);
GetDlgItem(IDC_STATIC_POS)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_POS)->EnableWindow(TRUE);
GetDlgItem(IDC_UPDATE_POS)->EnableWindow(TRUE);
}
void CDrvFuncTest::OnPostypeRelative()
{
m_PosType = POS_TYPE_REL;
GetDlgItem(IDC_DIRECT_POSITIVE)->EnableWindow(TRUE);
GetDlgItem(IDC_DIRECT_NEGTIVE)->EnableWindow(TRUE);
GetDlgItem(IDC_STATIC_P2)->EnableWindow(TRUE);
GetDlgItem(IDC_EDIT_P2)->EnableWindow(TRUE);
GetDlgItem(IDC_UPDATE_P2)->EnableWindow(TRUE);
GetDlgItem(IDC_STATIC_POS)->EnableWindow(FALSE);
GetDlgItem(IDC_EDIT_POS)->EnableWindow(FALSE);
GetDlgItem(IDC_UPDATE_POS)->EnableWindow(FALSE);
//SetDlgItemText(IDC_EDIT_POS,"No need");
}
void CDrvFuncTest::OnKillfocusEditLp()
{
m_LP = GetDlgItemInt(IDC_EDIT_LP);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -