新增激光测试

This commit is contained in:
TAO Cheng
2013-06-06 18:20:22 +08:00
parent 9ef689299f
commit 3f5b8aa2bb
26 changed files with 1322 additions and 169 deletions
@@ -37,7 +37,7 @@ void CKeyence_Laser::KeyenceLaserInit(void)
m_pDataStorageGetData=(pLKIF_DataStorageGetData)GetProcAddress(m_hLkif,"LKIF_DataStorageGetData"); m_pDataStorageGetData=(pLKIF_DataStorageGetData)GetProcAddress(m_hLkif,"LKIF_DataStorageGetData");
m_pDataStorageGetStatus=(pLKIF_DataStorageGetStatus)GetProcAddress(m_hLkif,"LKIF_DataStorageGetStatus"); m_pDataStorageGetStatus=(pLKIF_DataStorageGetStatus)GetProcAddress(m_hLkif,"LKIF_DataStorageGetStatus");
m_pSetDataStorage=(pLKIF_SetDataStorage)GetProcAddress(m_hLkif,"LKIF_SetDataStorage"); m_pSetDataStorage=(pLKIF_SetDataStorage)GetProcAddress(m_hLkif,"LKIF_SetDataStorage");
m_pSetProgramNo=(pLKIF_SETPROGRAMNO)GetProcAddress(m_hLkif,"LKIF_SetProgramNo");
} }
} }
} }
@@ -241,3 +241,10 @@ BOOL CKeyence_Laser::GetStoreDataStatus()
bStatus=m_pDataStorageGetStatus(m_iSetOutNo,&m_bIsStorage,&m_StoredDataNumber); bStatus=m_pDataStorageGetStatus(m_iSetOutNo,&m_bIsStorage,&m_StoredDataNumber);
return bStatus; return bStatus;
}; };
//==============================================
BOOL CKeyence_Laser::SetProgramNO(int ProNO)
{
BOOL bStatus(FALSE);
bStatus=m_pSetProgramNo(ProNO);
return bStatus;
};
@@ -24,7 +24,8 @@ typedef BOOL (WINAPI* pLKIF_DataStorageGetData)(IN int OutNo,IN int NumOutBuffer
typedef BOOL (WINAPI* pLKIF_DataStorageGetStatus)(IN int OutNo,OUT BOOL *IsStorage,OUT int *NumStorageData); typedef BOOL (WINAPI* pLKIF_DataStorageGetStatus)(IN int OutNo,OUT BOOL *IsStorage,OUT int *NumStorageData);
// Set Data Storage // Set Data Storage
typedef BOOL (WINAPI* pLKIF_SetDataStorage)(IN LKIF_TARGETOUT TargetOut,IN int NumStorage,IN LKIF_STORAGECYCLE StorageCycle); typedef BOOL (WINAPI* pLKIF_SetDataStorage)(IN LKIF_TARGETOUT TargetOut,IN int NumStorage,IN LKIF_STORAGECYCLE StorageCycle);
// Program Change
typedef BOOL (WINAPI* pLKIF_SETPROGRAMNO)(IN int ProgramNo);
//====================================================================================== //======================================================================================
class CKeyence_Laser class CKeyence_Laser
{ {
@@ -46,7 +47,7 @@ public:
pLKIF_DataStorageGetData m_pDataStorageGetData; pLKIF_DataStorageGetData m_pDataStorageGetData;
pLKIF_DataStorageGetStatus m_pDataStorageGetStatus; pLKIF_DataStorageGetStatus m_pDataStorageGetStatus;
pLKIF_SetDataStorage m_pSetDataStorage; pLKIF_SetDataStorage m_pSetDataStorage;
pLKIF_SETPROGRAMNO m_pSetProgramNo;
int m_StoredDataNumber; int m_StoredDataNumber;
BOOL m_bIsStorage; BOOL m_bIsStorage;
void KeyenceLaserInit(void); void KeyenceLaserInit(void);
@@ -56,6 +57,8 @@ public:
BOOL GetStoreDataStatus(); BOOL GetStoreDataStatus();
BOOL GetStoredData(float *GetStorageData,int *GetStorageNumber); BOOL GetStoredData(float *GetStorageData,int *GetStorageNumber);
BOOL PauseScanAndGetData(float *GetStorageData,int *GetStorageNumber); BOOL PauseScanAndGetData(float *GetStorageData,int *GetStorageNumber);
BOOL SetProgramNO(int ProNO);
}; };
#endif #endif
@@ -5,6 +5,7 @@
#include <vector> #include <vector>
#include "NewDataStruct.h" #include "NewDataStruct.h"
#define MAX_POINT 5000
#define PI 3.14159 #define PI 3.14159
#define SET_FACE_NUM 100 #define SET_FACE_NUM 100
@@ -8,7 +8,8 @@
CSo7_Interface::CSo7_Interface() CSo7_Interface::CSo7_Interface()
{ {
m_hImageDLL=NULL;
m_hFitDLL=NULL;
} }
CSo7_Interface::~CSo7_Interface() CSo7_Interface::~CSo7_Interface()
@@ -16,10 +17,17 @@ CSo7_Interface::~CSo7_Interface()
if(m_hImageDLL) if(m_hImageDLL)
{ {
Pro_cmd(Exit_DLL,(LPARAM)&Image_Info); Pro_cmd(Exit_DLL,(LPARAM)&Image_Info);
Sleep(50);
Pro_cmd(VQUIT_DLL,(LPARAM)&Image_Info); Pro_cmd(VQUIT_DLL,(LPARAM)&Image_Info);
Sleep(50);
Pro_cmd(MCLOSE,(LPARAM)&Image_Info); Pro_cmd(MCLOSE,(LPARAM)&Image_Info);
Sleep(50);
FreeLibrary(m_hImageDLL); FreeLibrary(m_hImageDLL);
} }
if(m_hFitDLL)
{
FreeLibrary(m_hFitDLL);
}
} }
//======================================== //========================================
void CSo7_Interface::InitDll(void) void CSo7_Interface::InitDll(void)
@@ -31,11 +39,16 @@ void CSo7_Interface::InitDll(void)
m_pGET_LASER_STORED_DATA=(GET_LASER_STORED_DATA)GetProcAddress(m_hImageDLL,"GetLaserStoredData"); m_pGET_LASER_STORED_DATA=(GET_LASER_STORED_DATA)GetProcAddress(m_hImageDLL,"GetLaserStoredData");
m_pPAUSE_SCAN_AND_GET_LASER_DATA=(PAUSE_SCAN_AND_GET_LASER_DATA)GetProcAddress(m_hImageDLL,"PauseScanAndGetLaserData"); m_pPAUSE_SCAN_AND_GET_LASER_DATA=(PAUSE_SCAN_AND_GET_LASER_DATA)GetProcAddress(m_hImageDLL,"PauseScanAndGetLaserData");
m_pGET_SCAN_LASER_STORAGE_STATUS=(GET_SCAN_LASER_STORAGE_STATUS)GetProcAddress(m_hImageDLL,"GetKeyenceStorageStatus"); m_pGET_SCAN_LASER_STORAGE_STATUS=(GET_SCAN_LASER_STORAGE_STATUS)GetProcAddress(m_hImageDLL,"GetKeyenceStorageStatus");
g_FitFace=(FITTING_SURFACE)GetProcAddress(m_hImageDLL,"FaceFit");
Pro_cmd(VINIT_DLL,(LPARAM)&Image_Info); Pro_cmd(VINIT_DLL,(LPARAM)&Image_Info);
Pro_cmd(MINIT_USB,(LPARAM)&Image_Info); Pro_cmd(MINIT_USB,(LPARAM)&Image_Info);
}
//=====================================
m_hFitDLL=LoadLibrary(_T("FitDll.dll"));
if(m_hFitDLL)
{
g_FitFace_PCD=(FITTING_SURFACE_PCD)GetProcAddress(m_hFitDLL,"FaceFit");
} }
} }
//======================================== //========================================
@@ -72,3 +85,24 @@ void CSo7_Interface::PauseScanAndGetData(void)
int LaserNum(0); int LaserNum(0);
m_pPAUSE_SCAN_AND_GET_LASER_DATA(Laserval,&LaserNum); m_pPAUSE_SCAN_AND_GET_LASER_DATA(Laserval,&LaserNum);
} }
//========================================
int CSo7_Interface::Pro_Face_Du(MY3DPoint* pArr, int n, double* Coe, double* Error, double& dis)
{
//g_Set_Face_Flag 1--双向最大值差 2--平均值 3--正向最大值
double dis1(0.0),dis2(0.0),dis3(0.0);
double sum(0.0);
double d1=pArr[0].z;
for(int i=1;i<n;i++)
sum+=fabs(d1-pArr[i].z);
if(sum<0.0001)
pArr[0].z+=0.0001;
//g_FitFace(pArr,n,Coe,Error,dis1,dis2,dis3);
//MY3DPoint* pArr,int n, double* Coe, double* N, double *Error,double& dis1, double& dis2, double& dis3,double & d_max,double & d_min,int & i_max,int & i_min)
double ParN[1024]={0.0};
double d_max(0.0),d_min(0.0);
int i_max(0),i_min(0);
g_FitFace_PCD(pArr,n,Coe,ParN,Error,dis1,dis2,dis3,d_max,d_min,i_max,i_min);
dis=dis2;
return 1;
}
@@ -13,12 +13,14 @@ typedef void (_cdecl*PRO_CMD)(int nCmd,LPARAM value);
typedef int (_cdecl*GET_LASER_STORED_DATA)(float *GetStorageData,int *GetStorageNumber); typedef int (_cdecl*GET_LASER_STORED_DATA)(float *GetStorageData,int *GetStorageNumber);
typedef int (_cdecl*PAUSE_SCAN_AND_GET_LASER_DATA)(float *GetStorageData,int *GetStorageNumber); typedef int (_cdecl*PAUSE_SCAN_AND_GET_LASER_DATA)(float *GetStorageData,int *GetStorageNumber);
typedef void (_cdecl*GET_SCAN_LASER_STORAGE_STATUS)(int& _bStatus,int& _StorageNumber); typedef void (_cdecl*GET_SCAN_LASER_STORAGE_STATUS)(int& _bStatus,int& _StorageNumber);
typedef int (_cdecl*FITTING_SURFACE)(MY3DPoint* pArr,int n, double* Coe, double* Error, double& dis, double& dis2, double& dis3);
typedef int (_cdecl*FITTING_SURFACE_PCD)(MY3DPoint* pArr,int n, double* Coe, double* N, double *Error,double& dis1, double& dis2, double& dis3,double & d_max,double & d_min,int & i_max,int & i_min);
//====================================================================================== //======================================================================================
class CSo7_Interface class CSo7_Interface
{ {
protected: protected:
HINSTANCE m_hImageDLL; HINSTANCE m_hImageDLL;
HINSTANCE m_hFitDLL;
Dev_Info Image_Info; Dev_Info Image_Info;
public: public:
@@ -30,6 +32,8 @@ public:
GET_LASER_STORED_DATA m_pGET_LASER_STORED_DATA; GET_LASER_STORED_DATA m_pGET_LASER_STORED_DATA;
PAUSE_SCAN_AND_GET_LASER_DATA m_pPAUSE_SCAN_AND_GET_LASER_DATA; PAUSE_SCAN_AND_GET_LASER_DATA m_pPAUSE_SCAN_AND_GET_LASER_DATA;
GET_SCAN_LASER_STORAGE_STATUS m_pGET_SCAN_LASER_STORAGE_STATUS; GET_SCAN_LASER_STORAGE_STATUS m_pGET_SCAN_LASER_STORAGE_STATUS;
FITTING_SURFACE g_FitFace;
FITTING_SURFACE_PCD g_FitFace_PCD;
void InitDll(); void InitDll();
void StartStoreData(); void StartStoreData();
@@ -37,6 +41,8 @@ public:
void GetStorageStatus(); void GetStorageStatus();
void GetStoredData(); void GetStoredData();
void PauseScanAndGetData(); void PauseScanAndGetData();
int Pro_Face_Du(MY3DPoint* pArr, int n, double* Coe, double* Error, double& dis);
}; };
#endif #endif
@@ -756,3 +756,271 @@ Exit: Exit_SO7Usb
_start_machine _start_machine
Exit: Exit_SO7Usb Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Destruct Cso7_Proto.
Destruct Csmartmotor_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
@@ -1,101 +1,101 @@
[HARDWARE] [HARDWARE]
SPEED_BASE_X1=0 SPEED_BASE_X1=5
SPEED_MAX_X1=10 SPEED_MAX_X1=168
SPEED_START_X1=30 SPEED_START_X1=28
SPEED_FRESH_X1=10 SPEED_FRESH_X1=10
SPEED_SLOW_X1=0.000 SPEED_SLOW_X1=0.509
; ;
SPEED_BASE_X2=0 SPEED_BASE_X2=3
SPEED_MAX_X2=10 SPEED_MAX_X2=50
SPEED_START_X2=30 SPEED_START_X2=10
SPEED_FRESH_X2=10 SPEED_FRESH_X2=10
SPEED_SLOW_X2=0.000 SPEED_SLOW_X2=0.109
; ;
SPEED_BASE_X3=0 SPEED_BASE_X3=2
SPEED_MAX_X3=1 SPEED_MAX_X3=5
SPEED_START_X3=30 SPEED_START_X3=5
SPEED_FRESH_X3=10 SPEED_FRESH_X3=10
SPEED_SLOW_X3=0.000 SPEED_SLOW_X3=0.001
; ;
SPEED_BASE_X4=0 SPEED_BASE_X4=2
SPEED_MAX_X4=1 SPEED_MAX_X4=0
SPEED_START_X4=30 SPEED_START_X4=50
SPEED_FRESH_X4=10 SPEED_FRESH_X4=10
SPEED_SLOW_X4=0.000 SPEED_SLOW_X4=0.001
; ;
SPEED_BASE_X5=0 SPEED_BASE_X5=5
SPEED_MAX_X5=1 SPEED_MAX_X5=0
SPEED_START_X5=30 SPEED_START_X5=80
SPEED_FRESH_X5=10 SPEED_FRESH_X5=10
SPEED_SLOW_X5=0.000 SPEED_SLOW_X5=0.001
; ;
SPEED_BASE_Y1=1 SPEED_BASE_Y1=5
SPEED_MAX_Y1=1 SPEED_MAX_Y1=168
SPEED_START_Y1=1 SPEED_START_Y1=28
SPEED_FRESH_Y1=1 SPEED_FRESH_Y1=10
SPEED_SLOW_Y1=1.000 SPEED_SLOW_Y1=0.600
; ;
SPEED_BASE_Y2=1 SPEED_BASE_Y2=3
SPEED_MAX_Y2=1 SPEED_MAX_Y2=60
SPEED_START_Y2=1 SPEED_START_Y2=10
SPEED_FRESH_Y2=1 SPEED_FRESH_Y2=10
SPEED_SLOW_Y2=1.000 SPEED_SLOW_Y2=0.200
; ;
SPEED_BASE_Y3=1 SPEED_BASE_Y3=2
SPEED_MAX_Y3=1 SPEED_MAX_Y3=5
SPEED_START_Y3=1 SPEED_START_Y3=3
SPEED_FRESH_Y3=1 SPEED_FRESH_Y3=10
SPEED_SLOW_Y3=1.000 SPEED_SLOW_Y3=0.001
; ;
SPEED_BASE_Y4=1 SPEED_BASE_Y4=2
SPEED_MAX_Y4=1 SPEED_MAX_Y4=0
SPEED_START_Y4=1 SPEED_START_Y4=50
SPEED_FRESH_Y4=1 SPEED_FRESH_Y4=10
SPEED_SLOW_Y4=1.000 SPEED_SLOW_Y4=0.001
; ;
SPEED_BASE_Y5=1 SPEED_BASE_Y5=5
SPEED_MAX_Y5=1 SPEED_MAX_Y5=0
SPEED_START_Y5=1 SPEED_START_Y5=80
SPEED_FRESH_Y5=1 SPEED_FRESH_Y5=10
SPEED_SLOW_Y5=1.000 SPEED_SLOW_Y5=0.001
; ;
SPEED_BASE_Z1=1 SPEED_BASE_Z1=5
SPEED_MAX_Z1=1 SPEED_MAX_Z1=130
SPEED_START_Z1=1 SPEED_START_Z1=28
SPEED_FRESH_Z1=1 SPEED_FRESH_Z1=10
SPEED_SLOW_Z1=1.000 SPEED_SLOW_Z1=0.509
; ;
SPEED_BASE_Z2=1 SPEED_BASE_Z2=3
SPEED_MAX_Z2=1 SPEED_MAX_Z2=60
SPEED_START_Z2=1 SPEED_START_Z2=10
SPEED_FRESH_Z2=1 SPEED_FRESH_Z2=10
SPEED_SLOW_Z2=1.000 SPEED_SLOW_Z2=0.109
; ;
SPEED_BASE_Z3=1 SPEED_BASE_Z3=2
SPEED_MAX_Z3=1 SPEED_MAX_Z3=5
SPEED_START_Z3=1 SPEED_START_Z3=5
SPEED_FRESH_Z3=1 SPEED_FRESH_Z3=10
SPEED_SLOW_Z3=1.000 SPEED_SLOW_Z3=0.001
; ;
SPEED_BASE_Z4=1 SPEED_BASE_Z4=2
SPEED_MAX_Z4=1 SPEED_MAX_Z4=0
SPEED_START_Z4=1 SPEED_START_Z4=50
SPEED_FRESH_Z4=1 SPEED_FRESH_Z4=10
SPEED_SLOW_Z4=1.000 SPEED_SLOW_Z4=0.001
; ;
SPEED_BASE_Z5=1 SPEED_BASE_Z5=5
SPEED_MAX_Z5=1 SPEED_MAX_Z5=0
SPEED_START_Z5=1 SPEED_START_Z5=80
SPEED_FRESH_Z5=1 SPEED_FRESH_Z5=10
SPEED_SLOW_Z5=1.000 SPEED_SLOW_Z5=0.001
; ;
X_MOTOR_PRECISION=0.100 X_MOTOR_PRECISION=0.001
Y_MOTOR_PRECISION=0.100 Y_MOTOR_PRECISION=0.001
Z_MOTOR_PRECISION=0.100 Z_MOTOR_PRECISION=0.001
; ;
X_MOTOR_WHEELBASE=20.000 X_MOTOR_WHEELBASE=25.000
Y_MOTOR_WHEELBASE=20.000 Y_MOTOR_WHEELBASE=20.000
Z_MOTOR_WHEELBASE=1.500 Z_MOTOR_WHEELBASE=2.999
; ;
MOTOR_PULSE_NUM=10000 MOTOR_PULSE_NUM=10000
; ;
@@ -176,7 +176,7 @@ void CDrawGraph::DrawCoordinate(CDC* pDC, CRect rectCoord)
for(i=0; i<=m_nDivisionX; i++) for(i=0; i<=m_nDivisionX; i++)
{ {
dbTemp = dbTempStartX+dbRangX*i/m_nDivisionX; dbTemp = dbTempStartX+dbRangX*i/m_nDivisionX;
strCoord.Format(_T("%g"), dbTemp); strCoord.Format(_T("%.2f"), dbTemp);
nSection = rectCoord.Width()*i/m_nDivisionX; nSection = rectCoord.Width()*i/m_nDivisionX;
szText = pDC->GetTextExtent(strCoord, strCoord.GetLength()); szText = pDC->GetTextExtent(strCoord, strCoord.GetLength());
@@ -191,7 +191,7 @@ void CDrawGraph::DrawCoordinate(CDC* pDC, CRect rectCoord)
for(i=0; i<=m_nDivisionY; i++) for(i=0; i<=m_nDivisionY; i++)
{ {
dbTemp = dbTempStartY+dbRangY*i/m_nDivisionY; dbTemp = dbTempStartY+dbRangY*i/m_nDivisionY;
strCoord.Format(_T("%g"), dbTemp); strCoord.Format(_T("%.2f"), dbTemp);
nSection = rectCoord.Height()*i/m_nDivisionY; nSection = rectCoord.Height()*i/m_nDivisionY;
szText = pDC->GetTextExtent(strCoord, strCoord.GetLength()); szText = pDC->GetTextExtent(strCoord, strCoord.GetLength());
@@ -11,7 +11,13 @@
#include "..\..\..\Keyence\\Keyence_Proto.h" #include "..\..\..\Keyence\\Keyence_Proto.h"
#include "..\..\..\SevenOcean\SO7_Proto.h" #include "..\..\..\SevenOcean\SO7_Proto.h"
#include "Keyence_UtilDlg.h" #include "Keyence_UtilDlg.h"
#define _TEST_NEED_SO7_MACHINE
#ifdef _TEST_NEED_SO7_MACHINE
extern CSO7_Proto* m_pSO7_Proto; extern CSO7_Proto* m_pSO7_Proto;
#endif
extern CKeyence_Laser* m_pKeyence_Laser; extern CKeyence_Laser* m_pKeyence_Laser;
extern CKeyence_Laser_LK_H* m_pKeyence_Laser_LK_H; extern CKeyence_Laser_LK_H* m_pKeyence_Laser_LK_H;
extern CKeyence_Proto* m_pKeyence_Proto; extern CKeyence_Proto* m_pKeyence_Proto;
@@ -69,6 +75,18 @@ BEGIN_MESSAGE_MAP(CKeyence_UtilDlg, CDialog)
ON_BN_CLICKED(IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_HLASER, &CKeyence_UtilDlg::OnBnClickedButtonGetScanDataKeyenceLkHlaser) ON_BN_CLICKED(IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_HLASER, &CKeyence_UtilDlg::OnBnClickedButtonGetScanDataKeyenceLkHlaser)
ON_BN_CLICKED(IDC_RADIO_KEYENCE_LASER_LK_H, &CKeyence_UtilDlg::OnBnClickedRadioKeyenceLaserLkH) ON_BN_CLICKED(IDC_RADIO_KEYENCE_LASER_LK_H, &CKeyence_UtilDlg::OnBnClickedRadioKeyenceLaserLkH)
ON_BN_CLICKED(IDC_RADIO_KEYENCE_LASER_LK_G, &CKeyence_UtilDlg::OnBnClickedRadioKeyenceLaserLkG) ON_BN_CLICKED(IDC_RADIO_KEYENCE_LASER_LK_G, &CKeyence_UtilDlg::OnBnClickedRadioKeyenceLaserLkG)
ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM1, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram1)
ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM2, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram2)
ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM3, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram3)
ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM0, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram0)
ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM4, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram4)
ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM5, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram5)
ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM6, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram6)
ON_BN_CLICKED(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM7, &CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram7)
ON_BN_CLICKED(IDC_BUTTON_TEST_KEYENCE_SAVE_LOG, &CKeyence_UtilDlg::OnBnClickedButtonTestKeyenceSaveLog)
ON_EN_KILLFOCUS(IDC_EDIT_TEST_LK_G_INTERVAL, &CKeyence_UtilDlg::OnEnKillfocusEditTestLkGInterval)
ON_BN_CLICKED(IDC_BUTTON_TEST_KEYENCE_CLEAR_LOG, &CKeyence_UtilDlg::OnBnClickedButtonTestKeyenceClearLog)
ON_BN_CLICKED(IDC_BUTTON_KEYENCE_LASER_CALIBRATE_VALUE, &CKeyence_UtilDlg::OnBnClickedButtonKeyenceLaserCalibrateValue)
END_MESSAGE_MAP() END_MESSAGE_MAP()
#pragma region GUI #pragma region GUI
@@ -89,9 +107,23 @@ BOOL CKeyence_UtilDlg::OnInitDialog()
GetDlgItem(IDC_BUTTON_SCAN_KEYENCE_LK_HLASER)->EnableWindow(false); GetDlgItem(IDC_BUTTON_SCAN_KEYENCE_LK_HLASER)->EnableWindow(false);
GetDlgItem(IDC_BUTTON_STOP_SCAN_KEYENCE_LK_HLASER)->EnableWindow(false); GetDlgItem(IDC_BUTTON_STOP_SCAN_KEYENCE_LK_HLASER)->EnableWindow(false);
GetDlgItem(IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_HLASER)->EnableWindow(false); GetDlgItem(IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_HLASER)->EnableWindow(false);
#ifdef _TEST_NEED_SO7_MACHINE
m_pSO7_Proto->Init_SO7Usb(); m_pSO7_Proto->Init_SO7Usb();
m_pSO7_Proto->_start_machine(); m_pSO7_Proto->_start_machine();
#endif
((CButton*)(GetDlgItem(IDC_RADIO_KEYENCE_LASER_LK_G)))->SetCheck(TRUE);
OnBnClickedRadioKeyenceLaserLkG();
m_LK_G_CalibrateVal=0.0;
m_LK_G_TopCalibrateVal=0.0;
m_LK_G_BottomCalibrateVal=0.0;
((CButton*)(GetDlgItem(IDC_EDIT_KEYENCE_LASER_CALIBRATE_VALUE)))->SetWindowText(_T("0.0"));
m_LK_G_Interval=100;
((CButton*)(GetDlgItem(IDC_EDIT_TEST_LK_G_INTERVAL)))->SetWindowText(_T("100"));
for (int i=0;i<8;i++)
{
m_LK_G_ProNOState[i]=FALSE;
}
m_LK_G_ProNOChecked=0;
return TRUE; // return TRUE unless you set the focus to a control return TRUE; // return TRUE unless you set the focus to a control
} }
@@ -139,8 +171,10 @@ void CKeyence_UtilDlg::OnBnClickedCancel()
KillTimer(3); KillTimer(3);
KillTimer(4); KillTimer(4);
#ifdef _TEST_NEED_SO7_MACHINE
m_pSO7_Proto->_shutdown_machine(); m_pSO7_Proto->_shutdown_machine();
m_pSO7_Proto->Exit_SO7Usb(); m_pSO7_Proto->Exit_SO7Usb();
#endif
CDialog::OnCancel(); CDialog::OnCancel();
} }
@@ -167,6 +201,36 @@ void CKeyence_UtilDlg::OutputWithScroll(const CString &strNewText,CEdit &edtOutp
edtOutput.SetRedraw(TRUE); edtOutput.SetRedraw(TRUE);
} }
//=====================================================================================
void CKeyence_UtilDlg::OnBnClickedButtonTestKeyenceSaveLog()
{
USES_CONVERSION;
CString FileName;
CString PathName;
FILE* m_pOutFile;
FileName=_T("LK_G_Data.txt");
CString szFilter=_T("TXT Files(*.txt)|*.txt|ALL Files(*.*)|*.*||");
CFileDialog fdlg(FALSE,_T("INI"),FileName,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
if( fdlg.DoModal()==IDOK)
{
const char* outBuff=NULL;
CString strOutput;
PathName=fdlg.GetPathName();
_wfopen_s(&m_pOutFile, PathName, _T("wt"));
if (!m_pOutFile)
{
MessageBox( _T("File name Error."), _T("Message"), MB_OK);
};
m_edMSG.GetWindowText(strOutput);
outBuff=T2A(strOutput);
fprintf(m_pOutFile,"%s", outBuff);
fclose(m_pOutFile);
}
delete fdlg;
}
#pragma endregion #pragma endregion
@@ -175,6 +239,7 @@ void CKeyence_UtilDlg::OutputWithScroll(const CString &strNewText,CEdit &edtOutp
void CKeyence_UtilDlg::OnBnClickedButtonInitKeyenceLaser() void CKeyence_UtilDlg::OnBnClickedButtonInitKeyenceLaser()
{ {
#ifdef _TEST_NEED_SO7_MACHINE
m_pSO7_Proto->_send_cmd_SO7_CMD_OPEN_KEYENCE_LASER(); m_pSO7_Proto->_send_cmd_SO7_CMD_OPEN_KEYENCE_LASER();
do do
{ {
@@ -182,12 +247,33 @@ void CKeyence_UtilDlg::OnBnClickedButtonInitKeyenceLaser()
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_INTERRUPT_MESSAGE(); m_pSO7_Proto->_send_cmd_SO7_CMD_READ_INTERRUPT_MESSAGE();
} while (m_pSO7_Proto->g_machine.InterruptFlag[0]!=CT_SEND_XYZLASE); } while (m_pSO7_Proto->g_machine.InterruptFlag[0]!=CT_SEND_XYZLASE);
m_pSO7_Proto->g_machine.InterruptFlag[0]=0; m_pSO7_Proto->g_machine.InterruptFlag[0]=0;
#endif
CString csLaserValue; CString csLaserValue;
for(int i=0;i<8;i++)
{
if(m_LK_G_ProNOState[i])
{
m_pKeyence_Laser->SetProgramNO(i);
Sleep(20);
m_pKeyence_Laser->Get_KeyenceLaserData(&fLaserVaule1,&fLaserVaule2); m_pKeyence_Laser->Get_KeyenceLaserData(&fLaserVaule1,&fLaserVaule2);
csLaserValue.Format(_T("%f"),fLaserVaule1); csLaserValue.Format(_T("%.4f"),fLaserVaule1);
GetDlgItem(IDC_EDIT_LASER_VALUE1)->SetWindowText(csLaserValue); GetDlgItem(IDC_EDIT_LASER_VALUE1)->SetWindowText(csLaserValue);
csLaserValue.Format(_T("%f"),fLaserVaule2); csLaserValue.Format(_T("%.4f"),fLaserVaule2);
GetDlgItem(IDC_EDIT_LASER_VALUE2)->SetWindowText(csLaserValue); GetDlgItem(IDC_EDIT_LASER_VALUE2)->SetWindowText(csLaserValue);
if (i==m_LK_G_CalibrateNO)
{
m_OutMessage.Format(_T("<No %d> OUT1:%.4f,OUT2:%.4f,Result:%.4f"),i,fLaserVaule1,fLaserVaule2,(fLaserVaule1-m_LK_G_TopCalibrateVal)+m_LK_G_CalibrateVal+(m_LK_G_BottomCalibrateVal-fLaserVaule2));
}
else
{
m_OutMessage.Format(_T("<No %d> OUT1:%.4f,OUT2:%.4f,Average:%.4f"),i,fLaserVaule1,fLaserVaule2,0.5*(fLaserVaule1+fLaserVaule2));
}
OutputWithScroll(m_OutMessage,m_edMSG);
}
}
} }
//================================================================================================ //================================================================================================
@@ -196,7 +282,7 @@ void CKeyence_UtilDlg::OnBnClickedCheckContinueReadLaserValue()
if (((CButton*)(GetDlgItem(IDC_CHECK_CONTINUE_READ_LASER_VALUE)))->GetCheck()) if (((CButton*)(GetDlgItem(IDC_CHECK_CONTINUE_READ_LASER_VALUE)))->GetCheck())
{ {
((CButton*)(GetDlgItem(IDC_BUTTON_INIT_KEYENCE_LASER)))->EnableWindow(FALSE); ((CButton*)(GetDlgItem(IDC_BUTTON_INIT_KEYENCE_LASER)))->EnableWindow(FALSE);
SetTimer(1,20,NULL); SetTimer(1,m_LK_G_Interval,NULL);
} }
else else
{ {
@@ -211,13 +297,17 @@ void CKeyence_UtilDlg::OnBnClickedCheckContinueReadLaserValue()
void CKeyence_UtilDlg::OnBnClickedButtonScanKeyenceLkGlaser() void CKeyence_UtilDlg::OnBnClickedButtonScanKeyenceLkGlaser()
{ {
m_pKeyence_Laser->StartStoreData(500,20); m_pKeyence_Laser->StartStoreData(500,20);
#ifdef _TEST_NEED_SO7_MACHINE
m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_X(5); m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_X(5);
#endif
SetTimer(2,100,NULL); SetTimer(2,100,NULL);
} }
//================================================================================================ //================================================================================================
void CKeyence_UtilDlg::OnBnClickedButtonStopScanKeyenceLkGlaser() void CKeyence_UtilDlg::OnBnClickedButtonStopScanKeyenceLkGlaser()
{ {
#ifdef _TEST_NEED_SO7_MACHINE
m_pSO7_Proto->_send_cmd_SO7_CMD_STOP_MOVE_XYZ(); m_pSO7_Proto->_send_cmd_SO7_CMD_STOP_MOVE_XYZ();
#endif
m_pKeyence_Laser->StopStoreData(); m_pKeyence_Laser->StopStoreData();
KillTimer(2); KillTimer(2);
} }
@@ -252,6 +342,67 @@ void CKeyence_UtilDlg::OnBnClickedButtonGetScanDataKeyenceLkGlaser()
} }
ShellExecute(NULL,L"open",L"notepad++.exe",L"C:\\log\\Laser.log",NULL,SW_SHOWNORMAL); ShellExecute(NULL,L"open",L"notepad++.exe",L"C:\\log\\Laser.log",NULL,SW_SHOWNORMAL);
} }
void CKeyence_UtilDlg::OnEnKillfocusEditTestLkGInterval()
{
UpdateData(TRUE);
USES_CONVERSION;
CString csTmp;
(GetDlgItem(IDC_EDIT_TEST_LK_G_INTERVAL))->GetWindowText(csTmp);
const char* cTempValue=T2A(csTmp);
m_LK_G_Interval=atoi(cTempValue);
}
void CKeyence_UtilDlg::OnBnClickedButtonTestKeyenceClearLog()
{
m_edMSG.SetWindowText(_T(""));
UpdateData(FALSE);
}
void CKeyence_UtilDlg::OnBnClickedButtonKeyenceLaserCalibrateValue()
{
UpdateData(TRUE);
USES_CONVERSION;
CString csTmp;
(GetDlgItem(IDC_EDIT_KEYENCE_LASER_CALIBRATE_VALUE))->GetWindowText(csTmp);
const char* cTempValue=T2A(csTmp);
m_LK_G_CalibrateVal=static_cast<float>(atof(cTempValue));
m_LK_G_CalibrateNO=1;
m_pKeyence_Laser->Get_KeyenceLaserData(&fLaserVaule1,&fLaserVaule2);
m_LK_G_TopCalibrateVal=fLaserVaule1;
m_LK_G_BottomCalibrateVal=fLaserVaule2;
}
void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram0()
{
m_LK_G_ProNOState[0]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM0))->GetCheck();
}
void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram1()
{
m_LK_G_ProNOState[1]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM1))->GetCheck();
}
void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram2()
{
m_LK_G_ProNOState[2]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM2))->GetCheck();
}
void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram3()
{
m_LK_G_ProNOState[3]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM3))->GetCheck();
}
void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram4()
{
m_LK_G_ProNOState[4]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM4))->GetCheck();
}
void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram5()
{
m_LK_G_ProNOState[5]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM5))->GetCheck();
}
void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram6()
{
m_LK_G_ProNOState[6]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM6))->GetCheck();
}
void CKeyence_UtilDlg::OnBnClickedCheckTestKeyenceLkGProgram7()
{
m_LK_G_ProNOState[7]=((CButton *)GetDlgItem(IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM7))->GetCheck();
}
#pragma endregion #pragma endregion
//================================================================================================ //================================================================================================
void CKeyence_UtilDlg::OnTimer(UINT_PTR nIDEvent) void CKeyence_UtilDlg::OnTimer(UINT_PTR nIDEvent)
@@ -304,12 +455,12 @@ void CKeyence_UtilDlg::OnTimer(UINT_PTR nIDEvent)
//=============================================== //===============================================
void CKeyence_UtilDlg::OnBnClickedButtonRuncnc() void CKeyence_UtilDlg::OnBnClickedButtonRuncnc()
{ {
SetTimer(2,300,NULL); SetTimer(2,300,NULL);
} }
//=============================================== //===============================================
void CKeyence_UtilDlg::RunCNC() void CKeyence_UtilDlg::RunCNC()
{ {
#ifdef _TEST_NEED_SO7_MACHINE
if (m_pSO7_Proto) if (m_pSO7_Proto)
{ {
@@ -353,7 +504,7 @@ void CKeyence_UtilDlg::RunCNC()
m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ); m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ);
} }
} }
#endif
} }
void CKeyence_UtilDlg::OnBnClickedButtonInitKeyenceUsb() void CKeyence_UtilDlg::OnBnClickedButtonInitKeyenceUsb()
@@ -392,6 +543,7 @@ void CKeyence_UtilDlg::OnBnClickedButtonExitKeyenceUsb()
//====================================================== //======================================================
void CKeyence_UtilDlg::OnBnClickedButtonLaserLkHGetData() void CKeyence_UtilDlg::OnBnClickedButtonLaserLkHGetData()
{ {
#ifdef _TEST_NEED_SO7_MACHINE
m_pSO7_Proto->_send_cmd_SO7_CMD_OPEN_KEYENCE_LASER(); m_pSO7_Proto->_send_cmd_SO7_CMD_OPEN_KEYENCE_LASER();
do do
{ {
@@ -399,6 +551,7 @@ void CKeyence_UtilDlg::OnBnClickedButtonLaserLkHGetData()
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_INTERRUPT_MESSAGE(); m_pSO7_Proto->_send_cmd_SO7_CMD_READ_INTERRUPT_MESSAGE();
} while (m_pSO7_Proto->g_machine.InterruptFlag[0]!=CT_SEND_XYZLASE); } while (m_pSO7_Proto->g_machine.InterruptFlag[0]!=CT_SEND_XYZLASE);
m_pSO7_Proto->g_machine.InterruptFlag[0]=0; m_pSO7_Proto->g_machine.InterruptFlag[0]=0;
#endif
CString csLaserValue; CString csLaserValue;
m_pKeyence_Laser_LK_H->Get_KeyenceLaserData(&fLaserVaule1,&fLaserVaule2); m_pKeyence_Laser_LK_H->Get_KeyenceLaserData(&fLaserVaule1,&fLaserVaule2);
csLaserValue.Format(_T("%f"),fLaserVaule1); csLaserValue.Format(_T("%f"),fLaserVaule1);
@@ -427,14 +580,18 @@ void CKeyence_UtilDlg::OnBnClickedButtonScanKeyenceLkHlaser()
{ {
m_LK_H_StorageOutNumber=4; m_LK_H_StorageOutNumber=4;
m_pKeyence_Laser_LK_H->StartStoreData(m_LK_H_StorageOutNumber,1000,20); m_pKeyence_Laser_LK_H->StartStoreData(m_LK_H_StorageOutNumber,1000,20);
#ifdef _TEST_NEED_SO7_MACHINE
m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_X(5); m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_X(5);
#endif
SetTimer(4,100,NULL); SetTimer(4,100,NULL);
} }
//====================================================== //======================================================
void CKeyence_UtilDlg::OnBnClickedButtonStopScanKeyenceLkHlaser() void CKeyence_UtilDlg::OnBnClickedButtonStopScanKeyenceLkHlaser()
{ {
#ifdef _TEST_NEED_SO7_MACHINE
m_pSO7_Proto->_send_cmd_SO7_CMD_STOP_MOVE_XYZ(); m_pSO7_Proto->_send_cmd_SO7_CMD_STOP_MOVE_XYZ();
#endif
m_pKeyence_Laser_LK_H->StopStoreData(); m_pKeyence_Laser_LK_H->StopStoreData();
KillTimer(4); KillTimer(4);
} }
@@ -474,3 +631,10 @@ void CKeyence_UtilDlg::OnBnClickedButtonGetScanDataKeyenceLkHlaser()
ShellExecute(NULL,L"open",L"notepad++.exe",L"C:\\log\\LK_H_Laser.log",NULL,SW_SHOWNORMAL); ShellExecute(NULL,L"open",L"notepad++.exe",L"C:\\log\\LK_H_Laser.log",NULL,SW_SHOWNORMAL);
} }
#pragma endregion #pragma endregion
@@ -16,8 +16,17 @@ public:
protected: protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
virtual BOOL OnInitDialog(); virtual BOOL OnInitDialog();
CEdit m_edMSG;
DECLARE_MESSAGE_MAP() DECLARE_MESSAGE_MAP()
protected:
CEdit m_edMSG;
BOOL m_LK_G_ProNOState[8];
char m_LK_G_ProNOChecked;
char m_LK_G_CalibrateNO;
int m_LK_G_Interval;
float m_LK_G_CalibrateVal;
float m_LK_G_TopCalibrateVal;
float m_LK_G_BottomCalibrateVal;
public: public:
int m_LK_H_StorageOutNumber; int m_LK_H_StorageOutNumber;
CString m_OutMessage; CString m_OutMessage;
@@ -41,4 +50,16 @@ public:
afx_msg void OnBnClickedButtonGetScanDataKeyenceLkHlaser(); afx_msg void OnBnClickedButtonGetScanDataKeyenceLkHlaser();
afx_msg void OnBnClickedRadioKeyenceLaserLkH(); afx_msg void OnBnClickedRadioKeyenceLaserLkH();
afx_msg void OnBnClickedRadioKeyenceLaserLkG(); afx_msg void OnBnClickedRadioKeyenceLaserLkG();
afx_msg void OnBnClickedCheckTestKeyenceLkGProgram1();
afx_msg void OnBnClickedCheckTestKeyenceLkGProgram2();
afx_msg void OnBnClickedCheckTestKeyenceLkGProgram3();
afx_msg void OnBnClickedCheckTestKeyenceLkGProgram0();
afx_msg void OnBnClickedCheckTestKeyenceLkGProgram4();
afx_msg void OnBnClickedCheckTestKeyenceLkGProgram5();
afx_msg void OnBnClickedCheckTestKeyenceLkGProgram6();
afx_msg void OnBnClickedCheckTestKeyenceLkGProgram7();
afx_msg void OnBnClickedButtonTestKeyenceSaveLog();
afx_msg void OnEnKillfocusEditTestLkGInterval();
afx_msg void OnBnClickedButtonTestKeyenceClearLog();
afx_msg void OnBnClickedButtonKeyenceLaserCalibrateValue();
}; };
@@ -22,7 +22,7 @@
#include "So7_Option.h" #include "So7_Option.h"
//#define _ONLY_USE_FOR_SO7 #define _ONLY_USE_FOR_SO7
#ifdef _DEBUG #ifdef _DEBUG
#define new DEBUG_NEW #define new DEBUG_NEW
@@ -143,11 +143,11 @@ STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSM
CAPTION "Send Parameter" CAPTION "Send Parameter"
FONT 8, "MS Shell Dlg", 400, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN BEGIN
CONTROL "X",IDC_RADIO_SAMPLE_X,"Button",BS_AUTORADIOBUTTON | WS_GROUP,397,403,20,10 CONTROL "X",IDC_RADIO_SAMPLE_X,"Button",BS_AUTORADIOBUTTON | WS_GROUP,390,415,20,10
CONTROL "Y",IDC_RADIO_SAMPLE_Y,"Button",BS_AUTORADIOBUTTON,397,414,20,10 CONTROL "Y",IDC_RADIO_SAMPLE_Y,"Button",BS_AUTORADIOBUTTON,390,426,20,10
CONTROL "Z",IDC_RADIO_SAMPLE_Z,"Button",BS_AUTORADIOBUTTON,397,425,20,10 CONTROL "Z",IDC_RADIO_SAMPLE_Z,"Button",BS_AUTORADIOBUTTON,390,437,20,10
CONTROL "速度-时间",IDC_RADIO_CANVAS_SPEED_TIME,"Button",BS_AUTORADIOBUTTON | WS_GROUP,322,406,51,10 CONTROL "速度-时间",IDC_RADIO_CANVAS_SPEED_TIME,"Button",BS_AUTORADIOBUTTON | WS_GROUP,315,418,51,10
CONTROL "位移-时间",IDC_RADIO_CANVAS_POSTION_TIME,"Button",BS_AUTORADIOBUTTON,322,420,51,10 CONTROL "位移-时间",IDC_RADIO_CANVAS_POSTION_TIME,"Button",BS_AUTORADIOBUTTON,315,432,51,10
EDITTEXT IDC_EDIT_BASESPEED_X1,43,55,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_X1,43,55,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_X1,93,55,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_X1,93,55,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_X1,143,55,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_X1,143,55,40,12,ES_AUTOHSCROLL
@@ -289,9 +289,9 @@ BEGIN
LTEXT "采样时间",IDC_STATIC,529,410,33,8 LTEXT "采样时间",IDC_STATIC,529,410,33,8
PUSHBUTTON "Stop",IDC_BUTTON_STOP_SAMPLE_SCURVE,627,425,50,14 PUSHBUTTON "Stop",IDC_BUTTON_STOP_SAMPLE_SCURVE,627,425,50,14
CONTROL "运动曲线图",IDC_CUSTOM_CANVAS,"CDrawGraph",WS_TABSTOP,309,34,423,349 CONTROL "运动曲线图",IDC_CUSTOM_CANVAS,"CDrawGraph",WS_TABSTOP,309,34,423,349
GROUPBOX "曲线类型",IDC_STATIC,315,392,66,48 GROUPBOX "曲线类型",IDC_STATIC,308,404,66,48
EDITTEXT IDC_EDIT_SET_PARAMETER_MSGOUTPUT,443,431,165,25,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL EDITTEXT IDC_EDIT_SET_PARAMETER_MSGOUTPUT,443,431,165,25,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
GROUPBOX "坐标轴",IDC_STATIC,386,392,50,48 GROUPBOX "坐标轴",IDC_STATIC,379,404,50,48
END END
IDD_SO7_UTIL_AUTO_ZOOM DIALOGEX 0, 0, 426, 460 IDD_SO7_UTIL_AUTO_ZOOM DIALOGEX 0, 0, 426, 460
@@ -356,15 +356,16 @@ CAPTION "Option Dialog"
FONT 8, "MS Shell Dlg", 400, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN BEGIN
CONTROL "控制器",IDC_RADIO_CONTROLLER,"Button",BS_AUTORADIOBUTTON,175,39,40,10 CONTROL "控制器",IDC_RADIO_CONTROLLER,"Button",BS_AUTORADIOBUTTON,175,39,40,10
CONTROL "Keyence激光",IDC_RADIO_KEYENCE_LASER,"Button",BS_AUTORADIOBUTTON,175,64,76,10 CONTROL "Keyence激光",IDC_RADIO_KEYENCE_LASER,"Button",BS_AUTORADIOBUTTON,175,89,76,10
CONTROL "SDK3000视频卡",IDC_RADIO_VIDEOCARD_SDK3000,"Button",BS_AUTORADIOBUTTON,48,39,69,10 CONTROL "SDK3000视频卡",IDC_RADIO_VIDEOCARD_SDK3000,"Button",BS_AUTORADIOBUTTON,48,39,69,10
CONTROL "SV2000E视频卡",IDC_RADIO_VIDEOCARD_SV2000E,"Button",BS_AUTORADIOBUTTON,48,64,69,10 CONTROL "SV2000E视频卡",IDC_RADIO_VIDEOCARD_SV2000E,"Button",BS_AUTORADIOBUTTON,48,64,69,10
CONTROL "TC4000视频卡",IDC_RADIO_VIDEOCARD_TC4000,"Button",BS_AUTORADIOBUTTON,48,89,69,10 CONTROL "TC4000视频卡",IDC_RADIO_VIDEOCARD_TC4000,"Button",BS_AUTORADIOBUTTON,48,89,69,10
DEFPUSHBUTTON "OK",IDOK,181,145,50,14 DEFPUSHBUTTON "OK",IDOK,181,145,50,14
PUSHBUTTON "Cancel",IDCANCEL,241,145,50,14 PUSHBUTTON "Cancel",IDCANCEL,241,145,50,14
GROUPBOX "测试选项",IDC_STATIC,29,15,243,120 GROUPBOX "测试选项",IDC_STATIC,29,15,243,120
CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON,175,89,45,10 CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON,175,114,45,10
CONTROL "IP Camera",IDC_RADIO_SO7_IP_CAMERA,"Button",BS_AUTORADIOBUTTON,48,114,62,10 CONTROL "IP Camera",IDC_RADIO_SO7_IP_CAMERA,"Button",BS_AUTORADIOBUTTON,48,114,62,10
CONTROL "Manual Machine",IDC_RADIO__SO7_RS232,"Button",BS_AUTORADIOBUTTON,175,64,67,10
END END
IDD_SO7_VIDEOCARD_SDK3000 DIALOGEX 0, 0, 488, 316 IDD_SO7_VIDEOCARD_SDK3000 DIALOGEX 0, 0, 488, 316
@@ -386,17 +387,19 @@ STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSM
CAPTION "SV2000视频卡" CAPTION "SV2000视频卡"
FONT 8, "MS Shell Dlg", 400, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN BEGIN
CONTROL "彩色图像",IDC_RADIO_SV2000E_RGB,"Button",BS_AUTORADIOBUTTON | WS_GROUP,861,38,48,10 CONTROL "彩色图像",IDC_RADIO_SV2000E_RGB,"Button",BS_AUTORADIOBUTTON | WS_GROUP,861,152,48,10
CONTROL "黑白图像",IDC_RADIO_SV2000E_GRAY,"Button",BS_AUTORADIOBUTTON,861,59,48,10 CONTROL "黑白图像",IDC_RADIO_SV2000E_GRAY,"Button",BS_AUTORADIOBUTTON,861,173,48,10
CONTROL "垂直镜像",IDC_CHECK_SV2000E_MIRROR_VERTICALLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,861,86,48,10 CONTROL "垂直镜像",IDC_CHECK_SV2000E_MIRROR_VERTICALLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,861,200,48,10
PUSHBUTTON "保存图片",IDC_BUTTON_SV2000E_SAVEFILE,859,116,50,14 PUSHBUTTON "保存图片",IDC_BUTTON_SV2000E_SAVEFILE,859,267,50,14
DEFPUSHBUTTON "开始",IDOK,793,300,50,14 DEFPUSHBUTTON "开始",IDOK,793,300,50,14
PUSHBUTTON "退出",IDCANCEL,854,300,50,14 PUSHBUTTON "退出",IDCANCEL,854,300,50,14
GROUPBOX "通道选择",IDC_STATIC,864,142,42,61 GROUPBOX "通道选择",IDC_STATIC,859,85,42,61
CONTROL "1",IDC_RADIO_SV2000E_CHANNEL1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,876,161,23,10 CONTROL "1",IDC_RADIO_SV2000E_CHANNEL1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,871,104,23,10
CONTROL "2",IDC_RADIO_SV2000E_CHANNEL2,"Button",BS_AUTORADIOBUTTON,876,183,26,10 CONTROL "2",IDC_RADIO_SV2000E_CHANNEL2,"Button",BS_AUTORADIOBUTTON,871,125,26,10
GROUPBOX "设备选择",IDC_STATIC,863,208,42,61 GROUPBOX "设备选择",IDC_STATIC,858,13,42,61
COMBOBOX IDC_COMBO_SV2000E_SELECT_DEV_NUMBER,868,223,31,35,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_COMBO_SV2000E_SELECT_DEV_NUMBER,863,29,31,35,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP
GROUPBOX "去隔行",IDC_STATIC,858,217,48,40
EDITTEXT IDC_EDITTC4000_SET_DEINTERLACE,868,234,33,14,ES_AUTOHSCROLL
END END
IDD_SO7_UTIL_SETUP_CONFIGURE DIALOGEX 0, 0, 476, 451 IDD_SO7_UTIL_SETUP_CONFIGURE DIALOGEX 0, 0, 476, 451
@@ -514,16 +517,48 @@ BEGIN
CONTROL "V",IDC_CHECK_REPETESTV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,267,20,10 CONTROL "V",IDC_CHECK_REPETESTV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,267,20,10
END END
IDD_SO7_UTIL_IMAGE_DLL DIALOGEX 0, 0, 316, 183 IDD_SO7_UTIL_IMAGE_DLL DIALOGEX 0, 0, 377, 184
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Test Imae.dll" CAPTION "Test Imae.dll"
FONT 8, "MS Shell Dlg", 400, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN BEGIN
PUSHBUTTON "Exit",IDCANCEL,259,162,50,14 PUSHBUTTON "Exit",IDCANCEL,327,170,50,14
PUSHBUTTON "Start",IDC_BUTTON_IMAGEDLL_START_SCAN_LASER,55,41,50,14 PUSHBUTTON "Start Storage",IDC_BUTTON_IMAGEDLL_START_SCAN_LASER,21,30,50,14
PUSHBUTTON "Get Data",IDC_BUTTON_IMAGEDLL_GET_SCAN_LASER_DATA,127,41,50,14 PUSHBUTTON "Get Data",IDC_BUTTON_IMAGEDLL_GET_SCAN_LASER_DATA,21,70,50,14
PUSHBUTTON "Pause &Get",IDC_BUTTON_IMAGEDLL_PAUSE_AND_GET_SCAN_LASER_DATA,129,70,50,14 PUSHBUTTON "Pause &Get",IDC_BUTTON_IMAGEDLL_PAUSE_AND_GET_SCAN_LASER_DATA,21,90,50,14
PUSHBUTTON "Stop",IDC_BUTTON_IMAGEDLL_STOP_SCAN_LASER,55,71,50,14 PUSHBUTTON "Stop Storage",IDC_BUTTON_IMAGEDLL_STOP_SCAN_LASER,21,50,50,14
GROUPBOX "Test Laser",IDC_STATIC,11,6,66,146
GROUPBOX "Double Laser",IDC_STATIC,88,5,258,157
LTEXT "X",IDC_STATIC,155,24,8,8
LTEXT "Y",IDC_STATIC,196,24,8,8
LTEXT "Z-TOP",IDC_STATIC,236,24,21,8
LTEXT "Z-BOTTOM",IDC_STATIC,281,24,36,8
LTEXT "Pos1",IDC_STATIC,110,42,16,8
LTEXT "Pos2",IDC_STATIC,110,59,16,8
LTEXT "Pos3",IDC_STATIC,110,76,16,8
LTEXT "Standard",IDC_STATIC,101,93,30,8
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_X1,137,40,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_Y1,183,40,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_TOPZ1,229,40,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ1,275,40,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_STANDARD_VALUE,137,91,40,14,ES_AUTOHSCROLL
LTEXT "ΔX",IDC_STATIC,220,122,10,8
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_MEASURED_VALUE,137,134,40,14,ES_AUTOHSCROLL
GROUPBOX "Known Number",IDC_STATIC,99,14,228,103
LTEXT "ΔY",IDC_STATIC,289,122,10,8
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_X2,137,57,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_Y2,183,57,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_TOPZ2,229,57,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ2,275,57,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_X3,137,74,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_Y3,183,74,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_TOPZ3,229,74,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ3,275,74,40,14,ES_AUTOHSCROLL
PUSHBUTTON "Calculate",IDC_BUTTON_IMAGEDLL_2LASER_CALCULATE,275,98,40,14
LTEXT "Result",IDC_STATIC,101,138,21,8
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_XSHIFT,206,134,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_IMAGEDLL_2LASER_YSHIFT,275,134,40,14,ES_AUTOHSCROLL
LTEXT "Measured Value",IDC_STATIC,133,122,52,8
END END
IDD_SO7_VIDEOCARD_TC4000 DIALOGEX 0, 0, 488, 316 IDD_SO7_VIDEOCARD_TC4000 DIALOGEX 0, 0, 488, 316
@@ -545,6 +580,46 @@ BEGIN
CONTROL "4",IDC_RADIO_TC4000_CHANNEL4,"Button",BS_AUTORADIOBUTTON,451,213,20,10 CONTROL "4",IDC_RADIO_TC4000_CHANNEL4,"Button",BS_AUTORADIOBUTTON,451,213,20,10
END END
IDD_SO7_UTIL_MANUAL_MACHINE DIALOGEX 0, 0, 333, 330
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Manual Machine"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
PUSHBUTTON "Exit",IDCANCEL,276,292,50,14
PUSHBUTTON "Start Machine",IDC_BUTTON_SO7_MANUAL_MACHINE_START_MACHINE,24,39,50,14
PUSHBUTTON "Stop Machine",IDC_BUTTON_SO7_MANUAL_MACHINE_STOP_MACHINE,24,65,50,14
EDITTEXT IDC_EDIT1,20,217,252,58,ES_AUTOHSCROLL
GROUPBOX "Position",IDC_STATIC,19,99,297,107
GROUPBOX "Send Data",IDC_STATIC,86,18,237,76
PUSHBUTTON "Send",IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA,267,74,50,14
EDITTEXT IDC_EDIT_SO7_MANUAL_MACHINE_DATA,87,44,173,48,ES_AUTOHSCROLL
CONTROL "HEX",IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_HEX,
"Button",BS_AUTORADIOBUTTON | WS_GROUP,271,45,29,10
CONTROL "ANSCII",IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_ANSCII,
"Button",BS_AUTORADIOBUTTON,271,57,39,10
CONTROL "CMD1",IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,95,30,35,10
CONTROL "CMD2",IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD2,"Button",BS_AUTORADIOBUTTON,140,30,35,10
CONTROL "CMD3",IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD3,"Button",BS_AUTORADIOBUTTON,185,30,35,10
GROUPBOX "Machine Control",IDC_STATIC,17,18,62,75
EDITTEXT IDC_EDIT_X_SCALE_COEFFICIENT,205,137,54,12,ES_CENTER | ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_Y_SCALE_COEFFICIENT,205,155,54,12,ES_CENTER | ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_Z_SCALE_COEFFICIENT,205,173,54,12,ES_CENTER | ES_AUTOHSCROLL
LTEXT "x",IDC_STATIC,36,138,8,11
LTEXT "y",IDC_STATIC,36,155,8,11
LTEXT "z",IDC_STATIC,36,174,8,11
EDITTEXT IDC_EDIT_X_AXIS,47,137,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP
EDITTEXT IDC_EDIT_Y_AXIS,47,155,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP
EDITTEXT IDC_EDIT_Z_AXIS,47,173,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP
EDITTEXT IDC_EDIT_X_POSITION_58,126,137,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP
EDITTEXT IDC_EDIT_Y_POSITION_58,126,155,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP
EDITTEXT IDC_EDIT_Z_POSITION_58,126,173,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP
LTEXT "Scale Pulse",IDC_STATIC,56,119,36,8
LTEXT "mm",IDC_STATIC,147,119,12,8
LTEXT "Scale resolution",IDC_STATIC,209,119,51,11
PUSHBUTTON "Clear All",IDC_BUTTON_SO7_MANUAL_MACHINE_CLEAR_MSG,280,224,40,17
PUSHBUTTON "Save as...",IDC_BUTTON_SO7_MANUAL_MACHINE_SAVE_MSG,280,249,40,17
END
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
@@ -622,9 +697,9 @@ BEGIN
IDD_SO7_UTIL_IMAGE_DLL, DIALOG IDD_SO7_UTIL_IMAGE_DLL, DIALOG
BEGIN BEGIN
LEFTMARGIN, 7 LEFTMARGIN, 7
RIGHTMARGIN, 309 RIGHTMARGIN, 370
TOPMARGIN, 7 TOPMARGIN, 7
BOTTOMMARGIN, 176 BOTTOMMARGIN, 177
END END
IDD_SO7_VIDEOCARD_TC4000, DIALOG IDD_SO7_VIDEOCARD_TC4000, DIALOG
@@ -635,6 +710,14 @@ BEGIN
TOPMARGIN, 7 TOPMARGIN, 7
BOTTOMMARGIN, 312 BOTTOMMARGIN, 312
END END
IDD_SO7_UTIL_MANUAL_MACHINE, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 326
TOPMARGIN, 7
BOTTOMMARGIN, 306
END
END END
#endif // APSTUDIO_INVOKED #endif // APSTUDIO_INVOKED
@@ -1281,33 +1364,119 @@ BEGIN
PUSHBUTTON "Browse",IDC_BUTTON_BROWSE,250,17,33,14 PUSHBUTTON "Browse",IDC_BUTTON_BROWSE,250,17,33,14
END END
IDD_DIALOG_TEST_KEYENCE DIALOGEX 0, 0, 338, 344 IDD_DIALOG_TEST_KEYENCE DIALOGEX 0, 0, 759, 478
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Test Keyence" CAPTION "Test Keyence"
FONT 8, "MS Shell Dlg", 400, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN BEGIN
PUSHBUTTON "Exit",IDCANCEL,281,323,50,14 PUSHBUTTON "Exit",IDCANCEL,702,457,50,14
CONTROL "LK_G",IDC_RADIO_KEYENCE_LASER_LK_G,"Button",BS_AUTORADIOBUTTON,73,27,32,10 CONTROL "LK_G",IDC_RADIO_KEYENCE_LASER_LK_G,"Button",BS_AUTORADIOBUTTON,251,27,32,10
CONTROL "LK_H",IDC_RADIO_KEYENCE_LASER_LK_H,"Button",BS_AUTORADIOBUTTON,200,27,32,10 CONTROL "LK_H",IDC_RADIO_KEYENCE_LASER_LK_H,"Button",BS_AUTORADIOBUTTON,418,27,32,10
EDITTEXT IDC_EDIT_LASER_VALUE1,33,71,69,14,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_LASER_VALUE1,65,301,52,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_LASER_VALUE2,33,94,69,14,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_LASER_VALUE2,65,324,52,14,ES_AUTOHSCROLL
CONTROL "Continue",IDC_CHECK_CONTINUE_READ_LASER_VALUE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,136,73,45,10 CONTROL "Continuous",IDC_CHECK_CONTINUE_READ_LASER_VALUE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,64,250,52,10
PUSHBUTTON "Get_Data",IDC_BUTTON_INIT_KEYENCE_LASER,128,87,50,14 PUSHBUTTON "Get Once Data",IDC_BUTTON_INIT_KEYENCE_LASER,52,205,60,14
PUSHBUTTON "Begin Scan",IDC_BUTTON_SCAN_KEYENCE_LK_GLASER,203,73,50,14 PUSHBUTTON "Begin Scan",IDC_BUTTON_SCAN_KEYENCE_LK_GLASER,666,322,50,14,NOT WS_VISIBLE
PUSHBUTTON "Stop Scan",IDC_BUTTON_STOP_SCAN_KEYENCE_LK_GLASER,203,92,50,14 PUSHBUTTON "Stop Scan",IDC_BUTTON_STOP_SCAN_KEYENCE_LK_GLASER,666,322,50,14,NOT WS_VISIBLE
PUSHBUTTON "Get Data",IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_GLASER,203,110,50,14 PUSHBUTTON "Get Data",IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_GLASER,666,322,50,14,NOT WS_VISIBLE
EDITTEXT IDC_EDIT_LASER_LK_H_VALUE1,32,163,69,14,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_LASER_LK_H_VALUE1,32,389,69,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_LASER_LK_H_VALUE2,32,186,69,14,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_LASER_LK_H_VALUE2,32,412,69,14,ES_AUTOHSCROLL
CONTROL "Continue",IDC_CHECK_CONTINUE_READ_LASER_LK_H_VALUE, CONTROL "Continue",IDC_CHECK_CONTINUE_READ_LASER_LK_H_VALUE,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,135,165,45,10 "Button",BS_AUTOCHECKBOX | WS_TABSTOP,135,391,45,10
PUSHBUTTON "Get_Data",IDC_BUTTON_LASER_LK_H_GET_DATA,127,179,50,14 PUSHBUTTON "Get_Data",IDC_BUTTON_LASER_LK_H_GET_DATA,127,405,50,14
PUSHBUTTON "Begin Scan",IDC_BUTTON_SCAN_KEYENCE_LK_HLASER,202,165,50,14 PUSHBUTTON "Begin Scan",IDC_BUTTON_SCAN_KEYENCE_LK_HLASER,202,391,50,14
PUSHBUTTON "Stop Scan",IDC_BUTTON_STOP_SCAN_KEYENCE_LK_HLASER,202,184,50,14 PUSHBUTTON "Stop Scan",IDC_BUTTON_STOP_SCAN_KEYENCE_LK_HLASER,202,410,50,14
PUSHBUTTON "Get Data",IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_HLASER,202,202,50,14 PUSHBUTTON "Get Data",IDC_BUTTON_GET_SCAN_DATA_KEYENCE_LK_HLASER,202,428,50,14
GROUPBOX "LKIF.DLL",IDC_STATIC,22,53,288,83 GROUPBOX "LKIF.DLL",IDC_STATIC,22,50,712,314
GROUPBOX "LKIF2.DLL",IDC_STATIC,22,141,296,89 GROUPBOX "LKIF2.DLL",IDC_STATIC,22,367,713,89
GROUPBOX "Laser Type",IDC_STATIC,22,14,287,32 GROUPBOX "Laser Type",IDC_STATIC,22,14,708,32
EDITTEXT IDC_EDIT_TEST_KEYENCE_MESSAGE,22,239,302,73,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL EDITTEXT IDC_EDIT_TEST_KEYENCE_MESSAGE,142,190,507,166,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
PUSHBUTTON "Save as...",IDC_BUTTON_TEST_KEYENCE_SAVE_LOG,666,270,50,14
GROUPBOX "Program No. Setting",IDC_STATIC,33,60,690,118
CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,56,133,24,10
CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,223,89,24,10
CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,224,133,24,10
CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,391,89,24,10
CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,391,133,24,10
CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,559,89,24,10
CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,561,133,24,10
CONTROL "En",IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,54,89,24,10
EDITTEXT IDC_EDIT_TEST_LK_G_INTERVAL,65,229,40,14,ES_AUTOHSCROLL
LTEXT "Interval",IDC_STATIC,37,229,26,8
LTEXT "ms",IDC_STATIC,111,229,10,8
PUSHBUTTON "Clear All",IDC_BUTTON_TEST_KEYENCE_CLEAR_LOG,666,232,50,14
EDITTEXT IDC_EDIT_KEYENCE_LASER_CALIBRATE_VALUE,668,303,40,14,ES_AUTOHSCROLL | NOT WS_VISIBLE
PUSHBUTTON "Calibrate",IDC_BUTTON_KEYENCE_LASER_CALIBRATE_VALUE,666,322,50,14,NOT WS_VISIBLE
GROUPBOX "Get Data",IDC_STATIC,33,189,91,82
GROUPBOX "Calibrate",IDC_STATIC,658,288,64,76,NOT WS_VISIBLE
CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE0,"Button",BS_AUTORADIOBUTTON,117,96,37,10
GROUPBOX "Readout",IDC_STATIC,32,278,93,77
LTEXT "OUT1",IDC_STATIC,38,303,19,8
LTEXT "OUT2",IDC_STATIC,38,325,19,8
GROUPBOX "NO.0",IDC_STATIC,50,70,159,41
CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE0,"Button",BS_AUTORADIOBUTTON | WS_GROUP,117,82,39,10
CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,77,82,34,10
CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,77,95,34,10
EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE0,165,94,40,14,ES_AUTOHSCROLL
LTEXT "Calibrate",IDC_STATIC,170,82,30,8
GROUPBOX "",IDC_STATIC,161,71,48,40
CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE1,"Button",BS_AUTORADIOBUTTON,118,140,37,10
GROUPBOX "NO.1",IDC_STATIC,50,114,159,41
CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,118,125,39,10
CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,78,125,34,10
CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,78,138,34,10
EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE1,166,138,40,14,ES_AUTOHSCROLL
LTEXT "Calibrate",IDC_STATIC,170,125,30,8
CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE2,"Button",BS_AUTORADIOBUTTON,286,97,37,10
GROUPBOX "NO.2",IDC_STATIC,219,71,159,41
CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE2,"Button",BS_AUTORADIOBUTTON | WS_GROUP,286,83,39,10
CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,246,83,34,10
CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,246,96,34,10
EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE2,334,95,40,14,ES_AUTOHSCROLL
LTEXT "Calibrate",IDC_STATIC,339,83,30,8
CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE3,"Button",BS_AUTORADIOBUTTON,285,140,37,10
GROUPBOX "NO.3",IDC_STATIC,218,114,159,41
CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE3,"Button",BS_AUTORADIOBUTTON | WS_GROUP,285,126,39,10
CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,245,126,34,10
CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,245,139,34,10
EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE3,333,138,40,14,ES_AUTOHSCROLL
LTEXT "Calibrate",IDC_STATIC,338,126,30,8
CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE4,"Button",BS_AUTORADIOBUTTON,455,96,37,10
GROUPBOX "NO.4",IDC_STATIC,387,71,159,41
CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE4,"Button",BS_AUTORADIOBUTTON | WS_GROUP,455,82,39,10
CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,415,82,34,10
CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,415,95,34,10
EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE4,503,95,40,14,ES_AUTOHSCROLL
LTEXT "Calibrate",IDC_STATIC,507,82,30,8
CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE5,"Button",BS_AUTORADIOBUTTON,454,140,37,10
GROUPBOX "NO.5",IDC_STATIC,387,114,159,41
CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE5,"Button",BS_AUTORADIOBUTTON | WS_GROUP,454,126,39,10
CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,414,126,34,10
CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,414,139,34,10
EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE5,502,138,40,14,ES_AUTOHSCROLL
LTEXT "Calibrate",IDC_STATIC,507,126,30,8
CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE6,"Button",BS_AUTORADIOBUTTON,623,97,37,10
GROUPBOX "NO.6",IDC_STATIC,555,71,159,41
CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE6,"Button",BS_AUTORADIOBUTTON | WS_GROUP,623,83,39,10
CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,583,83,34,10
CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,583,95,34,10
EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE6,671,95,40,14,ES_AUTOHSCROLL
LTEXT "Calibrate",IDC_STATIC,675,83,30,8
CONTROL "Relative",IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE7,"Button",BS_AUTORADIOBUTTON,624,140,37,10
GROUPBOX "NO.7",IDC_STATIC,556,114,159,41
CONTROL "Average",IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE7,"Button",BS_AUTORADIOBUTTON | WS_GROUP,624,126,39,10
CONTROL "OUT1",IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,584,126,34,10
CONTROL "OUT2",IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,584,139,34,10
EDITTEXT IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE7,672,138,40,14,ES_AUTOHSCROLL
LTEXT "Calibrate",IDC_STATIC,676,126,30,8
PUSHBUTTON "SET",IDC_BUTTON_TEST_KEYENCE_SET_OUTPUT,666,159,50,14
GROUPBOX "",IDC_STATIC,161,114,48,40
GROUPBOX "",IDC_STATIC,330,71,48,40
GROUPBOX "",IDC_STATIC,329,114,48,40
GROUPBOX "",IDC_STATIC,498,71,48,40
GROUPBOX "",IDC_STATIC,498,114,48,40
GROUPBOX "",IDC_STATIC,666,71,48,40
GROUPBOX "",IDC_STATIC,667,114,48,40
END END
@@ -1418,9 +1587,9 @@ BEGIN
IDD_DIALOG_TEST_KEYENCE, DIALOG IDD_DIALOG_TEST_KEYENCE, DIALOG
BEGIN BEGIN
LEFTMARGIN, 7 LEFTMARGIN, 7
RIGHTMARGIN, 331 RIGHTMARGIN, 752
TOPMARGIN, 7 TOPMARGIN, 7
BOTTOMMARGIN, 337 BOTTOMMARGIN, 471
END END
END END
#endif // APSTUDIO_INVOKED #endif // APSTUDIO_INVOKED
@@ -38,6 +38,7 @@ IMPLEMENT_DYNAMIC(CSO7_Send_Parameter, CDialog)
m_StartTime=0; m_StartTime=0;
m_FinishTime=0; m_FinishTime=0;
m_duration=0.0; m_duration=0.0;
m_TimerCnt=0;
} }
//================================================================ //================================================================
CSO7_Send_Parameter::~CSO7_Send_Parameter() CSO7_Send_Parameter::~CSO7_Send_Parameter()
@@ -208,8 +209,8 @@ BOOL CSO7_Send_Parameter::OnInitDialog()
((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Y))->SetCheck(false); ((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Y))->SetCheck(false);
((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Z))->SetCheck(false); ((CButton *)GetDlgItem(IDC_RADIO_SAMPLE_Z))->SetCheck(false);
((CButton *)GetDlgItem(IDC_RADIO_CANVAS_POSTION_TIME))->SetCheck(true); ((CButton *)GetDlgItem(IDC_RADIO_CANVAS_POSTION_TIME))->SetCheck(false);
((CButton *)GetDlgItem(IDC_RADIO_CANVAS_SPEED_TIME))->SetCheck(false); ((CButton *)GetDlgItem(IDC_RADIO_CANVAS_SPEED_TIME))->SetCheck(true);
return TRUE; // return TRUE unless you set the focus to a control return TRUE; // return TRUE unless you set the focus to a control
} }
@@ -583,10 +584,25 @@ void CSO7_Send_Parameter::OnTimer(UINT_PTR nIDEvent)
m_dPos=m_pSO7_Proto->g_machine.z._d_cur_pos_; m_dPos=m_pSO7_Proto->g_machine.z._d_cur_pos_;
} }
if (m_dataGraph.ElementAt(nCount)>=-0.005 && m_dataGraph.ElementAt(nCount)<=0.005) if (m_TimerCnt<=nCount)
{ {
m_DrawGraph.LoadGraphyData(m_dataGraph);
KillTimer(1); KillTimer(1);
INT_PTR nTmpCount = m_dataGraph.GetCount();
double dbData(0.0);
m_dbEndY=dbData;
m_dbStartY=dbData;
for(int i=0; i<nTmpCount; i++)
{
dbData = m_dataGraph.ElementAt(i);
if(dbData>m_dbEndY)
m_dbEndY=dbData;
if(dbData<m_dbStartY)
m_dbStartY=dbData;
}
m_dbResolutionY=static_cast<double>(1/(m_dbEndY-m_dbStartY));
m_DrawGraph.SetGraphyView(m_dbStartX,m_dbEndX,m_dbStartY,m_dbEndY,m_nDivisionX,m_nDivisionY);
m_DrawGraph.SetResolution(m_dbResolutionX,m_dbResolutionY);
m_DrawGraph.LoadGraphyData(m_dataGraph);
} }
} }
@@ -627,6 +643,11 @@ void CSO7_Send_Parameter::OnEnKillfocusEditSampleTimeScurve()
const char* cTempValue=T2A(str); const char* cTempValue=T2A(str);
m_SampleTime = atof(cTempValue); m_SampleTime = atof(cTempValue);
m_dbStartX=0;
m_dbEndX=m_SampleTime;
m_dbResolutionX=static_cast<double>(m_TimerInterval/(m_dbEndX*1000.0));//每一次采样所需时间对应X坐标的长度
m_DrawGraph.SetResolution(m_dbResolutionX,m_dbResolutionY);
m_DrawGraph.SetGraphyView(m_dbStartX,m_dbEndX,m_dbStartY,m_dbEndY,m_nDivisionX,m_nDivisionY,TRUE);
} }
//================================================================================================ //================================================================================================
@@ -655,19 +676,19 @@ void CSO7_Send_Parameter::OnBnClickedButtonStartSampleScurve()
m_dbEndX=m_SampleTime; m_dbEndX=m_SampleTime;
if(((CButton *)GetDlgItem(IDC_RADIO_CANVAS_POSTION_TIME))->GetCheck()) if(((CButton *)GetDlgItem(IDC_RADIO_CANVAS_POSTION_TIME))->GetCheck())
{ {
m_dbStartY=0; // m_dbStartY=0;
m_dbEndY=50; // m_dbEndY=50;
m_dbResolutionX=static_cast<double>(m_TimerInterval/(m_dbEndX*1000.0));//每一次采样所需时间对应X坐标的长度 m_dbResolutionX=static_cast<double>(m_TimerInterval/(m_dbEndX*1000.0));//每一次采样所需时间对应X坐标的长度
m_dbResolutionY=static_cast<double>(1/m_dbEndY); // m_dbResolutionY=static_cast<double>(1/m_dbEndY);
m_nDivisionX=10; m_nDivisionX=10;
m_nDivisionY=10; m_nDivisionY=10;
} }
else else
{ {
m_dbStartY=0; //m_dbStartY=0;
m_dbEndY=50; //m_dbEndY=50;
m_dbResolutionX=static_cast<double>(m_TimerInterval/(m_dbEndX*1000.0));//每一次采样所需时间对应X坐标的长度 m_dbResolutionX=static_cast<double>(m_TimerInterval/(m_dbEndX*1000.0));//每一次采样所需时间对应X坐标的长度
m_dbResolutionY=static_cast<double>(1/m_dbEndY); //m_dbResolutionY=static_cast<double>(1/m_dbEndY);
m_nDivisionX=10; m_nDivisionX=10;
m_nDivisionY=10; m_nDivisionY=10;
} }
@@ -677,6 +698,7 @@ void CSO7_Send_Parameter::OnBnClickedButtonStartSampleScurve()
m_dataGraph.RemoveAll(); m_dataGraph.RemoveAll();
m_DrawGraph.SetGraphyView(m_dbStartX,m_dbEndX,m_dbStartY,m_dbEndY,m_nDivisionX,m_nDivisionY); m_DrawGraph.SetGraphyView(m_dbStartX,m_dbEndX,m_dbStartY,m_dbEndY,m_nDivisionX,m_nDivisionY);
m_DrawGraph.SetResolution(m_dbResolutionX,m_dbResolutionY); m_DrawGraph.SetResolution(m_dbResolutionX,m_dbResolutionY);
m_TimerCnt=static_cast<int>((m_SampleTime*1000)/m_TimerInterval);
m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ); m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ);
SetTimer(1,m_TimerInterval,NULL); SetTimer(1,m_TimerInterval,NULL);
m_StartTime=clock(); m_StartTime=clock();
@@ -685,7 +707,7 @@ void CSO7_Send_Parameter::OnBnClickedButtonStartSampleScurve()
//================================================================================================ //================================================================================================
void CSO7_Send_Parameter::OnBnClickedButtonStopSampleScurve() void CSO7_Send_Parameter::OnBnClickedButtonStopSampleScurve()
{ {
KillTimer(1); m_TimerCnt=0;
} }
//================================================================================================ //================================================================================================
@@ -40,6 +40,7 @@ public:
int m_TimerInterval; int m_TimerInterval;
double m_dbResolutionX,m_dbResolutionY; double m_dbResolutionX,m_dbResolutionY;
CRect CanvasRect; CRect CanvasRect;
int m_TimerCnt;
public: public:
CString m_csBaseSpeedX[5]; CString m_csBaseSpeedX[5];
CString m_csMaxSpeedX[5]; CString m_csMaxSpeedX[5];
@@ -13,8 +13,9 @@
#include "SO7_VolComp.h" #include "SO7_VolComp.h"
#include "SO7_UtilDlg.h" #include "SO7_UtilDlg.h"
// CSO7_UtilDlg 对话框 // CSO7_UtilDlg 对话框
extern CSerial* m_pSO7_Serial;
extern CSO7_Proto* m_pSO7_Proto; extern CSO7_Proto* m_pSO7_Proto;
CSerial* m_pSO7_Serial=NULL;
CLogger* g_pLoggerDebug=NULL; CLogger* g_pLoggerDebug=NULL;
CSO7_VolComp* g_pVolComp=NULL; CSO7_VolComp* g_pVolComp=NULL;
@@ -0,0 +1,207 @@
// So7_Manual_Machine.cpp : implementation file
//
#include "stdafx.h"
#include "resource.h"
#include "..\..\..\SevenOcean\CMMIO_SERIAL.H"
#include "So7_Manual_Machine.h"
#include "afxdialogex.h"
extern CSerial* m_pSO7_Serial;
// CSo7_Manual_Machine dialog
IMPLEMENT_DYNAMIC(CSo7_Manual_Machine, CDialog)
CSo7_Manual_Machine::CSo7_Manual_Machine(CWnd* pParent /*=NULL*/)
: CDialog(CSo7_Manual_Machine::IDD, pParent)
{
}
CSo7_Manual_Machine::~CSo7_Manual_Machine()
{
}
void CSo7_Manual_Machine::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CSo7_Manual_Machine, CDialog)
ON_BN_CLICKED(IDC_BUTTON_SO7_MANUAL_MACHINE_START_MACHINE, &CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineStartMachine)
ON_BN_CLICKED(IDC_BUTTON_SO7_MANUAL_MACHINE_STOP_MACHINE, &CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineStopMachine)
ON_BN_CLICKED(IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD1, &CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd1)
ON_BN_CLICKED(IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD2, &CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd2)
ON_BN_CLICKED(IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD3, &CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd3)
ON_BN_CLICKED(IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_HEX, &CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineSendDataTypeHex)
ON_BN_CLICKED(IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_ANSCII, &CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineSendDataTypeAnscii)
ON_BN_CLICKED(IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA, &CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineSendData)
ON_EN_KILLFOCUS(IDC_EDIT_X_SCALE_COEFFICIENT, &CSo7_Manual_Machine::OnEnKillfocusEditXScaleCoefficient)
ON_EN_KILLFOCUS(IDC_EDIT_Y_SCALE_COEFFICIENT, &CSo7_Manual_Machine::OnEnKillfocusEditYScaleCoefficient)
ON_EN_KILLFOCUS(IDC_EDIT_Z_SCALE_COEFFICIENT, &CSo7_Manual_Machine::OnEnKillfocusEditZScaleCoefficient)
ON_BN_CLICKED(IDC_BUTTON_SO7_MANUAL_MACHINE_CLEAR_MSG, &CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineClearMsg)
ON_BN_CLICKED(IDC_BUTTON_SO7_MANUAL_MACHINE_SAVE_MSG, &CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineSaveMsg)
ON_BN_CLICKED(IDCANCEL, &CSo7_Manual_Machine::OnBnClickedCancel)
END_MESSAGE_MAP()
// CSo7_Manual_Machine message handlers
//===================================================
BOOL CSo7_Manual_Machine::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
BOOL bNameValid;
CString strAboutMenu;
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
ASSERT(bNameValid);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
((CButton *)GetDlgItem(IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_HEX))->SetCheck(TRUE);
((CButton *)GetDlgItem(IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_ANSCII))->SetCheck(FALSE);
//===============================================================================
// 创建状态栏
m_StatusBar.Create(WS_CHILD|WS_VISIBLE|SBS_SIZEGRIP, CRect(0, 0, 0, 0), this, 101);
m_StatusBar.SetBkColor(RGB(0xff, 0xff, 0x00));
int arWidth[] = {330,450, -1 };
m_StatusBar.SetParts(3, arWidth);
m_StatusBar.SetText(_T("System ready."), 0, 0);
GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA)->EnableWindow(FALSE);
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
}
//===================================================
void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineStartMachine()
{
if (m_pSO7_Serial)
{
CString Param,Params;
int Port;
int Baud;
char Parity;
int Bits;
int StopBits;
int HandShake;
m_pSO7_Serial->GetPortData(&Port,&Baud,&Parity,&Bits,&StopBits,&HandShake);
Params.Format( TEXT("[COM%d]"), Port );
Param.Format( TEXT(" Baud=%d"), Baud );
Params += Param;
Param.Format( TEXT(" Parity=%c"), Parity );
Params += Param;
Param.Format( TEXT(" Data=%d"), Bits );
Params += Param;
Param.Format( TEXT(" Stop=%d"), StopBits );
Params += Param;
m_StatusBar.SetText(Params, 0, 0);
if(m_pSO7_Serial->Open())
{
m_StatusBar.SetText(_T("成功打开串口"), 1, 0);
GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA)->EnableWindow(TRUE);
}
else
{
m_StatusBar.SetText(_T("串口被占用"), 1, 0);
GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA)->EnableWindow(FALSE);
}
}
}
//===================================================
void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineStopMachine()
{
GetDlgItem(IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA)->EnableWindow(TRUE);
}
//===================================================
void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd1()
{
// TODO: Add your control notification handler code here
}
//===================================================
void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd2()
{
// TODO: Add your control notification handler code here
}
//===================================================
void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineCommonCmd3()
{
// TODO: Add your control notification handler code here
}
//===================================================
void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineSendDataTypeHex()
{
// TODO: Add your control notification handler code here
}
//===================================================
void CSo7_Manual_Machine::OnBnClickedRadioSo7ManualMachineSendDataTypeAnscii()
{
// TODO: Add your control notification handler code here
}
//===================================================
void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineSendData()
{
// TODO: Add your control notification handler code here
}
//===================================================
void CSo7_Manual_Machine::OnEnKillfocusEditXScaleCoefficient()
{
// TODO: Add your control notification handler code here
}
//===================================================
void CSo7_Manual_Machine::OnEnKillfocusEditYScaleCoefficient()
{
// TODO: Add your control notification handler code here
}
//===================================================
void CSo7_Manual_Machine::OnEnKillfocusEditZScaleCoefficient()
{
// TODO: Add your control notification handler code here
}
//===================================================
void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineClearMsg()
{
// TODO: Add your control notification handler code here
}
//===================================================
void CSo7_Manual_Machine::OnBnClickedButtonSo7ManualMachineSaveMsg()
{
// TODO: Add your control notification handler code here
}
//===================================================
void CSo7_Manual_Machine::OnBnClickedCancel()
{
OnBnClickedButtonSo7ManualMachineStopMachine();
CDialog::OnCancel();
}
@@ -0,0 +1,39 @@
#pragma once
// CSo7_Manual_Machine dialog
class CSo7_Manual_Machine : public CDialog
{
DECLARE_DYNAMIC(CSo7_Manual_Machine)
public:
CSo7_Manual_Machine(CWnd* pParent = NULL); // standard constructor
virtual ~CSo7_Manual_Machine();
// Dialog Data
enum { IDD = IDD_SO7_UTIL_MANUAL_MACHINE };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual BOOL OnInitDialog();
DECLARE_MESSAGE_MAP()
protected:
CStatusBarCtrl m_StatusBar;
CEdit m_edit_Log;
public:
afx_msg void OnBnClickedButtonSo7ManualMachineStartMachine();
afx_msg void OnBnClickedButtonSo7ManualMachineStopMachine();
afx_msg void OnBnClickedRadioSo7ManualMachineCommonCmd1();
afx_msg void OnBnClickedRadioSo7ManualMachineCommonCmd2();
afx_msg void OnBnClickedRadioSo7ManualMachineCommonCmd3();
afx_msg void OnBnClickedRadioSo7ManualMachineSendDataTypeHex();
afx_msg void OnBnClickedRadioSo7ManualMachineSendDataTypeAnscii();
afx_msg void OnBnClickedButtonSo7ManualMachineSendData();
afx_msg void OnEnKillfocusEditXScaleCoefficient();
afx_msg void OnEnKillfocusEditYScaleCoefficient();
afx_msg void OnEnKillfocusEditZScaleCoefficient();
afx_msg void OnBnClickedButtonSo7ManualMachineClearMsg();
afx_msg void OnBnClickedButtonSo7ManualMachineSaveMsg();
afx_msg void OnBnClickedCancel();
};
@@ -3,6 +3,9 @@
#include "stdafx.h" #include "stdafx.h"
#include "resource.h" #include "resource.h"
#include "..\..\..\SevenOcean\CMMIO_SERIAL.H"
#include "..\..\..\SevenOcean\SO7_Proto.h" #include "..\..\..\SevenOcean\SO7_Proto.h"
#include "ProcessButton.h" #include "ProcessButton.h"
@@ -29,6 +32,8 @@
#include "afxdialogex.h" #include "afxdialogex.h"
#include "So7_Option.h" #include "So7_Option.h"
CSerial* m_pSO7_Serial=NULL;
CSO7_Proto* m_pSO7_Proto=NULL; CSO7_Proto* m_pSO7_Proto=NULL;
CKeyence_Laser* m_pKeyence_Laser=NULL; CKeyence_Laser* m_pKeyence_Laser=NULL;
CKeyence_Laser_LK_H* m_pKeyence_Laser_LK_H=NULL; CKeyence_Laser_LK_H* m_pKeyence_Laser_LK_H=NULL;
@@ -92,6 +97,8 @@ BOOL CSo7_Option::OnInitDialog()
((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_SV2000E))->SetCheck(FALSE); ((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_SV2000E))->SetCheck(FALSE);
((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_TC4000))->SetCheck(FALSE); ((CButton *)GetDlgItem(IDC_RADIO_VIDEOCARD_TC4000))->SetCheck(FALSE);
((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER))->SetCheck(TRUE); ((CButton *)GetDlgItem(IDC_RADIO_KEYENCE_LASER))->SetCheck(TRUE);
((CButton *)GetDlgItem(IDC_RADIO_SO7_IP_CAMERA))->SetCheck(FALSE);
((CButton *)GetDlgItem(IDC_RADIO__SO7_RS232))->SetCheck(FALSE);
return TRUE; // return TRUE unless you set the focus to a control return TRUE; // return TRUE unless you set the focus to a control
} }
@@ -34,6 +34,7 @@ BEGIN_MESSAGE_MAP(CSo7_Util_ImageDll, CDialog)
ON_BN_CLICKED(IDC_BUTTON_IMAGEDLL_STOP_SCAN_LASER, &CSo7_Util_ImageDll::OnBnClickedButtonImagedllStopScanLaser) ON_BN_CLICKED(IDC_BUTTON_IMAGEDLL_STOP_SCAN_LASER, &CSo7_Util_ImageDll::OnBnClickedButtonImagedllStopScanLaser)
ON_BN_CLICKED(IDC_BUTTON_IMAGEDLL_GET_SCAN_LASER_DATA, &CSo7_Util_ImageDll::OnBnClickedButtonImagedllGetScanLaserData) ON_BN_CLICKED(IDC_BUTTON_IMAGEDLL_GET_SCAN_LASER_DATA, &CSo7_Util_ImageDll::OnBnClickedButtonImagedllGetScanLaserData)
ON_BN_CLICKED(IDC_BUTTON_IMAGEDLL_PAUSE_AND_GET_SCAN_LASER_DATA, &CSo7_Util_ImageDll::OnBnClickedButtonImagedllPauseAndGetScanLaserData) ON_BN_CLICKED(IDC_BUTTON_IMAGEDLL_PAUSE_AND_GET_SCAN_LASER_DATA, &CSo7_Util_ImageDll::OnBnClickedButtonImagedllPauseAndGetScanLaserData)
ON_BN_CLICKED(IDC_BUTTON_IMAGEDLL_2LASER_CALCULATE, &CSo7_Util_ImageDll::OnBnClickedButtonImagedll2laserCalculate)
END_MESSAGE_MAP() END_MESSAGE_MAP()
@@ -93,3 +94,85 @@ void CSo7_Util_ImageDll::OnBnClickedButtonImagedllPauseAndGetScanLaserData()
{ {
m_pSo7_Interface->PauseScanAndGetData(); m_pSo7_Interface->PauseScanAndGetData();
} }
//======================================================
void CSo7_Util_ImageDll::OnBnClickedButtonImagedll2laserCalculate()
{
CString str;
UpdateData(TRUE);
USES_CONVERSION;
MY3DPoint Top_Pos[4];
MY3DPoint Bottom_Pos[4];
double error[MAX_POINT]={0.0};
double dis=0.0;
int m_nStep=4;
double coe[4]={0.0};
GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_X1)->GetWindowText(str);
const char* cTempValue=T2A(str);
Top_Pos[0].x=atof(cTempValue);
Bottom_Pos[0].x=atof(cTempValue);
GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_Y1)->GetWindowText(str);
cTempValue=T2A(str);
Top_Pos[0].y=atof(cTempValue);
Bottom_Pos[0].y=atof(cTempValue);
GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_TOPZ1)->GetWindowText(str);
cTempValue=T2A(str);
Top_Pos[0].z=atof(cTempValue);
GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ1)->GetWindowText(str);
cTempValue=T2A(str);
Bottom_Pos[0].z=atof(cTempValue);
GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_X2)->GetWindowText(str);
cTempValue=T2A(str);
Top_Pos[1].x=atof(cTempValue);
Bottom_Pos[1].x=atof(cTempValue);
GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_Y2)->GetWindowText(str);
cTempValue=T2A(str);
Top_Pos[1].y=atof(cTempValue);
Bottom_Pos[1].y=atof(cTempValue);
GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_TOPZ2)->GetWindowText(str);
cTempValue=T2A(str);
Top_Pos[1].z=atof(cTempValue);
GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ2)->GetWindowText(str);
cTempValue=T2A(str);
Bottom_Pos[1].x=atof(cTempValue);
GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_X3)->GetWindowText(str);
cTempValue=T2A(str);
Top_Pos[2].x=atof(cTempValue);
Bottom_Pos[2].x=atof(cTempValue);
Top_Pos[3].x=atof(cTempValue);
Bottom_Pos[3].x=atof(cTempValue);
GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_Y3)->GetWindowText(str);
cTempValue=T2A(str);
Top_Pos[2].y=atof(cTempValue);
Bottom_Pos[2].y=atof(cTempValue);
Top_Pos[3].y=atof(cTempValue);
Bottom_Pos[3].y=atof(cTempValue);
GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_TOPZ3)->GetWindowText(str);
cTempValue=T2A(str);
Top_Pos[2].z=atof(cTempValue);
Top_Pos[3].z=atof(cTempValue);
GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ3)->GetWindowText(str);
cTempValue=T2A(str);
Bottom_Pos[2].z=atof(cTempValue);
Bottom_Pos[3].z=atof(cTempValue);
GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_STANDARD_VALUE)->GetWindowText(str);
cTempValue=T2A(str);
m_pSo7_Interface->Pro_Face_Du(Top_Pos,m_nStep,coe,error,dis);
m_pSo7_Interface->Pro_Face_Du(Bottom_Pos,m_nStep,coe,error,dis);
}
@@ -23,4 +23,5 @@ public:
afx_msg void OnBnClickedButtonImagedllStopScanLaser(); afx_msg void OnBnClickedButtonImagedllStopScanLaser();
afx_msg void OnBnClickedButtonImagedllGetScanLaserData(); afx_msg void OnBnClickedButtonImagedllGetScanLaserData();
afx_msg void OnBnClickedButtonImagedllPauseAndGetScanLaserData(); afx_msg void OnBnClickedButtonImagedllPauseAndGetScanLaserData();
afx_msg void OnBnClickedButtonImagedll2laserCalculate();
}; };
@@ -235,6 +235,7 @@
<ClCompile Include="ProcessButton.cpp" /> <ClCompile Include="ProcessButton.cpp" />
<ClCompile Include="Setup_so7config.cpp" /> <ClCompile Include="Setup_so7config.cpp" />
<ClCompile Include="SO7_Automatic_Zoom.cpp" /> <ClCompile Include="SO7_Automatic_Zoom.cpp" />
<ClCompile Include="So7_Manual_Machine.cpp" />
<ClCompile Include="SO7_Move_Location.cpp" /> <ClCompile Include="SO7_Move_Location.cpp" />
<ClCompile Include="So7_Option.cpp" /> <ClCompile Include="So7_Option.cpp" />
<ClCompile Include="SO7_Send_Parameter.cpp" /> <ClCompile Include="SO7_Send_Parameter.cpp" />
@@ -288,6 +289,7 @@
<ClInclude Include="Resource.h" /> <ClInclude Include="Resource.h" />
<ClInclude Include="Setup_so7config.h" /> <ClInclude Include="Setup_so7config.h" />
<ClInclude Include="SO7_Automatic_Zoom.h" /> <ClInclude Include="SO7_Automatic_Zoom.h" />
<ClInclude Include="So7_Manual_Machine.h" />
<ClInclude Include="SO7_Move_Location.h" /> <ClInclude Include="SO7_Move_Location.h" />
<ClInclude Include="So7_Option.h" /> <ClInclude Include="So7_Option.h" />
<ClInclude Include="SO7_Send_Parameter.h" /> <ClInclude Include="SO7_Send_Parameter.h" />
@@ -118,6 +118,9 @@
<ClCompile Include="Videocard_TC4000.cpp"> <ClCompile Include="Videocard_TC4000.cpp">
<Filter>Sources Files</Filter> <Filter>Sources Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="So7_Manual_Machine.cpp">
<Filter>Sources Files</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="CaptureDataDlg.h"> <ClInclude Include="CaptureDataDlg.h">
@@ -267,6 +270,9 @@
<ClInclude Include="Videocard_TC4000.h"> <ClInclude Include="Videocard_TC4000.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="So7_Manual_Machine.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="ReadMe.txt" /> <None Include="ReadMe.txt" />
@@ -19,6 +19,8 @@ static const long SharpnessDefault = 4;
static BYTE g_DataBuffer[640*480*2]; static BYTE g_DataBuffer[640*480*2];
static BYTE g_DataBuffer_NAV[640*480*2]; static BYTE g_DataBuffer_NAV[640*480*2];
device_handle CVideocard_SV2000E::m_device=NULL;
device_handle CVideocard_SV2000E::m_device_Nav=NULL;
// CVideocard_SV2000E dialog // CVideocard_SV2000E dialog
IMPLEMENT_DYNAMIC(CVideocard_SV2000E, CDialog) IMPLEMENT_DYNAMIC(CVideocard_SV2000E, CDialog)
@@ -26,7 +28,6 @@ IMPLEMENT_DYNAMIC(CVideocard_SV2000E, CDialog)
CVideocard_SV2000E::CVideocard_SV2000E(CWnd* pParent /*=NULL*/) CVideocard_SV2000E::CVideocard_SV2000E(CWnd* pParent /*=NULL*/)
: CDialog(CVideocard_SV2000E::IDD, pParent) : CDialog(CVideocard_SV2000E::IDD, pParent)
{ {
m_device=NULL;
m_dwCard=0; m_dwCard=0;
m_nDevNum=0; m_nDevNum=0;
m_bMirror=FALSE; m_bMirror=FALSE;
@@ -55,6 +56,7 @@ BEGIN_MESSAGE_MAP(CVideocard_SV2000E, CDialog)
ON_BN_CLICKED(IDC_RADIO_SV2000E_CHANNEL1, &CVideocard_SV2000E::OnBnClickedRadioSv2000eChannel1) ON_BN_CLICKED(IDC_RADIO_SV2000E_CHANNEL1, &CVideocard_SV2000E::OnBnClickedRadioSv2000eChannel1)
ON_BN_CLICKED(IDC_RADIO_SV2000E_CHANNEL2, &CVideocard_SV2000E::OnBnClickedRadioSv2000eChannel2) ON_BN_CLICKED(IDC_RADIO_SV2000E_CHANNEL2, &CVideocard_SV2000E::OnBnClickedRadioSv2000eChannel2)
ON_CBN_SELCHANGE(IDC_COMBO_SV2000E_SELECT_DEV_NUMBER, &CVideocard_SV2000E::OnCbnSelchangeComboSv2000eSelectDevNumber) ON_CBN_SELCHANGE(IDC_COMBO_SV2000E_SELECT_DEV_NUMBER, &CVideocard_SV2000E::OnCbnSelchangeComboSv2000eSelectDevNumber)
ON_EN_KILLFOCUS(IDC_EDITTC4000_SET_DEINTERLACE, &CVideocard_SV2000E::OnEnKillfocusEdittc4000SetDeinterlace)
END_MESSAGE_MAP() END_MESSAGE_MAP()
@@ -267,7 +269,7 @@ void CVideocard_SV2000E::OpenDevice(unsigned int _DevNo,device_handle &_OpenedDe
m_status=DXSetVideoSource(_OpenedDevice, m_Channel); m_status=DXSetVideoSource(_OpenedDevice, m_Channel);
//==============================Ïû³ý¸ôÐÐ========================================= //==============================Ïû³ý¸ôÐÐ=========================================
m_status=DXSetVideoPara(_OpenedDevice,standard,colorspace,width,height,framerate); //m_status=DXSetVideoPara(_OpenedDevice,standard,colorspace,width,height,framerate);
//================================================================================ //================================================================================
m_status=DXSetDisplayPara( _OpenedDevice, BRIGHTNESS, 5000,2); m_status=DXSetDisplayPara( _OpenedDevice, BRIGHTNESS, 5000,2);
m_status=DXSetDisplayPara( _OpenedDevice, SATURATION, 5000,2); m_status=DXSetDisplayPara( _OpenedDevice, SATURATION, 5000,2);
@@ -304,6 +306,30 @@ BOOL CVideocard_SV2000E::UnloadVideocard(device_handle _Device)
return TRUE; return TRUE;
} }
//================================================================ //================================================================
void CVideocard_SV2000E::OnEnKillfocusEdittc4000SetDeinterlace()
{
CString StrTmp;
((CEdit*)GetDlgItem(IDC_EDITTC4000_SET_DEINTERLACE))->GetWindowText(StrTmp);
USES_CONVERSION;
const char* cTemp;
cTemp=T2A(StrTmp);
unsigned int iDein=atoi(cTemp);
if (m_OpenDevNo==0)
{
m_status=DXEnableDeinterlace(m_device,iDein);
}
else if (m_OpenDevNo==1)
{
m_status=DXEnableDeinterlace(m_device_Nav,iDein);
}
else if(m_OpenDevNo==2)
{
m_status=DXEnableDeinterlace(m_device,iDein);
m_status=DXEnableDeinterlace(m_device_Nav,iDein);
}
}
//================================================================
void CVideocard_SV2000E::ConvertVideoSubType(const Image_Buffer& _ImageBuffer, BYTE *_pSrcData,ConvertColorType _type,BOOL _bMirror) void CVideocard_SV2000E::ConvertVideoSubType(const Image_Buffer& _ImageBuffer, BYTE *_pSrcData,ConvertColorType _type,BOOL _bMirror)
{ {
int x=0; int x=0;
@@ -593,5 +619,3 @@ unsigned CALLBACK SVAPrcVidCapCallBackNav(unsigned char* buffer, unsigned colorS
}; };
@@ -31,8 +31,8 @@ public:
afx_msg void OnBnClickedOk(); afx_msg void OnBnClickedOk();
protected: protected:
unsigned int m_status; unsigned int m_status;
device_handle m_device; static device_handle m_device;
device_handle m_device_Nav; static device_handle m_device_Nav;
int m_nDevNum; int m_nDevNum;
DWORD m_dwCard; DWORD m_dwCard;
@@ -56,4 +56,5 @@ public:
afx_msg void OnBnClickedRadioSv2000eChannel1(); afx_msg void OnBnClickedRadioSv2000eChannel1();
afx_msg void OnBnClickedRadioSv2000eChannel2(); afx_msg void OnBnClickedRadioSv2000eChannel2();
afx_msg void OnCbnSelchangeComboSv2000eSelectDevNumber(); afx_msg void OnCbnSelchangeComboSv2000eSelectDevNumber();
afx_msg void OnEnKillfocusEdittc4000SetDeinterlace();
}; };
@@ -42,6 +42,7 @@
#define IDD_SO7_UTIL_SETUP_CONFIGURE 164 #define IDD_SO7_UTIL_SETUP_CONFIGURE 164
#define IDD_SO7_UTIL_IMAGE_DLL 165 #define IDD_SO7_UTIL_IMAGE_DLL 165
#define IDD_SO7_VIDEOCARD_TC4000 166 #define IDD_SO7_VIDEOCARD_TC4000 166
#define IDD_SO7_UTIL_MANUAL_MACHINE 167
#define IDC_BUTTON_INIT_MVUSB 1001 #define IDC_BUTTON_INIT_MVUSB 1001
#define IDC_BUTTON_START_MACHINE 1002 #define IDC_BUTTON_START_MACHINE 1002
#define IDC_BUTTON_START_POLL_58 1004 #define IDC_BUTTON_START_POLL_58 1004
@@ -340,8 +341,11 @@
#define IDC_EDIT_REPRETEST 1274 #define IDC_EDIT_REPRETEST 1274
#define IDC_EDIT_FRESHSPEED_X1 1274 #define IDC_EDIT_FRESHSPEED_X1 1274
#define IDC_EDIT_SO7CONFIG_ZOOM_FASTSPEED 1274 #define IDC_EDIT_SO7CONFIG_ZOOM_FASTSPEED 1274
#define IDC_EDIT_IMAGEDLL_2LASER_TOPZ1 1274
#define IDC_EDIT_FRESHSPEED_X2 1275 #define IDC_EDIT_FRESHSPEED_X2 1275
#define IDC_EDIT_IMAGEDLL_2LASER_TOPZ2 1275
#define IDC_EDIT_FRESHSPEED_X3 1276 #define IDC_EDIT_FRESHSPEED_X3 1276
#define IDC_EDIT_IMAGEDLL_2LASER_TOPZ3 1276
#define IDC_BUTTON_ZERO_SET 1277 #define IDC_BUTTON_ZERO_SET 1277
#define IDC_EDIT_FRESHSPEED_X4 1277 #define IDC_EDIT_FRESHSPEED_X4 1277
#define IDC_EDIT_SAVE_INI_FILE 1278 #define IDC_EDIT_SAVE_INI_FILE 1278
@@ -472,16 +476,24 @@
#define IDC_CHECK2 1394 #define IDC_CHECK2 1394
#define IDC_CHECK_REVERSE 1394 #define IDC_CHECK_REVERSE 1394
#define IDC_CHECK_AUTOZOOM_CONTINUE_READ 1394 #define IDC_CHECK_AUTOZOOM_CONTINUE_READ 1394
#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM1 1394
#define IDC_BUTTON_MANUAL_HOME 1395 #define IDC_BUTTON_MANUAL_HOME 1395
#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM2 1395
#define IDC_CHECK_ 1396 #define IDC_CHECK_ 1396
#define IDC_CHECK_REPETEST_VOLCOMP 1396 #define IDC_CHECK_REPETEST_VOLCOMP 1396
#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM3 1396
#define IDC_BUTTON_CALIBRATE_ENCODER 1397 #define IDC_BUTTON_CALIBRATE_ENCODER 1397
#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM4 1397
#define IDC_COMBOREPETEST_FROM 1398 #define IDC_COMBOREPETEST_FROM 1398
#define IDC_COMBO_REPETEST_FROM 1398 #define IDC_COMBO_REPETEST_FROM 1398
#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM5 1398
#define IDC_COMBO_REPETEST_TO 1399 #define IDC_COMBO_REPETEST_TO 1399
#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM6 1399
#define IDC_BUTTON_REPETEST_BEGIN 1400 #define IDC_BUTTON_REPETEST_BEGIN 1400
#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM7 1400
#define IDC_EDIT_ZOOM_REPE_TIME 1401 #define IDC_EDIT_ZOOM_REPE_TIME 1401
#define IDC_CHECK_REPETESTV 1402 #define IDC_CHECK_REPETESTV 1402
#define IDC_CHECK_TEST_KEYENCE_LK_G_PROGRAM0 1402
#define IDC_RADIO_MACHINE_ANIMATICS 1403 #define IDC_RADIO_MACHINE_ANIMATICS 1403
#define IDC_BUTTON_POS_SET_ZERO 1406 #define IDC_BUTTON_POS_SET_ZERO 1406
#define IDC_EDIT_ANIMATICS_CMD 1408 #define IDC_EDIT_ANIMATICS_CMD 1408
@@ -606,6 +618,7 @@
#define IDC_BUTTON_SETUP_SO7CONFIG 1518 #define IDC_BUTTON_SETUP_SO7CONFIG 1518
#define IDC_BUTTON_SCAN_KEYENCE_LK_GLASER 1518 #define IDC_BUTTON_SCAN_KEYENCE_LK_GLASER 1518
#define IDC_BUTTON_IMAGEDLL_START_SCAN_LASER 1518 #define IDC_BUTTON_IMAGEDLL_START_SCAN_LASER 1518
#define IDC_BUTTON_SO7_MANUAL_MACHINE_START_MACHINE 1518
#define IDC_STATIC_CANVAS 1519 #define IDC_STATIC_CANVAS 1519
#define IDC_BUTTON_SCAN_KEYENCE_LK_HLASER 1519 #define IDC_BUTTON_SCAN_KEYENCE_LK_HLASER 1519
#define IDC_BUTTON_STATUS_OVERHEAT_X 1520 #define IDC_BUTTON_STATUS_OVERHEAT_X 1520
@@ -620,6 +633,7 @@
#define IDC_BTN_CONFIGURE_MOVEVOUT 1524 #define IDC_BTN_CONFIGURE_MOVEVOUT 1524
#define IDC_BUTTON_STOP_SCAN_KEYENCE_LK_GLASER 1524 #define IDC_BUTTON_STOP_SCAN_KEYENCE_LK_GLASER 1524
#define IDC_BUTTON_IMAGEDLL_GET_SCAN_LASER_DATA 1524 #define IDC_BUTTON_IMAGEDLL_GET_SCAN_LASER_DATA 1524
#define IDC_BUTTON_SO7_MANUAL_MACHINE_STOP_MACHINE 1524
#define IDC_CUSTOM1 1525 #define IDC_CUSTOM1 1525
#define IDC_CUSTOM_CANVAS 1525 #define IDC_CUSTOM_CANVAS 1525
#define IDC_BUTTON_STOP_SCAN_KEYENCE_LK_HLASER 1525 #define IDC_BUTTON_STOP_SCAN_KEYENCE_LK_HLASER 1525
@@ -658,6 +672,8 @@
#define IDC_RADIO_TEST_IMAGE_DLL 1560 #define IDC_RADIO_TEST_IMAGE_DLL 1560
#define IDC_BUTTON3 1562 #define IDC_BUTTON3 1562
#define IDC_BUTTON_IMAGEDLL_PAUSE_AND_GET_SCAN_LASER_DATA 1562 #define IDC_BUTTON_IMAGEDLL_PAUSE_AND_GET_SCAN_LASER_DATA 1562
#define IDC_BUTTON_TEST_KEYENCE_SAVE_LOG 1562
#define IDC_BUTTON_SO7_MANUAL_MACHINE_SEND_DATA 1562
#define IDC_BUTTON_IMAGEDLL_STOP_SCAN_LASER 1563 #define IDC_BUTTON_IMAGEDLL_STOP_SCAN_LASER 1563
#define IDC_STATIC_TC4000_PICTURE 1564 #define IDC_STATIC_TC4000_PICTURE 1564
#define IDC_RADIO_SO7_IP_CAMERA 1565 #define IDC_RADIO_SO7_IP_CAMERA 1565
@@ -669,14 +685,84 @@
#define IDC_RADIO_SV2000E_CHANNEL2 1571 #define IDC_RADIO_SV2000E_CHANNEL2 1571
#define IDC_COMBO_SV200E 1573 #define IDC_COMBO_SV200E 1573
#define IDC_COMBO_SV2000E_SELECT_DEV_NUMBER 1573 #define IDC_COMBO_SV2000E_SELECT_DEV_NUMBER 1573
#define IDC_EDITTC4000_SET_DEINTERLACE 1574
#define IDC_EDIT_IMAGEDLL_2LASER_Y1 1575
#define IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ1 1576
#define IDC_EDIT_IMAGEDLL_2LASER_STANDARD_VALUE 1577
#define IDC_EDIT_IMAGEDLL_2LASER_MEASURED_VALUE 1578
#define IDC_EDIT_IMAGEDLL_2LASER_X1 1579
#define IDC_EDIT_IMAGEDLL_2LASER_X2 1580
#define IDC_EDIT_IMAGEDLL_2LASER_Y2 1581
#define IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ2 1582
#define IDC_EDIT_IMAGEDLL_2LASER_X3 1583
#define IDC_EDIT_IMAGEDLL_2LASER_Y3 1584
#define IDC_EDIT_IMAGEDLL_2LASER_BOTTOMZ3 1585
#define IDC_BUTTON_IMAGEDLL_2LASER_CALCULATE 1586
#define IDC_EDIT_IMAGEDLL_2LASER_XSHIFT 1587
#define IDC_EDIT_IMAGEDLL_2LASER_YSHIFT 1588
#define IDC_EDIT_TEST_LK_G_INTERVAL 1591
#define IDC_RADIO__SO7_RS232 1592
#define IDC_EDIT_SO7_MANUAL_MACHINE_DATA 1598
#define IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_HEX 1599
#define IDC_RADIO_SO7_MANUAL_MACHINE_SEND_DATA_TYPE_ANSCII 1600
#define IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD1 1601
#define IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD2 1602
#define IDC_RADIO_SO7_MANUAL_MACHINE_COMMON_CMD3 1603
#define IDC_BUTTON_SO7_MANUAL_MACHINE_CLEAR_MSG 1604
#define IDC_BUTTON_SO7_MANUAL_MACHINE_SAVE_MSG 1605
#define IDC_BUTTON_TEST_KEYENCE_CLEAR_LOG 1606
#define IDC_BUTTON_KEYENCE_LASER_CALIBRATE_VALUE 1607
#define IDC_EDIT_KEYENCE_LASER_CALIBRATE_VALUE 1608
#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE0 1609
#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE1 1610
#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE2 1611
#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE0 1612
#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT0 1613
#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT0 1614
#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE0 1615
#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE1 1616
#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT1 1617
#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT1 1618
#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE1 1619
#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE2 1620
#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT2 1621
#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT2 1622
#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE2 1623
#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE3 1624
#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE3 1625
#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT3 1626
#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT3 1627
#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE3 1628
#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE4 1629
#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE4 1630
#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT4 1631
#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT4 1632
#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE4 1633
#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE5 1634
#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE5 1635
#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT5 1636
#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT5 1637
#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE5 1638
#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE6 1639
#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE6 1640
#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT6 1641
#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT6 1642
#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE6 1643
#define IDC_RADIO_TEST_KEYENCE_LK_G_RELATIVE7 1644
#define IDC_RADIO_TEST_KEYENCE_LK_G_AVERAGE7 1645
#define IDC_CHECK_TEST_KEYENCE_LK_G_FIRSTOUT7 1646
#define IDC_CHECK_TEST_KEYENCE_LK_G_SECONDOUT7 1647
#define IDC_EDIT_TEST_KEYENCE_LK_G_CALIBRATE7 1648
#define IDC_BUTTONIDC_BUTTON_TEST_KEYENCE_CLEAR_LOG 1649
#define IDC_BUTTON_TEST_KEYENCE_SET_OUTPUT 1649
// Next default values for new objects // Next default values for new objects
// //
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 166 #define _APS_NEXT_RESOURCE_VALUE 168
#define _APS_NEXT_COMMAND_VALUE 32771 #define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1574 #define _APS_NEXT_CONTROL_VALUE 1650
#define _APS_NEXT_SYMED_VALUE 101 #define _APS_NEXT_SYMED_VALUE 101
#endif #endif
#endif #endif