修改S曲线运动控制参数设置。

This commit is contained in:
TAO Cheng
2013-12-26 17:43:38 +08:00
parent d060bf56dd
commit dc4fbc655f
13 changed files with 1003 additions and 313 deletions
@@ -461,10 +461,11 @@ CSO7_Proto::CSO7_Proto()
g_machine.GetInterruptMsg[i][j]=0; g_machine.GetInterruptMsg[i][j]=0;
} }
} }
g_machine.GetInterruptMsgMethod=E_GET_INTERRUPT_MSG_INTERRUPT; g_machine.GetInterruptMsgMethod=E_GET_INTERRUPT_MSG_INTERRUPT;//E_GET_INTERRUPT_MSG_INQUIRY;
g_machine.IsSupportReadInterrputMsg=FALSE; g_machine.IsSupportReadInterrputMsg=FALSE;
g_machine.IsOffline=TRUE; g_machine.IsOffline=TRUE;
g_machine.FPGAData=0; g_machine.FPGAData=0;
g_machine.FirmwareVer=FirmwareVer_3_X;
g_machine.x._Move_Speed_Gear =2; g_machine.x._Move_Speed_Gear =2;
g_machine.y._Move_Speed_Gear =2; g_machine.y._Move_Speed_Gear =2;
g_machine.z._Move_Speed_Gear =2; g_machine.z._Move_Speed_Gear =2;
@@ -3030,7 +3031,7 @@ SSI_STATUS_MOTION CSO7_Proto::so7_motion_set_position_xyz(double dX, double dY,
//================================================================== //==================================================================
SSI_STATUS_MOTION CSO7_Proto::so7_motion_is_finished(char MotionType,BOOL& IsFinished) SSI_STATUS_MOTION CSO7_Proto::so7_motion_is_finished(char MotionType,BOOL& IsFinished)
{ {
WaitForSingleObject(g_hHomedEvent, INFINITE); // machine start and homing is done //WaitForSingleObject(g_hHomedEvent, INFINITE); // machine start and homing is done
BOOL bIsFinised(FALSE); BOOL bIsFinised(FALSE);
if (g_machine.GetInterruptMsgMethod==E_GET_INTERRUPT_MSG_INQUIRY) if (g_machine.GetInterruptMsgMethod==E_GET_INTERRUPT_MSG_INQUIRY)
@@ -3964,14 +3965,15 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_SET_CONSTANT_SPEED(int iSpeed,ch
*(ep_buff[EP_02_CMD_IDX]._buffer+6) = 0; *(ep_buff[EP_02_CMD_IDX]._buffer+6) = 0;
} }
iDeceDistance =0; iDeceDistance =0;
*(ep_buff[EP_02_CMD_IDX]._buffer+7) =static_cast<char>(iDeceDistance/1000); char cBuffer;
*(ep_buff[EP_02_CMD_IDX]._buffer+7) = *(ep_buff[EP_02_CMD_IDX]._buffer+7) &0x0f; cBuffer =static_cast<char>(iDeceDistance/1000);
*(ep_buff[EP_02_CMD_IDX]._buffer+8) = static_cast<char>((iDeceDistance%1000)/100); *(ep_buff[EP_02_CMD_IDX]._buffer+7) =cBuffer;
*(ep_buff[EP_02_CMD_IDX]._buffer+8) = *(ep_buff[EP_02_CMD_IDX]._buffer+8) & 0x0f; cBuffer = static_cast<char>((iDeceDistance%1000)/100);
*(ep_buff[EP_02_CMD_IDX]._buffer+9) = static_cast<char>((iDeceDistance%100)/10); *(ep_buff[EP_02_CMD_IDX]._buffer+8) = cBuffer;
*(ep_buff[EP_02_CMD_IDX]._buffer+9) = *(ep_buff[EP_02_CMD_IDX]._buffer+9) & 0x0f; cBuffer = static_cast<char>((iDeceDistance%100)/10);
*(ep_buff[EP_02_CMD_IDX]._buffer+10)= static_cast<char>(iDeceDistance%10); *(ep_buff[EP_02_CMD_IDX]._buffer+9) = cBuffer;
*(ep_buff[EP_02_CMD_IDX]._buffer+10)=*(ep_buff[EP_02_CMD_IDX]._buffer+10) & 0x0f; cBuffer = static_cast<char>(iDeceDistance%10);
*(ep_buff[EP_02_CMD_IDX]._buffer+10)= cBuffer;
ep_buff[EP_02_CMD_IDX]._size = 0x0b; ep_buff[EP_02_CMD_IDX]._size = 0x0b;
@@ -4027,15 +4029,15 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_SET_SPEED_PARAMETER(char axis_ty
iDeceDistance =(int)((g_machine.s_machine_config.z_axis._speed_slow_dis[xyz_gear] ) * 1000); iDeceDistance =(int)((g_machine.s_machine_config.z_axis._speed_slow_dis[xyz_gear] ) * 1000);
} }
*(ep_buff[EP_02_CMD_IDX]._buffer+7) =static_cast<char>(iDeceDistance/1000); char cBuffer;
*(ep_buff[EP_02_CMD_IDX]._buffer+7) = *(ep_buff[EP_02_CMD_IDX]._buffer+7) &0x0f; cBuffer =static_cast<char>(iDeceDistance/1000);
*(ep_buff[EP_02_CMD_IDX]._buffer+8) = static_cast<char>((iDeceDistance%1000)/100); *(ep_buff[EP_02_CMD_IDX]._buffer+7) =cBuffer;
*(ep_buff[EP_02_CMD_IDX]._buffer+8) = *(ep_buff[EP_02_CMD_IDX]._buffer+8) & 0x0f; cBuffer = static_cast<char>((iDeceDistance%1000)/100);
*(ep_buff[EP_02_CMD_IDX]._buffer+9) = static_cast<char>((iDeceDistance%100)/10); *(ep_buff[EP_02_CMD_IDX]._buffer+8) = cBuffer;
*(ep_buff[EP_02_CMD_IDX]._buffer+9) = *(ep_buff[EP_02_CMD_IDX]._buffer+9) & 0x0f; cBuffer = static_cast<char>((iDeceDistance%100)/10);
*(ep_buff[EP_02_CMD_IDX]._buffer+10)= static_cast<char>(iDeceDistance%10); *(ep_buff[EP_02_CMD_IDX]._buffer+9) = cBuffer;
*(ep_buff[EP_02_CMD_IDX]._buffer+10)=*(ep_buff[EP_02_CMD_IDX]._buffer+10) & 0x0f; cBuffer = static_cast<char>(iDeceDistance%10);
*(ep_buff[EP_02_CMD_IDX]._buffer+10)= cBuffer;
ep_buff[EP_02_CMD_IDX]._size = 0x0b; ep_buff[EP_02_CMD_IDX]._size = 0x0b;
ep_buff[EP_82_DATA_IDX]._size = 0x45; ep_buff[EP_82_DATA_IDX]._size = 0x45;
@@ -4786,6 +4788,15 @@ SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_READ_FIRMWARE_VERSION_INFO()
{ {
g_machine.FirmwareInfo[i]=*(ep_buff[EP_82_DATA_IDX]._buffer+i); g_machine.FirmwareInfo[i]=*(ep_buff[EP_82_DATA_IDX]._buffer+i);
} }
if (g_machine.FirmwareInfo[3]=='6')
{
g_machine.FirmwareVer=FirmwareVer_6_X;
}
else
{
g_machine.FirmwareVer=FirmwareVer_3_X;
}
return SSI_STATUS_MOTION_NORMAL; return SSI_STATUS_MOTION_NORMAL;
} }
//============================================================== //==============================================================
@@ -58,7 +58,12 @@
const long MAX_INTENSITY = 0x3FF; const long MAX_INTENSITY = 0x3FF;
#define MAXLIGHTVALUE 256 #define MAXLIGHTVALUE 256
enum EFirmwareVer
{
FirmwareVer_3_X=0,
FirmwareVer_6_X,
FirmwareVer_Total
};
#pragma pack(push) #pragma pack(push)
#pragma pack(1) #pragma pack(1)
//**************************************************************************************************** //****************************************************************************************************
@@ -208,6 +213,7 @@ struct struct_so7_machine
char InPortStatus; char InPortStatus;
int _motor_pulse_num; int _motor_pulse_num;
char FirmwareInfo[10]; char FirmwareInfo[10];
int FirmwareVer;
char GetInterruptMsg[20][2]; char GetInterruptMsg[20][2];
char GetInterruptMsgMethod; char GetInterruptMsgMethod;
BOOL IsOffline; BOOL IsOffline;
@@ -2399,3 +2399,544 @@ Init:Open device succeed .
_start_machine _start_machine
Exit: Exit_SO7Usb Exit: Exit_SO7Usb
Destruct Cso7_Proto. 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
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
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
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
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
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Unable to open device 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
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Construct Cso7_Proto.
Unable to open device Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Construct Cso7_Proto.
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
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
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
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.
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
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
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
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
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.
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
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
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
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
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
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
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
Construct Cso7_Proto.
Unable to open device Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Construct Cso7_Proto.
Unable to open device 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
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
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
Destruct Cso7_Proto.
@@ -1,5 +1,5 @@
[HARDWARE] [HARDWARE]
MOVETOSPEED_FAST_X=0.00000000 MOVETOSPEED_FAST_X=50.00000000
MOVETOSPEED_SLOW_X=100.00000000 MOVETOSPEED_SLOW_X=100.00000000
MOVETOSPEED_SCALE_X=1.00000000 MOVETOSPEED_SCALE_X=1.00000000
; ;
@@ -11,103 +11,103 @@ MOVETOSPEED_FAST_Z=0.00000000
MOVETOSPEED_SLOW_Z=0.00000000 MOVETOSPEED_SLOW_Z=0.00000000
MOVETOSPEED_SCALE_Z=1.00000000 MOVETOSPEED_SCALE_Z=1.00000000
; ;
SPEED_BASE_X1=5 SPEED_BASE_X1=20
SPEED_MAX_X1=168 SPEED_MAX_X1=20
SPEED_START_X1=28 SPEED_START_X1=20
SPEED_FRESH_X1=10 SPEED_FRESH_X1=8
SPEED_SLOW_X1=0.510 SPEED_SLOW_X1=3.300
; ;
SPEED_BASE_X2=3 SPEED_BASE_X2=16
SPEED_MAX_X2=50 SPEED_MAX_X2=10
SPEED_START_X2=10 SPEED_START_X2=12
SPEED_FRESH_X2=10 SPEED_FRESH_X2=10
SPEED_SLOW_X2=0.110 SPEED_SLOW_X2=2.000
; ;
SPEED_BASE_X3=2 SPEED_BASE_X3=2
SPEED_MAX_X3=5 SPEED_MAX_X3=5
SPEED_START_X3=5 SPEED_START_X3=8
SPEED_FRESH_X3=10 SPEED_FRESH_X3=100
SPEED_SLOW_X3=0.001 SPEED_SLOW_X3=0.500
; ;
SPEED_BASE_X4=2 SPEED_BASE_X4=2
SPEED_MAX_X4=0 SPEED_MAX_X4=0
SPEED_START_X4=50 SPEED_START_X4=5
SPEED_FRESH_X4=10 SPEED_FRESH_X4=100
SPEED_SLOW_X4=0.001 SPEED_SLOW_X4=0.100
; ;
SPEED_BASE_X5=5 SPEED_BASE_X5=2
SPEED_MAX_X5=0 SPEED_MAX_X5=0
SPEED_START_X5=80 SPEED_START_X5=50
SPEED_FRESH_X5=10 SPEED_FRESH_X5=100
SPEED_SLOW_X5=0.001 SPEED_SLOW_X5=0.100
; ;
SPEED_BASE_Y1=5 SPEED_BASE_Y1=20
SPEED_MAX_Y1=168 SPEED_MAX_Y1=10
SPEED_START_Y1=28 SPEED_START_Y1=20
SPEED_FRESH_Y1=10 SPEED_FRESH_Y1=8
SPEED_SLOW_Y1=0.600 SPEED_SLOW_Y1=2.000
; ;
SPEED_BASE_Y2=3 SPEED_BASE_Y2=16
SPEED_MAX_Y2=60 SPEED_MAX_Y2=10
SPEED_START_Y2=10 SPEED_START_Y2=12
SPEED_FRESH_Y2=10 SPEED_FRESH_Y2=10
SPEED_SLOW_Y2=0.200 SPEED_SLOW_Y2=1.000
; ;
SPEED_BASE_Y3=2 SPEED_BASE_Y3=1
SPEED_MAX_Y3=5 SPEED_MAX_Y3=5
SPEED_START_Y3=3 SPEED_START_Y3=1
SPEED_FRESH_Y3=10 SPEED_FRESH_Y3=100
SPEED_SLOW_Y3=0.001 SPEED_SLOW_Y3=0.100
; ;
SPEED_BASE_Y4=2 SPEED_BASE_Y4=1
SPEED_MAX_Y4=0 SPEED_MAX_Y4=0
SPEED_START_Y4=50 SPEED_START_Y4=6
SPEED_FRESH_Y4=10 SPEED_FRESH_Y4=100
SPEED_SLOW_Y4=0.001 SPEED_SLOW_Y4=0.100
; ;
SPEED_BASE_Y5=5 SPEED_BASE_Y5=1
SPEED_MAX_Y5=0 SPEED_MAX_Y5=0
SPEED_START_Y5=80 SPEED_START_Y5=50
SPEED_FRESH_Y5=10 SPEED_FRESH_Y5=100
SPEED_SLOW_Y5=0.001 SPEED_SLOW_Y5=0.100
; ;
SPEED_BASE_Z1=5 SPEED_BASE_Z1=20
SPEED_MAX_Z1=130 SPEED_MAX_Z1=100
SPEED_START_Z1=28 SPEED_START_Z1=150
SPEED_FRESH_Z1=10 SPEED_FRESH_Z1=8
SPEED_SLOW_Z1=0.510 SPEED_SLOW_Z1=2.500
; ;
SPEED_BASE_Z2=3 SPEED_BASE_Z2=16
SPEED_MAX_Z2=60 SPEED_MAX_Z2=10
SPEED_START_Z2=10 SPEED_START_Z2=100
SPEED_FRESH_Z2=10 SPEED_FRESH_Z2=10
SPEED_SLOW_Z2=0.110 SPEED_SLOW_Z2=1.500
; ;
SPEED_BASE_Z3=2 SPEED_BASE_Z3=3
SPEED_MAX_Z3=5 SPEED_MAX_Z3=5
SPEED_START_Z3=5 SPEED_START_Z3=5
SPEED_FRESH_Z3=10 SPEED_FRESH_Z3=10
SPEED_SLOW_Z3=0.001 SPEED_SLOW_Z3=0.100
; ;
SPEED_BASE_Z4=2 SPEED_BASE_Z4=2
SPEED_MAX_Z4=0 SPEED_MAX_Z4=0
SPEED_START_Z4=50 SPEED_START_Z4=18
SPEED_FRESH_Z4=10 SPEED_FRESH_Z4=10
SPEED_SLOW_Z4=0.001 SPEED_SLOW_Z4=0.100
; ;
SPEED_BASE_Z5=5 SPEED_BASE_Z5=5
SPEED_MAX_Z5=0 SPEED_MAX_Z5=13
SPEED_START_Z5=80 SPEED_START_Z5=12
SPEED_FRESH_Z5=10 SPEED_FRESH_Z5=10
SPEED_SLOW_Z5=0.001 SPEED_SLOW_Z5=0.100
; ;
X_MOTOR_PRECISION=0.010 X_MOTOR_PRECISION=0.004
Y_MOTOR_PRECISION=0.010 Y_MOTOR_PRECISION=0.009
Z_MOTOR_PRECISION=0.100 Z_MOTOR_PRECISION=0.004
; ;
X_MOTOR_WHEELBASE=19.990 X_MOTOR_WHEELBASE=1.500
Y_MOTOR_WHEELBASE=20.000 Y_MOTOR_WHEELBASE=1.500
Z_MOTOR_WHEELBASE=3.000 Z_MOTOR_WHEELBASE=1.500
; ;
MOTOR_PULSE_NUM=10000 MOTOR_PULSE_NUM=10000
; ;
@@ -40,11 +40,11 @@ BEGIN
GROUPBOX "Cmd",IDC_STATIC,17,216,379,46 GROUPBOX "Cmd",IDC_STATIC,17,216,379,46
PUSHBUTTON "Start_Machine",IDC_BUTTON_START_SO7MACHINE,23,40,63,18 PUSHBUTTON "Start_Machine",IDC_BUTTON_START_SO7MACHINE,23,40,63,18
PUSHBUTTON "Stop_Machine",IDC_BUTTON_STOP_SO7MACHINE,23,75,63,18 PUSHBUTTON "Stop_Machine",IDC_BUTTON_STOP_SO7MACHINE,23,75,63,18
PUSHBUTTON "Read XYZ Axis",IDC_BUTTON_SO7_READ_AXIS_XYZ,132,28,62,13 PUSHBUTTON "Read XYZ Axis",IDC_BUTTON_SO7_READ_AXIS_XYZ,133,28,62,13
PUSHBUTTON "Read Probe Axis",IDC_BUTTON_READ_PROBE,132,42,62,13 PUSHBUTTON "Read Probe Axis",IDC_BUTTON_READ_PROBE,133,44,62,13
PUSHBUTTON "Read V Axis",IDC_BUTTON_SO7_READ_AXIS_V,130,57,62,13 PUSHBUTTON "Read V Axis",IDC_BUTTON_SO7_READ_AXIS_V,133,60,62,13
PUSHBUTTON "Get Fixture Value",IDC_BUTTON_GET_FIXTURE_FLAG,131,73,62,13 PUSHBUTTON "Get Fixture Value",IDC_BUTTON_GET_FIXTURE_FLAG,133,76,62,13
PUSHBUTTON "Get Reset Flag",IDC_BUTTON_SO7_GET_RESET_FLAG,132,89,62,13 PUSHBUTTON "Get Reset Flag",IDC_BUTTON_SO7_GET_RESET_FLAG,133,92,62,13
EDITTEXT IDC_EDIT_AXIAL_LIGHT,261,27,41,12,ES_AUTOHSCROLL | NOT WS_TABSTOP EDITTEXT IDC_EDIT_AXIAL_LIGHT,261,27,41,12,ES_AUTOHSCROLL | NOT WS_TABSTOP
EDITTEXT IDC_EDIT_BOTTOM_LIGHT,261,41,41,12,ES_AUTOHSCROLL | NOT WS_TABSTOP EDITTEXT IDC_EDIT_BOTTOM_LIGHT,261,41,41,12,ES_AUTOHSCROLL | NOT WS_TABSTOP
EDITTEXT IDC_EDIT_RING_LIGHT,261,55,41,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_RING_LIGHT,261,55,41,12,ES_AUTOHSCROLL
@@ -67,7 +67,7 @@ BEGIN
PUSHBUTTON "Home Worktable Right",IDC_BUTTON_RESET_WORKTABLE_RIGHT,277,173,76,14 PUSHBUTTON "Home Worktable Right",IDC_BUTTON_RESET_WORKTABLE_RIGHT,277,173,76,14
PUSHBUTTON "Move\n To",IDC_BUTTON_MOVE_TO,359,142,32,27,BS_MULTILINE PUSHBUTTON "Move\n To",IDC_BUTTON_MOVE_TO,359,142,32,27,BS_MULTILINE
PUSHBUTTON "Auto Zoom",IDC_BUTTON_AUTO_ZOOM,359,177,32,27,BS_MULTILINE PUSHBUTTON "Auto Zoom",IDC_BUTTON_AUTO_ZOOM,359,177,32,27,BS_MULTILINE
PUSHBUTTON "Set Reset Flag",IDC_BUTTON_SET_RESET_FLAG,133,102,61,14 PUSHBUTTON "Set Reset Flag",IDC_BUTTON_SET_RESET_FLAG,133,108,61,14
PUSHBUTTON "Set outport",IDC_BUTTON_GET_LASER,181,240,61,14 PUSHBUTTON "Set outport",IDC_BUTTON_GET_LASER,181,240,61,14
PUSHBUTTON "Home V",IDC_BUTTON_RESET_V,100,240,61,14 PUSHBUTTON "Home V",IDC_BUTTON_RESET_V,100,240,61,14
EDITTEXT IDC_EDIT_X_SCALE_COEFFICIENT,46,284,54,12,ES_CENTER | ES_AUTOHSCROLL EDITTEXT IDC_EDIT_X_SCALE_COEFFICIENT,46,284,54,12,ES_CENTER | ES_AUTOHSCROLL
@@ -178,140 +178,140 @@ BEGIN
CONTROL "速度-时间",IDC_RADIO_CANVAS_SPEED_TIME,"Button",BS_AUTORADIOBUTTON | WS_GROUP,315,413,51,10 CONTROL "速度-时间",IDC_RADIO_CANVAS_SPEED_TIME,"Button",BS_AUTORADIOBUTTON | WS_GROUP,315,413,51,10
CONTROL "速度-位移",IDC_RADIO_CANVAS_SPEED_POSTION,"Button",BS_AUTORADIOBUTTON,315,426,51,10 CONTROL "速度-位移",IDC_RADIO_CANVAS_SPEED_POSTION,"Button",BS_AUTORADIOBUTTON,315,426,51,10
CONTROL "位移-时间",IDC_RADIO_CANVAS_POSTION_TIME,"Button",BS_AUTORADIOBUTTON,315,439,51,10 CONTROL "位移-时间",IDC_RADIO_CANVAS_POSTION_TIME,"Button",BS_AUTORADIOBUTTON,315,439,51,10
EDITTEXT IDC_EDIT_BASESPEED_X1,43,55,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_X1,43,61,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_X1,107,55,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_X1,91,61,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_X1,177,55,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_X1,138,61,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_FRESHSPEED_X1,244,55,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_FRESHSPEED_X1,185,61,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SLOWDIS_X1,243,55,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_SLOWDIS_X1,232,61,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_BASESPEED_X2,43,69,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_X2,43,75,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_X2,107,69,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_X2,91,75,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_X2,177,69,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_X2,138,75,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_FRESHSPEED_X2,244,69,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_FRESHSPEED_X2,185,75,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SLOWDIS_X2,243,69,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_SLOWDIS_X2,232,75,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_BASESPEED_X3,43,83,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_X3,43,89,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_X3,107,83,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_X3,91,89,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_X3,177,83,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_X3,138,89,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_FRESHSPEED_X3,244,83,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_FRESHSPEED_X3,185,89,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SLOWDIS_X3,243,83,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_SLOWDIS_X3,232,89,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_BASESPEED_X4,43,97,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_X4,43,103,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_X4,107,97,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_X4,91,103,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_X4,177,97,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_X4,138,103,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_FRESHSPEED_X4,244,97,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_FRESHSPEED_X4,185,103,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SLOWDIS_X4,243,97,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_SLOWDIS_X4,232,103,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_BASESPEED_X5,43,111,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_X5,43,117,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_X5,107,111,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_X5,91,117,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_X5,177,111,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_X5,138,117,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_FRESHSPEED_X5,244,111,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_FRESHSPEED_X5,185,117,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SLOWDIS_X5,243,111,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_SLOWDIS_X5,232,117,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_BASESPEED_Y1,43,129,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_Y1,43,135,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_Y1,107,129,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_Y1,91,135,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_Y1,177,129,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_Y1,138,135,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_FRESHSPEED_Y1,244,129,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_FRESHSPEED_Y1,185,135,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SLOWDIS_Y1,243,129,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_SLOWDIS_Y1,232,135,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_BASESPEED_Y2,43,143,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_Y2,43,149,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_Y2,107,143,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_Y2,91,149,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_Y2,177,143,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_Y2,138,149,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_FRESHSPEED_Y2,244,143,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_FRESHSPEED_Y2,185,149,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SLOWDIS_Y2,243,143,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_SLOWDIS_Y2,232,149,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_BASESPEED_Y3,43,156,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_Y3,43,162,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_Y3,107,156,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_Y3,91,162,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_Y3,177,156,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_Y3,138,162,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_FRESHSPEED_Y3,244,156,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_FRESHSPEED_Y3,185,162,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SLOWDIS_Y3,243,156,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_SLOWDIS_Y3,232,162,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_BASESPEED_Y4,43,170,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_Y4,43,176,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_Y4,107,170,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_Y4,91,176,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_Y4,177,170,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_Y4,138,176,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_FRESHSPEED_Y4,244,170,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_FRESHSPEED_Y4,185,176,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SLOWDIS_Y4,243,170,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_SLOWDIS_Y4,232,176,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_BASESPEED_Y5,43,184,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_Y5,43,190,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_Y5,107,184,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_Y5,91,190,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_Y5,177,184,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_Y5,138,190,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_FRESHSPEED_Y5,244,184,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_FRESHSPEED_Y5,185,190,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SLOWDIS_Y5,243,184,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_SLOWDIS_Y5,232,190,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_BASESPEED_Z1,43,203,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_Z1,43,209,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_Z1,107,203,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_Z1,91,209,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_Z1,177,203,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_Z1,138,209,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_FRESHSPEED_Z1,244,203,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_FRESHSPEED_Z1,185,209,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SLOWDIS_Z1,243,203,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_SLOWDIS_Z1,232,209,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_BASESPEED_Z2,43,217,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_Z2,43,223,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_Z2,107,217,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_Z2,91,223,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_Z2,177,217,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_Z2,138,223,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_FRESHSPEED_Z2,244,217,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_FRESHSPEED_Z2,185,223,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SLOWDIS_Z2,243,217,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_SLOWDIS_Z2,232,223,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_BASESPEED_Z3,43,231,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_Z3,43,237,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_Z3,107,231,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_Z3,91,237,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_Z3,177,231,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_Z3,138,237,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_FRESHSPEED_Z3,244,231,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_FRESHSPEED_Z3,185,237,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SLOWDIS_Z3,243,231,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_SLOWDIS_Z3,232,237,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_BASESPEED_Z4,43,245,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_Z4,43,251,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_Z4,107,245,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_Z4,91,251,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_Z4,177,245,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_Z4,138,251,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_FRESHSPEED_Z4,244,245,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_FRESHSPEED_Z4,185,251,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SLOWDIS_Z4,243,245,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_SLOWDIS_Z4,232,251,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_BASESPEED_Z5,43,259,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_BASESPEED_Z5,43,265,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MAXSPEED_Z5,107,259,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_MAXSPEED_Z5,91,265,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_STARTSPEED_Z5,177,259,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_STARTSPEED_Z5,138,265,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_FRESHSPEED_Z5,244,259,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_FRESHSPEED_Z5,185,265,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SLOWDIS_Z5,243,259,40,12,ES_AUTOHSCROLL | NOT WS_VISIBLE EDITTEXT IDC_EDIT_SLOWDIS_Z5,232,265,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_WHEELBASE_X,43,293,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_WHEELBASE_X,43,299,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_WHEELBASE_Y,104,293,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_WHEELBASE_Y,104,299,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_WHEELBASE_Z,167,293,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_WHEELBASE_Z,167,299,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_WHEELBASE_PULSENUM,246,294,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_WHEELBASE_PULSENUM,246,300,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_PRECISION_X,43,328,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_PRECISION_X,43,334,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_PRECISION_Y,104,328,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_PRECISION_Y,104,334,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_PRECISION_Z,167,328,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_PRECISION_Z,167,334,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_NEG_WORKLIMIT_X,118,363,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_NEG_WORKLIMIT_X,118,369,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_NEG_WORKLIMIT_Y,180,363,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_NEG_WORKLIMIT_Y,180,369,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_NEG_WORKLIMIT_Z,243,363,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_NEG_WORKLIMIT_Z,243,369,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_POS_WORKLIMIT_X,118,380,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_POS_WORKLIMIT_X,118,386,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_POS_WORKLIMIT_Y,180,380,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_POS_WORKLIMIT_Y,180,386,40,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_POS_WORKLIMIT_Z,243,380,40,12,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_POS_WORKLIMIT_Z,243,386,40,12,ES_AUTOHSCROLL
PUSHBUTTON "Save To Controller",IDC_BUTTON_SAVE_PARAMETER,46,410,50,24,BS_MULTILINE PUSHBUTTON "Save To Controller",IDC_BUTTON_SAVE_PARAMETER,46,413,50,24,BS_MULTILINE
PUSHBUTTON "Read From Controller",IDC_BUTTON_READ_PARAMETER_FROM_CONTROLLER,120,410,50,24,BS_MULTILINE PUSHBUTTON "Read From Controller",IDC_BUTTON_READ_PARAMETER_FROM_CONTROLLER,120,413,50,24,BS_MULTILINE
PUSHBUTTON "Save...",IDC_BUTTON_SAVE,194,410,50,24 PUSHBUTTON "Save...",IDC_BUTTON_SAVE,194,413,50,24
PUSHBUTTON "Exit",IDCANCEL,696,449,50,14 PUSHBUTTON "Exit",IDCANCEL,696,449,50,14
LTEXT "Z=",IDC_STATIC,229,381,10,8 LTEXT "Z=",IDC_STATIC,229,387,10,8
LTEXT "Y=",IDC_STATIC,90,296,10,8 LTEXT "Y=",IDC_STATIC,90,302,10,8
EDITTEXT IDC_EDIT_INPUT_FILE,58,12,186,14,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_INPUT_FILE,58,12,186,14,ES_AUTOHSCROLL
LTEXT "Input_File",IDC_STATIC,18,15,33,8 LTEXT "Input_File",IDC_STATIC,18,15,33,8
PUSHBUTTON "Browse...",IDC_BUTTON_BROWSE,252,12,36,14 PUSHBUTTON "Browse...",IDC_BUTTON_BROWSE,252,12,36,14
GROUPBOX "速度参数",IDC_STATIC,17,29,273,248 GROUPBOX "速度参数",IDC_STATIC,17,29,273,254
LTEXT "X-1",IDC_STATIC,27,57,12,8 LTEXT "X-1",IDC_STATIC,27,63,12,8
LTEXT "X-2",IDC_STATIC,27,72,12,8 LTEXT "X-2",IDC_STATIC,27,78,12,8
LTEXT "加速度",IDC_STATIC,48,41,25,8 CTEXT "加速度 ",IDC_STATIC_SPEED_PARA1,43,41,39,18
LTEXT "最大速率(高8位)",IDC_STATIC,98,41,69,8 CTEXT "最大速率(高8位)",IDC_STATIC_SPEED_PARA2,90,41,39,18
CONTROL "最低速率(低8位)",IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,168,41,69,8 CTEXT "最低速率(低8位)",IDC_STATIC_SPEED_PARA3,137,41,39,18
LTEXT "刷新周期",IDC_STATIC,248,41,33,8 CTEXT "刷新周期",IDC_STATIC_SPEED_PARA4,184,41,39,18
LTEXT "减速距离",IDC_STATIC,247,41,33,8,NOT WS_VISIBLE CTEXT "减速距离",IDC_STATIC_SPEED_PARA5,231,41,39,18
LTEXT "X-3",IDC_STATIC,27,85,12,8 LTEXT "X-3",IDC_STATIC,27,91,12,8
LTEXT "X-4",IDC_STATIC,27,99,12,8 LTEXT "X-4",IDC_STATIC,27,105,12,8
LTEXT "X-5",IDC_STATIC,27,113,12,8 LTEXT "X-5",IDC_STATIC,27,119,12,8
LTEXT "Y-1",IDC_STATIC,27,131,12,8 LTEXT "Y-1",IDC_STATIC,27,137,12,8
LTEXT "Y-2",IDC_STATIC,27,146,12,8 LTEXT "Y-2",IDC_STATIC,27,152,12,8
LTEXT "Y-3",IDC_STATIC,27,159,12,8 LTEXT "Y-3",IDC_STATIC,27,165,12,8
LTEXT "Y-4",IDC_STATIC,27,173,12,8 LTEXT "Y-4",IDC_STATIC,27,179,12,8
LTEXT "Y-5",IDC_STATIC,27,187,12,8 LTEXT "Y-5",IDC_STATIC,27,193,12,8
LTEXT "Z-1",IDC_STATIC,27,205,12,8 LTEXT "Z-1",IDC_STATIC,27,211,12,8
LTEXT "Z-2",IDC_STATIC,27,220,12,8 LTEXT "Z-2",IDC_STATIC,27,226,12,8
LTEXT "Z-3",IDC_STATIC,27,233,12,8 LTEXT "Z-3",IDC_STATIC,27,239,12,8
LTEXT "Z-4",IDC_STATIC,27,247,12,8 LTEXT "Z-4",IDC_STATIC,27,253,12,8
LTEXT "Z-5",IDC_STATIC,27,261,12,8 LTEXT "Z-5",IDC_STATIC,27,267,12,8
GROUPBOX "轴距",IDC_STATIC,15,279,275,36 GROUPBOX "轴距",IDC_STATIC,15,285,275,36
GROUPBOX "精度",IDC_STATIC,16,316,274,30 GROUPBOX "精度",IDC_STATIC,16,322,274,30
LTEXT "X=",IDC_STATIC,28,296,10,8 LTEXT "X=",IDC_STATIC,28,302,10,8
LTEXT "Z=",IDC_STATIC,153,296,10,8 LTEXT "Z=",IDC_STATIC,153,302,10,8
LTEXT "PulseNo.",IDC_STATIC,216,296,27,8 LTEXT "PulseNo.",IDC_STATIC,216,302,27,8
LTEXT "X=",IDC_STATIC,28,330,10,8 LTEXT "X=",IDC_STATIC,28,336,10,8
LTEXT "Y=",IDC_STATIC,90,330,10,8 LTEXT "Y=",IDC_STATIC,90,336,10,8
LTEXT "Z=",IDC_STATIC,153,330,10,8 LTEXT "Z=",IDC_STATIC,153,336,10,8
GROUPBOX "工作台设定",IDC_STATIC,16,347,274,49 GROUPBOX "工作台设定",IDC_STATIC,16,353,274,49
LTEXT "X=",IDC_STATIC,104,364,10,8 LTEXT "X=",IDC_STATIC,104,370,10,8
LTEXT "Y=",IDC_STATIC,166,364,10,8 LTEXT "Y=",IDC_STATIC,166,370,10,8
LTEXT "Z=",IDC_STATIC,229,364,10,8 LTEXT "Z=",IDC_STATIC,229,370,10,8
LTEXT "NEG WORKING LIMIT",IDC_STATIC,20,364,69,8 LTEXT "NEG WORKING LIMIT",IDC_STATIC,20,370,69,8
LTEXT "POS WORKING LIMIT",IDC_STATIC,20,382,69,8 LTEXT "POS WORKING LIMIT",IDC_STATIC,20,388,69,8
LTEXT "X=",IDC_STATIC,104,381,10,8 LTEXT "X=",IDC_STATIC,104,387,10,8
LTEXT "Y=",IDC_STATIC,166,381,10,8 LTEXT "Y=",IDC_STATIC,166,387,10,8
EDITTEXT IDC_EDIT_SAMPLE_SCURVE_DIS,473,405,28,14,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_SAMPLE_SCURVE_DIS,473,405,28,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SAMPLE_TIME_SCURVE,564,405,28,14,ES_AUTOHSCROLL EDITTEXT IDC_EDIT_SAMPLE_TIME_SCURVE,564,405,28,14,ES_AUTOHSCROLL
PUSHBUTTON "Start",IDC_BUTTON_START_SAMPLE_SCURVE,628,407,50,14 PUSHBUTTON "Start",IDC_BUTTON_START_SAMPLE_SCURVE,628,407,50,14
@@ -536,11 +536,11 @@ BEGIN
EDITTEXT IDC_EDIT_ZM_AXIS,325,187,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP EDITTEXT IDC_EDIT_ZM_AXIS,325,187,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP
GROUPBOX "Move To Position",IDC_STATIC,20,63,236,105 GROUPBOX "Move To Position",IDC_STATIC,20,63,236,105
GROUPBOX "Position",IDC_STATIC,20,171,480,36 GROUPBOX "Position",IDC_STATIC,20,171,480,36
PUSHBUTTON "Zero Set",IDC_BUTTON_ZERO_SET,423,185,56,13 PUSHBUTTON "Zero Set",IDC_BUTTON_ZERO_SET,397,185,56,13
GROUPBOX "Repeatability Test",IDC_STATIC,261,63,238,106 GROUPBOX "Repeatability Test",IDC_STATIC,261,63,238,106
LTEXT "To",IDC_STATIC,344,79,8,8 LTEXT "To",IDC_STATIC,344,79,8,8
LTEXT "Times",IDC_STATIC,339,105,19,8 LTEXT "Times",IDC_STATIC,339,105,19,8
EDITTEXT IDC_EDIT_REPRETEST,19,216,480,115,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL EDITTEXT IDC_EDIT_REPRETEST,19,216,429,115,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
CONTROL "x",IDC_CHECK_REPETESTX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,279,79,20,10 CONTROL "x",IDC_CHECK_REPETESTX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,279,79,20,10
CONTROL "y",IDC_CHECK_REPETESTY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,279,92,20,10 CONTROL "y",IDC_CHECK_REPETESTY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,279,92,20,10
CONTROL "z",IDC_CHECK_REPETESTZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,279,106,20,10 CONTROL "z",IDC_CHECK_REPETESTZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,279,106,20,10
@@ -561,6 +561,8 @@ BEGIN
LTEXT "mm/s",IDC_STATIC,283,29,18,8 LTEXT "mm/s",IDC_STATIC,283,29,18,8
LTEXT "mm/s",IDC_STATIC,375,29,18,8 LTEXT "mm/s",IDC_STATIC,375,29,18,8
LTEXT "mm/s",IDC_STATIC,462,28,18,8 LTEXT "mm/s",IDC_STATIC,462,28,18,8
PUSHBUTTON "Clear All",IDC_BUTTON_SO7_MOVETO_CLEAR_ALL_LOG,452,266,50,14
CONTROL "ErrPos",IDC_CHECK_SO7_MOVETO_FPGADATA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,459,186,34,10
END END
IDD_SO7_UTIL_IMAGE_DLL DIALOGEX 0, 0, 377, 184 IDD_SO7_UTIL_IMAGE_DLL DIALOGEX 0, 0, 377, 184
@@ -762,12 +764,13 @@ BEGIN
CONTROL "黑白图像",IDC_RADIO_SV4000E_GRAY,"Button",BS_AUTORADIOBUTTON,435,67,48,10 CONTROL "黑白图像",IDC_RADIO_SV4000E_GRAY,"Button",BS_AUTORADIOBUTTON,435,67,48,10
CONTROL "垂直镜像",IDC_SV4000E_CHECK_MIRROR_VERTICALLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,435,93,48,10 CONTROL "垂直镜像",IDC_SV4000E_CHECK_MIRROR_VERTICALLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,435,93,48,10
PUSHBUTTON "保存图片",IDC_BUTTON_SV4000E_SAVEFILE,435,117,50,14 PUSHBUTTON "保存图片",IDC_BUTTON_SV4000E_SAVEFILE,435,117,50,14
GROUPBOX "通道选择",IDC_STATIC,438,145,43,87 GROUPBOX "通道选择",IDC_STATIC,438,145,43,102
CONTROL "",IDC_STATIC_SV4000E_PICTURE,"Static",SS_BLACKFRAME | NOT WS_VISIBLE,225,300,71,12 CONTROL "",IDC_STATIC_SV4000E_PICTURE,"Static",SS_BLACKFRAME | NOT WS_VISIBLE,225,300,71,12
CONTROL "1",IDC_RADIO_SV4000E_CHANNEL1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,451,162,20,10 CONTROL "1",IDC_RADIO_SV4000E_CHANNEL1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,451,162,20,10
CONTROL "2",IDC_RADIO_SV4000E_CHANNEL2,"Button",BS_AUTORADIOBUTTON,451,179,20,10 CONTROL "2",IDC_RADIO_SV4000E_CHANNEL2,"Button",BS_AUTORADIOBUTTON,451,179,20,10
CONTROL "3",IDC_RADIO_SV4000E_CHANNEL3,"Button",BS_AUTORADIOBUTTON,451,196,20,10 CONTROL "3",IDC_RADIO_SV4000E_CHANNEL3,"Button",BS_AUTORADIOBUTTON,451,196,20,10
CONTROL "4",IDC_RADIO_SV4000E_CHANNEL4,"Button",BS_AUTORADIOBUTTON,451,213,20,10 CONTROL "4",IDC_RADIO_SV4000E_CHANNEL4,"Button",BS_AUTORADIOBUTTON,451,213,20,10
CONTROL "All",IDC_RADIO_SV4000E_CHANNEL_ALL,"Button",BS_AUTORADIOBUTTON,451,230,23,10
END END
IDD_SO7_UTIL_PROGRAM DIALOGEX 0, 0, 590, 386 IDD_SO7_UTIL_PROGRAM DIALOGEX 0, 0, 590, 386
@@ -2291,8 +2294,8 @@ END
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 6,1,0,0 FILEVERSION 6,3,0,0
PRODUCTVERSION 6,1,0,0 PRODUCTVERSION 6,3,0,0
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@@ -2309,12 +2312,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Hexagon Metrology" VALUE "CompanyName", "Hexagon Metrology"
VALUE "FileDescription", "Utility for Hexagon Metrology" VALUE "FileDescription", "Utility for Hexagon Metrology"
VALUE "FileVersion", "6.1.0.0" VALUE "FileVersion", "6.3.0.0"
VALUE "InternalName", "Usb_Util.exe" VALUE "InternalName", "Usb_Util.exe"
VALUE "LegalCopyright", "Copyright 2013 Hexagon Metrology." VALUE "LegalCopyright", "Copyright 2013 Hexagon Metrology."
VALUE "OriginalFilename", "Usb_Util.exe" VALUE "OriginalFilename", "Usb_Util.exe"
VALUE "ProductName", "Utility" VALUE "ProductName", "Utility"
VALUE "ProductVersion", "6.1.0.0" VALUE "ProductVersion", "6.3.0.0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"
@@ -1,4 +1,4 @@
7// SO7_Move_Location.cpp : ʵÏÖÎļþ // SO7_Move_Location.cpp : ʵÏÖÎļþ
// //
#include "stdafx.h" #include "stdafx.h"
#include "afxdialogex.h" #include "afxdialogex.h"
@@ -77,6 +77,8 @@ BEGIN_MESSAGE_MAP(CSO7_Move_Location, CDialog)
ON_BN_CLICKED(IDC_RADIO_SPEED_FAST, &CSO7_Move_Location::OnBnClickedRadioSpeedFast) ON_BN_CLICKED(IDC_RADIO_SPEED_FAST, &CSO7_Move_Location::OnBnClickedRadioSpeedFast)
ON_BN_CLICKED(IDC_RADIO_SPEED_SLOW, &CSO7_Move_Location::OnBnClickedRadioSpeedSlow) ON_BN_CLICKED(IDC_RADIO_SPEED_SLOW, &CSO7_Move_Location::OnBnClickedRadioSpeedSlow)
ON_BN_CLICKED(IDC_RADIO_SPEED_SYSTEM, &CSO7_Move_Location::OnBnClickedRadioSpeedSystem) ON_BN_CLICKED(IDC_RADIO_SPEED_SYSTEM, &CSO7_Move_Location::OnBnClickedRadioSpeedSystem)
ON_BN_CLICKED(IDC_BUTTON_SO7_MOVETO_CLEAR_ALL_LOG, &CSO7_Move_Location::OnBnClickedButtonSo7MovetoClearAllLog)
ON_BN_CLICKED(IDC_CHECK_SO7_MOVETO_FPGADATA, &CSO7_Move_Location::OnBnClickedCheckSo7MovetoFpgadata)
END_MESSAGE_MAP() END_MESSAGE_MAP()
@@ -147,8 +149,7 @@ BOOL CSO7_Move_Location::OnInitDialog()
m_RepeTest_ErrRange=_T("0"); m_RepeTest_ErrRange=_T("0");
bRepeTestDone=false; bRepeTestDone=false;
UpdateData(FALSE); UpdateData(FALSE);
SetTimer(1,150,0); SetTimer(1,150,0);
SetTimer(2,200,0);
//SetTimer(4,20,NULL); //SetTimer(4,20,NULL);
return TRUE; return TRUE;
} }
@@ -158,6 +159,7 @@ void CSO7_Move_Location::OnBnClickedCancel()
KillTimer(1); KillTimer(1);
KillTimer(2); KillTimer(2);
KillTimer(4); KillTimer(4);
KillTimer(5);
Sleep(20); Sleep(20);
@@ -550,12 +552,9 @@ void CSO7_Move_Location::OnEnKillfocusEditMotionSpeedx()
{ {
m_pSO7_Proto->g_machine.s_machine_config.x_axis._MoveToSpeed[1]=dSpeedX; m_pSO7_Proto->g_machine.s_machine_config.x_axis._MoveToSpeed[1]=dSpeedX;
} }
m_pSO7_Proto->g_machine.s_machine_config.x_axis._speed_base[0]=0; int iSpeed(0);
m_pSO7_Proto->g_machine.s_machine_config.x_axis._speed_max[0]=0; iSpeed=static_cast<int>(dSpeedX*m_pSO7_Proto->g_machine.s_machine_config.x_axis._MotionSpeedScale);
m_pSO7_Proto->g_machine.s_machine_config.x_axis._speed_start[0]=static_cast<char>(dSpeedX*m_pSO7_Proto->g_machine.s_machine_config.x_axis._MotionSpeedScale); m_pSO7_Proto->_send_cmd_SO7_CMD_SET_CONSTANT_SPEED(iSpeed,0,0);
m_pSO7_Proto->g_machine.s_machine_config.x_axis._speed_fresh[0]=10;
m_pSO7_Proto->g_machine.s_machine_config.x_axis._speed_slow_dis[0]=0.0;
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_SPEED_PARAMETER(0,0);
} }
//===================================================================================== //=====================================================================================
void CSO7_Move_Location::OnEnKillfocusEditMotionSpeedy() void CSO7_Move_Location::OnEnKillfocusEditMotionSpeedy()
@@ -574,12 +573,9 @@ void CSO7_Move_Location::OnEnKillfocusEditMotionSpeedy()
{ {
m_pSO7_Proto->g_machine.s_machine_config.y_axis._MoveToSpeed[1]=dSpeedY; m_pSO7_Proto->g_machine.s_machine_config.y_axis._MoveToSpeed[1]=dSpeedY;
} }
m_pSO7_Proto->g_machine.s_machine_config.y_axis._speed_base[0]=0; int iSpeed(0);
m_pSO7_Proto->g_machine.s_machine_config.y_axis._speed_max[0]=0; iSpeed=static_cast<int>(dSpeedY*m_pSO7_Proto->g_machine.s_machine_config.y_axis._MotionSpeedScale);
m_pSO7_Proto->g_machine.s_machine_config.y_axis._speed_start[0]=static_cast<char>(dSpeedY*m_pSO7_Proto->g_machine.s_machine_config.y_axis._MotionSpeedScale); m_pSO7_Proto->_send_cmd_SO7_CMD_SET_CONSTANT_SPEED(iSpeed,1,0);
m_pSO7_Proto->g_machine.s_machine_config.y_axis._speed_fresh[0]=10;
m_pSO7_Proto->g_machine.s_machine_config.y_axis._speed_slow_dis[0]=0.0;
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_SPEED_PARAMETER(1,0);
} }
//===================================================================================== //=====================================================================================
void CSO7_Move_Location::OnEnKillfocusEditMotionSpeedz() void CSO7_Move_Location::OnEnKillfocusEditMotionSpeedz()
@@ -598,12 +594,9 @@ void CSO7_Move_Location::OnEnKillfocusEditMotionSpeedz()
{ {
m_pSO7_Proto->g_machine.s_machine_config.z_axis._MoveToSpeed[1]=dSpeedZ; m_pSO7_Proto->g_machine.s_machine_config.z_axis._MoveToSpeed[1]=dSpeedZ;
} }
m_pSO7_Proto->g_machine.s_machine_config.z_axis._speed_base[0]=0; int iSpeed(0);
m_pSO7_Proto->g_machine.s_machine_config.z_axis._speed_max[0]=0; iSpeed=static_cast<int>(dSpeedZ*m_pSO7_Proto->g_machine.s_machine_config.z_axis._MotionSpeedScale);
m_pSO7_Proto->g_machine.s_machine_config.z_axis._speed_start[0]=static_cast<char>(dSpeedZ*m_pSO7_Proto->g_machine.s_machine_config.z_axis._MotionSpeedScale); m_pSO7_Proto->_send_cmd_SO7_CMD_SET_CONSTANT_SPEED(iSpeed,2,0);
m_pSO7_Proto->g_machine.s_machine_config.z_axis._speed_fresh[0]=10;
m_pSO7_Proto->g_machine.s_machine_config.z_axis._speed_slow_dis[0]=0.0;
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_SPEED_PARAMETER(2,0);
} }
//===================================================================================== //=====================================================================================
void CSO7_Move_Location::OnBnClickedRadioSpeedSystem() void CSO7_Move_Location::OnBnClickedRadioSpeedSystem()
@@ -766,9 +759,12 @@ void CSO7_Move_Location::OnBnClickedButtonBeginRepeTest()
m_pSO7_Proto->_send_cmd_SO7_CMD_STOP_MOVE_XYZ(); m_pSO7_Proto->_send_cmd_SO7_CMD_STOP_MOVE_XYZ();
bFlag=false; bFlag=false;
bRepeTestDone=false; bRepeTestDone=false;
} //KillTimer(2);
}
else else
{ {
BOOL IsFinished;
m_pSO7_Proto->so7_motion_is_finished(EMSG_STOPXYZ_1_MOVETOXYZ,IsFinished);
bFlag=true; bFlag=true;
OnBnClickedButtonZeroSet(); OnBnClickedButtonZeroSet();
iCnt=0; iCnt=0;
@@ -821,6 +817,7 @@ void CSO7_Move_Location::OnBnClickedButtonBeginRepeTest()
} }
((CButton*)GetDlgItem(IDC_BUTTON_BEGIN_REPE_TEST))->SetWindowTextW(_T("Stop")); ((CButton*)GetDlgItem(IDC_BUTTON_BEGIN_REPE_TEST))->SetWindowTextW(_T("Stop"));
SetTimer(2,200,0);
} }
} }
@@ -2401,6 +2398,7 @@ void CSO7_Move_Location::OnTimer(UINT_PTR nIDEvent)
m_OutMessageZ=_T(""); m_OutMessageZ=_T("");
m_OutMessageV=_T(""); m_OutMessageV=_T("");
((CButton*)GetDlgItem(IDC_BUTTON_BEGIN_REPE_TEST))->SetWindowTextW(_T("Begin")); ((CButton*)GetDlgItem(IDC_BUTTON_BEGIN_REPE_TEST))->SetWindowTextW(_T("Begin"));
KillTimer(2);
} }
} }
} }
@@ -2490,7 +2488,33 @@ void CSO7_Move_Location::OnTimer(UINT_PTR nIDEvent)
} }
break; break;
} }
} case 5:
{
BYTE cdata[4]={0};
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,12);
cdata[0]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,13);
cdata[1]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,14);
cdata[2]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,15);
cdata[3]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
if (true)
{
m_OutMessage.Format(_T("[Err Pos]%02X %02X %02X %02X.\r\n"),cdata[0],cdata[1],cdata[2],cdata[3]);
}
else
{
m_OutMessage.Format(_T("[Err Pos]%d %d %d.\r\n"),cdata[0]*256+cdata[1],cdata[2]*256+cdata[3],((cdata[0]*256+cdata[1])-(cdata[2]*256+cdata[3])));
}
CString strOutput;
m_edit_RepeTest.GetWindowText(strOutput);
strOutput += m_OutMessage;
OutputWithScroll(strOutput,m_edit_RepeTest);
break;
}
}
CDialog::OnTimer(nIDEvent); CDialog::OnTimer(nIDEvent);
} }
@@ -2507,8 +2531,6 @@ void CSO7_Move_Location::OutputWithScroll(const CString &strText,CEdit &edtOutpu
edtOutput.SetSel(iCount, iCount); edtOutput.SetSel(iCount, iCount);
edtOutput.SetRedraw(TRUE); edtOutput.SetRedraw(TRUE);
} }
//===================================================================================== //=====================================================================================
void CSO7_Move_Location::OnBnClickedCheckSo7MotionOutputTime() void CSO7_Move_Location::OnBnClickedCheckSo7MotionOutputTime()
{ {
@@ -2521,7 +2543,22 @@ void CSO7_Move_Location::OnBnClickedCheckSo7MotionOutputTime()
m_bOutputTime=FALSE; m_bOutputTime=FALSE;
} }
} }
//=====================================================================================
void CSO7_Move_Location::OnBnClickedButtonSo7MovetoClearAllLog()
{
((CEdit *)GetDlgItem(IDC_EDIT_REPRETEST))->SetWindowTextW(_T(""));
}
void CSO7_Move_Location::OnBnClickedCheckSo7MovetoFpgadata()
{
if (((CButton *)GetDlgItem(IDC_CHECK_SO7_MOVETO_FPGADATA))->GetCheck())
{
int iTime=10;
SetTimer(5,iTime,NULL);
}
else
{
KillTimer(5);
}
}
@@ -98,4 +98,6 @@ public:
afx_msg void OnBnClickedRadioSpeedFast(); afx_msg void OnBnClickedRadioSpeedFast();
afx_msg void OnBnClickedRadioSpeedSlow(); afx_msg void OnBnClickedRadioSpeedSlow();
afx_msg void OnBnClickedRadioSpeedSystem(); afx_msg void OnBnClickedRadioSpeedSystem();
afx_msg void OnBnClickedButtonSo7MovetoClearAllLog();
afx_msg void OnBnClickedCheckSo7MovetoFpgadata();
}; };
@@ -215,6 +215,24 @@ BOOL CSO7_Send_Parameter::OnInitDialog()
((CButton *)GetDlgItem(IDC_RADIO_CANVAS_POSTION_TIME))->SetCheck(false); ((CButton *)GetDlgItem(IDC_RADIO_CANVAS_POSTION_TIME))->SetCheck(false);
((CButton *)GetDlgItem(IDC_RADIO_CANVAS_SPEED_TIME))->SetCheck(true); ((CButton *)GetDlgItem(IDC_RADIO_CANVAS_SPEED_TIME))->SetCheck(true);
if (m_pSO7_Proto->g_machine.FirmwareVer==FirmwareVer_6_X)
{
((CStatic *)GetDlgItem(IDC_STATIC_SPEED_PARA1))->SetWindowTextW(_T("加速度(0-255)"));
((CStatic *)GetDlgItem(IDC_STATIC_SPEED_PARA2))->SetWindowTextW(_T("缓冲距离(0-255)"));
((CStatic *)GetDlgItem(IDC_STATIC_SPEED_PARA3))->SetWindowTextW(_T("最低速率(0-255)"));
((CStatic *)GetDlgItem(IDC_STATIC_SPEED_PARA4))->SetWindowTextW(_T("刷新周期(0-255)"));
((CStatic *)GetDlgItem(IDC_STATIC_SPEED_PARA5))->SetWindowTextW(_T("最大速率(0.0-10.0)"));
}
else
{
((CStatic *)GetDlgItem(IDC_STATIC_SPEED_PARA1))->SetWindowTextW(_T("加速度"));
((CStatic *)GetDlgItem(IDC_STATIC_SPEED_PARA2))->SetWindowTextW(_T("最大速率 (高八位)"));
((CStatic *)GetDlgItem(IDC_STATIC_SPEED_PARA3))->SetWindowTextW(_T("最低速率 (低八位)"));
((CStatic *)GetDlgItem(IDC_STATIC_SPEED_PARA4))->SetWindowTextW(_T("刷新周期"));
((CStatic *)GetDlgItem(IDC_STATIC_SPEED_PARA5))->SetWindowTextW(_T("减速距离"));
}
return TRUE; // return TRUE unless you set the focus to a control return TRUE; // return TRUE unless you set the focus to a control
} }
@@ -377,7 +377,8 @@ void CSO7_UtilDlg::OnBnClickedButtonStartSo7machine()
csTmp.Format(("Firmware Version:[%s]"),m_pSO7_Proto->g_machine.FirmwareInfo); csTmp.Format(("Firmware Version:[%s]"),m_pSO7_Proto->g_machine.FirmwareInfo);
m_OutMessage=csTmp; m_OutMessage=csTmp;
OutputWithScroll(m_OutMessage,m_edMSG); OutputWithScroll(m_OutMessage,m_edMSG);
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_GET_INTERRUPT_MSG_METHOD(E_GET_INTERRUPT_MSG_INQUIRY); m_pSO7_Proto->g_machine.GetInterruptMsgMethod=E_GET_INTERRUPT_MSG_INQUIRY;
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_GET_INTERRUPT_MSG_METHOD(m_pSO7_Proto->g_machine.GetInterruptMsgMethod);
} }
((CButton*)GetDlgItem(IDC_BUTTON_PROBE_ONOFF))->SetWindowTextW(_T("当前探头:激光")); ((CButton*)GetDlgItem(IDC_BUTTON_PROBE_ONOFF))->SetWindowTextW(_T("当前探头:激光"));
((CButton*)GetDlgItem(IDC_BUTTON_FIXTURE_ONOFF))->SetWindowTextW(_T("当前状态:夹具开")); ((CButton*)GetDlgItem(IDC_BUTTON_FIXTURE_ONOFF))->SetWindowTextW(_T("当前状态:夹具开"));
@@ -1131,6 +1132,9 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7TestZSignal()
{ {
m_TestZSignalNow=FALSE; m_TestZSignalNow=FALSE;
((CButton*)GetDlgItem(IDC_BUTTON_SO7_TEST_Z_SIGNAL))->SetWindowTextW(_T("Test Z Signal")); ((CButton*)GetDlgItem(IDC_BUTTON_SO7_TEST_Z_SIGNAL))->SetWindowTextW(_T("Test Z Signal"));
m_ZsignalPosX=0;
m_ZsignalPosY=0;
m_ZsignalPosZ=0;
} }
else else
{ {
@@ -1402,9 +1406,9 @@ void CSO7_UtilDlg::OnTimer(UINT_PTR nIDEvent)
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_AXIS_XYZ(); m_pSO7_Proto->_send_cmd_SO7_CMD_READ_AXIS_XYZ();
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_V_DATA(); m_pSO7_Proto->_send_cmd_SO7_CMD_READ_V_DATA();
m_pSO7_Proto->g_machine.x._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.x._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution); m_pSO7_Proto->g_machine.x._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.x._scale_pos._long_-m_ZsignalPosX, m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution);
m_pSO7_Proto->g_machine.y._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.y._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution); m_pSO7_Proto->g_machine.y._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.y._scale_pos._long_-m_ZsignalPosY, m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution);
m_pSO7_Proto->g_machine.z._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.z._scale_pos._long_, m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution); m_pSO7_Proto->g_machine.z._d_cur_pos_ = m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.z._scale_pos._long_-m_ZsignalPosZ, m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution);
m_X_Pos.Format(_T("%8ld"),(m_pSO7_Proto->g_machine.x._scale_pos._long_)); m_X_Pos.Format(_T("%8ld"),(m_pSO7_Proto->g_machine.x._scale_pos._long_));
GetDlgItem(IDC_EDIT_X_AXIS)->SetWindowText(m_X_Pos); GetDlgItem(IDC_EDIT_X_AXIS)->SetWindowText(m_X_Pos);
@@ -14,8 +14,7 @@ static const long SaturationDefault = 5000;
static const long HueDefault = 5000; static const long HueDefault = 5000;
static const long SharpnessDefault = 4; static const long SharpnessDefault = 4;
static BYTE g_DataBuffer[640*480*2]; static BYTE g_DataBuffer[4][640*480*2];
static BYTE g_DataBuffer_NAV[640*480*2];
// CVideocard_SV4000E dialog // CVideocard_SV4000E dialog
@@ -54,6 +53,7 @@ BEGIN_MESSAGE_MAP(CVideocard_SV4000E, CDialog)
ON_BN_CLICKED(IDC_RADIO_SV4000E_CHANNEL2, &CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel2) ON_BN_CLICKED(IDC_RADIO_SV4000E_CHANNEL2, &CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel2)
ON_BN_CLICKED(IDC_RADIO_SV4000E_CHANNEL3, &CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel3) ON_BN_CLICKED(IDC_RADIO_SV4000E_CHANNEL3, &CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel3)
ON_BN_CLICKED(IDC_RADIO_SV4000E_CHANNEL4, &CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel4) ON_BN_CLICKED(IDC_RADIO_SV4000E_CHANNEL4, &CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel4)
ON_BN_CLICKED(IDC_RADIO_SV4000E_CHANNEL_ALL, &CVideocard_SV4000E::OnBnClickedRadioSv4000eChannelAll)
END_MESSAGE_MAP() END_MESSAGE_MAP()
@@ -157,51 +157,36 @@ void CVideocard_SV4000E::OnBnClickedButtonSV4000ESavefile()
void CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel1() void CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel1()
{ {
#ifdef _RELEASE_FULL_VERSION #ifdef _RELEASE_FULL_VERSION
m_status=DXStopRawVideoCallback(m_device[m_Channel]);
m_Channel=0; m_Channel=0;
m_status=DXSetRawVideoCallback(m_device[m_Channel], SV4000EAPrcVidCapCallBack, this);
m_status=DXStartRawVideoCallback(m_device[m_Channel],SV4000EAPrcVidCapCallBack,this);
//m_status=DXStartPreview(m_device[m_Channel], GetDlgItem(IDC_STATIC_SV4000E_PICTURE)->GetSafeHwnd(), NULL, 0);
#endif //_RELEASE_FULL_VERSION #endif //_RELEASE_FULL_VERSION
} }
//=================================================== //===================================================
void CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel2() void CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel2()
{ {
#ifdef _RELEASE_FULL_VERSION #ifdef _RELEASE_FULL_VERSION
m_status=DXStopRawVideoCallback(m_device[m_Channel]);
m_Channel=1; m_Channel=1;
m_status=DXSetRawVideoCallback(m_device[m_Channel], SV4000EAPrcVidCapCallBack, this);
m_status=DXStartRawVideoCallback(m_device[m_Channel],SV4000EAPrcVidCapCallBack,this);
//m_status=DXStartPreview(m_device[m_Channel], GetDlgItem(IDC_STATIC_SV4000E_PICTURE)->GetSafeHwnd(), NULL, 0);
#endif //_RELEASE_FULL_VERSION #endif //_RELEASE_FULL_VERSION
} }
//=================================================== //===================================================
void CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel3() void CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel3()
{ {
#ifdef _RELEASE_FULL_VERSION #ifdef _RELEASE_FULL_VERSION
m_status=DXStopRawVideoCallback(m_device[m_Channel]);
m_Channel=2; m_Channel=2;
m_status=DXSetRawVideoCallback(m_device[m_Channel], SV4000EAPrcVidCapCallBack, this);
m_status=DXStartRawVideoCallback(m_device[m_Channel],SV4000EAPrcVidCapCallBack,this);
//m_status=DXStartPreview(m_device[m_Channel], GetDlgItem(IDC_STATIC_SV4000E_PICTURE)->GetSafeHwnd(), NULL, 0);
#endif //_RELEASE_FULL_VERSION #endif //_RELEASE_FULL_VERSION
} }
//=================================================== //===================================================
void CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel4() void CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel4()
{ {
#ifdef _RELEASE_FULL_VERSION #ifdef _RELEASE_FULL_VERSION
m_status=DXStopRawVideoCallback(m_device[m_Channel]);
m_Channel=3; m_Channel=3;
m_status=DXSetRawVideoCallback(m_device[m_Channel], SV4000EAPrcVidCapCallBack, this);
m_status=DXStartRawVideoCallback(m_device[m_Channel],SV4000EAPrcVidCapCallBack,this);
//m_status=DXStartPreview(m_device[m_Channel], GetDlgItem(IDC_STATIC_SV4000E_PICTURE)->GetSafeHwnd(), NULL, 0);
#endif //_RELEASE_FULL_VERSION #endif //_RELEASE_FULL_VERSION
} }
void CVideocard_SV4000E::OnBnClickedRadioSv4000eChannelAll()
{
m_Channel=4;
}
//======================================= //=======================================
BOOL CVideocard_SV4000E::LoadVideocard() BOOL CVideocard_SV4000E::LoadVideocard()
{ {
@@ -217,9 +202,26 @@ BOOL CVideocard_SV4000E::LoadVideocard()
{ {
OpenDevice(i,m_device[i]); OpenDevice(i,m_device[i]);
} }
if(m_device[0])
m_status=DXSetRawVideoCallback(m_device[m_Channel], SV4000EAPrcVidCapCallBack, this); {
m_status=DXStartRawVideoCallback(m_device[m_Channel],SV4000EAPrcVidCapCallBack,this); m_status=DXSetRawVideoCallback(m_device[0], SV4000EAPrcVidCapCallBack0, this);
m_status=DXStartRawVideoCallback(m_device[0],SV4000EAPrcVidCapCallBack0,this);
}
if(m_device[1])
{
m_status=DXSetRawVideoCallback(m_device[1], SV4000EAPrcVidCapCallBack1, this);
m_status=DXStartRawVideoCallback(m_device[1],SV4000EAPrcVidCapCallBack1,this);
}
if(m_device[2])
{
m_status=DXSetRawVideoCallback(m_device[2], SV4000EAPrcVidCapCallBack2, this);
m_status=DXStartRawVideoCallback(m_device[2],SV4000EAPrcVidCapCallBack2,this);
}
if(m_device[3])
{
m_status=DXSetRawVideoCallback(m_device[3], SV4000EAPrcVidCapCallBack3, this);
m_status=DXStartRawVideoCallback(m_device[3],SV4000EAPrcVidCapCallBack3,this);
}
if((m_device[0]==NULL)||(m_device[2]==NULL)) if((m_device[0]==NULL)||(m_device[2]==NULL))
{ {
@@ -278,9 +280,10 @@ BOOL CVideocard_SV4000E::UnloadVideocard()
{ {
#ifdef _RELEASE_FULL_VERSION #ifdef _RELEASE_FULL_VERSION
m_status=DXStopRawVideoCallback(m_device[m_Channel]);
for (int i=0;i<m_nDevNum;i++) for (int i=0;i<m_nDevNum;i++)
{ {
m_status=DXStopRawVideoCallback(m_device[i]);
m_status=DXSetRawVideoCallback(m_device[i],NULL,NULL);
CloseDevice(m_device[i]); CloseDevice(m_device[i]);
} }
DXUninitialize(); DXUninitialize();
@@ -478,10 +481,8 @@ void CVideocard_SV4000E::OnPaint()
CDC* pMemDC = new CDC; CDC* pMemDC = new CDC;
CBitmap pBitBmp; CBitmap pBitBmp;
CBitmap pBitBmpNav; CBitmap pBitBmpNav;
BYTE *pData;
ConvertVideoSubType(m_ImageBuffer,g_DataBuffer,m_ConvertColorType,m_bMirror); CBitmap* pOldBitmap;
BYTE *pData = (BYTE *)m_ImageBuffer.ScanLine;
BITMAPINFO bmpInfo; BITMAPINFO bmpInfo;
bmpInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); bmpInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmpInfo.bmiHeader.biWidth = 640; bmpInfo.bmiHeader.biWidth = 640;
@@ -495,27 +496,65 @@ void CVideocard_SV4000E::OnPaint()
bmpInfo.bmiHeader.biClrUsed = 0; bmpInfo.bmiHeader.biClrUsed = 0;
bmpInfo.bmiHeader.biClrImportant = 0; bmpInfo.bmiHeader.biClrImportant = 0;
pBitBmp.CreateCompatibleBitmap(dc,640,480); if (m_Channel<4)
SetDIBits(dc->m_hDC,pBitBmp,0,480,pData,&bmpInfo,DIB_RGB_COLORS);
if (m_bSaveFile)
{ {
SaveBitmapToFile(pBitBmp,m_SaveFile); ConvertVideoSubType(m_ImageBuffer,g_DataBuffer[m_Channel],m_ConvertColorType,m_bMirror);
//CImage imgTemp; pData = (BYTE *)m_ImageBuffer.ScanLine;
//imgTemp.Attach(pBitBmp.operator HBITMAP()); pBitBmp.CreateCompatibleBitmap(dc,640,480);
//imgTemp.Save(m_SaveFile); SetDIBits(dc->m_hDC,pBitBmp,0,480,pData,&bmpInfo,DIB_RGB_COLORS);
m_bSaveFile=FALSE; if (m_bSaveFile)
} {
SaveBitmapToFile(pBitBmp,m_SaveFile);
if (!pMemDC->m_hDC) //CImage imgTemp;
//imgTemp.Attach(pBitBmp.operator HBITMAP());
//imgTemp.Save(m_SaveFile);
m_bSaveFile=FALSE;
}
if (!pMemDC->m_hDC)
{
pMemDC->CreateCompatibleDC(dc);
}
pOldBitmap = pMemDC->SelectObject(&pBitBmp);
nMode = pMemDC->SetBkMode(TRANSPARENT);
dc->BitBlt(0, 0, 640, 480, pMemDC,0,0, SRCCOPY);
}
else
{ {
pMemDC->CreateCompatibleDC(dc); if (!pMemDC->m_hDC)
{
pMemDC->CreateCompatibleDC(dc);
}
pBitBmp.CreateCompatibleBitmap(dc,640,480);
pOldBitmap = pMemDC->SelectObject(&pBitBmp);
nMode = pMemDC->SetBkMode(TRANSPARENT);
for (int i=0;i<2;i++)
{
for (int j=0;j<2;j++)
{
ConvertVideoSubType(m_ImageBuffer,g_DataBuffer[i*2+j],m_ConvertColorType,m_bMirror);
pData = (BYTE *)m_ImageBuffer.ScanLine;
SetDIBits(dc->m_hDC,pBitBmp,0,480,pData,&bmpInfo,DIB_RGB_COLORS);
pMemDC->SelectObject(&pBitBmp);
pMemDC->SetBkMode(TRANSPARENT);
dc->SetStretchBltMode(COLORONCOLOR);
dc->StretchBlt(320*j,240*i,320,240,pMemDC,0,0,bmpInfo.bmiHeader.biWidth,bmpInfo.bmiHeader.biHeight,SRCCOPY);
}
}
if (m_bSaveFile)
{
HDC imgDC = ::CreateCompatibleDC(dc->m_hDC);//´´½¨¼æÈÝDC
HBITMAP hBitMap = ::CreateCompatibleBitmap(dc->m_hDC,640,480);
HBITMAP hOldMap = (HBITMAP)::SelectObject(imgDC, hBitMap);
::BitBlt(imgDC, 0, 0,640,480, dc->m_hDC, 0, 0, SRCCOPY);
CImage imgTemp;
imgTemp.Attach(hBitMap);
imgTemp.Save(m_SaveFile,Gdiplus::ImageFormatBMP);
imgTemp.Detach();
::SelectObject(imgDC, hOldMap);
m_bSaveFile=FALSE;
}
} }
CBitmap* pOldBitmap = pMemDC->SelectObject(&pBitBmp);
nMode = pMemDC->SetBkMode(TRANSPARENT);
dc->BitBlt(0, 0, 640, 480, pMemDC,0,0, SRCCOPY);
pMemDC->SetBkMode(nMode); pMemDC->SetBkMode(nMode);
pMemDC->SelectObject(pOldBitmap); pMemDC->SelectObject(pOldBitmap);
ReleaseDC(pMemDC); ReleaseDC(pMemDC);
@@ -538,21 +577,38 @@ void CVideocard_SV4000E::OnTimer(UINT_PTR nIDEvent)
} }
//==================================SV4000E===================================== //==================================SV4000E=====================================
unsigned CALLBACK SV4000EAPrcVidCapCallBack(unsigned char* buffer, unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth, void* context) unsigned CALLBACK SV4000EAPrcVidCapCallBack0(unsigned char* buffer, unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth, void* context)
{ {
UNREFERENCED_PARAMETER(colorSpace); UNREFERENCED_PARAMETER(colorSpace);
UNREFERENCED_PARAMETER(context); UNREFERENCED_PARAMETER(context);
UNREFERENCED_PARAMETER(bytesWidth); UNREFERENCED_PARAMETER(bytesWidth);
memcpy(g_DataBuffer,(BYTE*)buffer,width*height*2); memcpy(g_DataBuffer[0],(BYTE*)buffer,width*height*2);
return 0; return 0;
} }
//==================================SV4000E===================================== //==================================SV4000E=====================================
unsigned CALLBACK SV4000EAPrcVidCapCallBackNav(unsigned char* buffer, unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth, void* context) unsigned CALLBACK SV4000EAPrcVidCapCallBack1(unsigned char* buffer, unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth, void* context)
{ {
UNREFERENCED_PARAMETER(colorSpace); UNREFERENCED_PARAMETER(colorSpace);
UNREFERENCED_PARAMETER(context); UNREFERENCED_PARAMETER(context);
UNREFERENCED_PARAMETER(bytesWidth); UNREFERENCED_PARAMETER(bytesWidth);
memcpy(g_DataBuffer_NAV,(BYTE*)buffer,width*height*2); memcpy(g_DataBuffer[1],(BYTE*)buffer,width*height*2);
return 0;
}
//==================================SV4000E=====================================
unsigned CALLBACK SV4000EAPrcVidCapCallBack2(unsigned char* buffer, unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth, void* context)
{
UNREFERENCED_PARAMETER(colorSpace);
UNREFERENCED_PARAMETER(context);
UNREFERENCED_PARAMETER(bytesWidth);
memcpy(g_DataBuffer[2],(BYTE*)buffer,width*height*2);
return 0;
}
//==================================SV4000E=====================================
unsigned CALLBACK SV4000EAPrcVidCapCallBack3(unsigned char* buffer, unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth, void* context)
{
UNREFERENCED_PARAMETER(colorSpace);
UNREFERENCED_PARAMETER(context);
UNREFERENCED_PARAMETER(bytesWidth);
memcpy(g_DataBuffer[3],(BYTE*)buffer,width*height*2);
return 0; return 0;
}; };
@@ -1,8 +1,10 @@
#pragma once #pragma once
// CVideocard_SV4000E dialog // CVideocard_SV4000E dialog
unsigned CALLBACK SV4000EAPrcVidCapCallBack(unsigned char* buffer, unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth, void* context); unsigned CALLBACK SV4000EAPrcVidCapCallBack0(unsigned char* buffer, unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth, void* context);
unsigned CALLBACK SV4000EAPrcVidCapCallBackNav(unsigned char* buffer, unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth, void* context); unsigned CALLBACK SV4000EAPrcVidCapCallBack1(unsigned char* buffer, unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth, void* context);
unsigned CALLBACK SV4000EAPrcVidCapCallBack2(unsigned char* buffer, unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth, void* context);
unsigned CALLBACK SV4000EAPrcVidCapCallBack3(unsigned char* buffer, unsigned colorSpace, unsigned width, unsigned height, unsigned bytesWidth, void* context);
class CVideocard_SV4000E : public CDialog class CVideocard_SV4000E : public CDialog
{ {
@@ -55,4 +57,5 @@ public:
afx_msg void OnBnClickedRadioSV4000EChannel3(); afx_msg void OnBnClickedRadioSV4000EChannel3();
afx_msg void OnBnClickedRadioSV4000EChannel4(); afx_msg void OnBnClickedRadioSV4000EChannel4();
afx_msg void OnBnClickedRadioSv4000eChannelAll();
}; };
@@ -789,6 +789,8 @@
#define IDC_BUTTON_SV4000E_SAVEFILE 1683 #define IDC_BUTTON_SV4000E_SAVEFILE 1683
#define IDC_STATIC_SV4000E_PICTURE 1684 #define IDC_STATIC_SV4000E_PICTURE 1684
#define IDC_CHECK_SO7_MOTION_OUTPUT_TIME 1685 #define IDC_CHECK_SO7_MOTION_OUTPUT_TIME 1685
#define IDC_RADIO_SV4000E_CHANNEL5 1685
#define IDC_RADIO_SV4000E_CHANNEL_ALL 1685
#define IDC_MFCBUTTON_SO7_PROGRAM_X_LEFT 1686 #define IDC_MFCBUTTON_SO7_PROGRAM_X_LEFT 1686
#define IDC_MFCBUTTON_SO7_PROGRAM_X_RIGHT 1687 #define IDC_MFCBUTTON_SO7_PROGRAM_X_RIGHT 1687
#define IDC_MFCBUTTON_SO7_PROGRAM_Y_FRONTWARD 1688 #define IDC_MFCBUTTON_SO7_PROGRAM_Y_FRONTWARD 1688
@@ -848,6 +850,7 @@
#define IDC_BUTTON1 1794 #define IDC_BUTTON1 1794
#define IDC_BUTTON_SO7_SENDDATATOFPGA 1794 #define IDC_BUTTON_SO7_SENDDATATOFPGA 1794
#define IDC_BUTTON_TESA_STAR_START_MACHINE 1794 #define IDC_BUTTON_TESA_STAR_START_MACHINE 1794
#define IDC_BUTTON_SO7_MOVETO_CLEAR_ALL_LOG 1794
#define IDC_COMBO_RWDATA_ADDR 1795 #define IDC_COMBO_RWDATA_ADDR 1795
#define IDC_EDIT_MOTION_SPEEDY 1796 #define IDC_EDIT_MOTION_SPEEDY 1796
#define IDC_COMBO_OUTPORT_NUMBER 1796 #define IDC_COMBO_OUTPORT_NUMBER 1796
@@ -872,6 +875,12 @@
#define IDC_BUTTONIDC_BUTTON_TESA_STAR_READ_POS 1812 #define IDC_BUTTONIDC_BUTTON_TESA_STAR_READ_POS 1812
#define IDC_EDIT_MOVETO_DEG2 1813 #define IDC_EDIT_MOVETO_DEG2 1813
#define IDC_EDIT_MOVETO_DEGA 1813 #define IDC_EDIT_MOVETO_DEGA 1813
#define IDC_CHECK_SO7_MOVETO_FPGADATA 1813
#define IDC_STATIC_SPEED_PARA5 1814
#define IDC_STATIC_SPEED_PARA2 1815
#define IDC_STATIC_SPEED_PARA1 1816
#define IDC_STATIC_SPEED_PARA3 1817
#define IDC_STATIC_SPEED_PARA4 1818
// Next default values for new objects // Next default values for new objects
// //
@@ -879,7 +888,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 189 #define _APS_NEXT_RESOURCE_VALUE 189
#define _APS_NEXT_COMMAND_VALUE 32771 #define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1813 #define _APS_NEXT_CONTROL_VALUE 1819
#define _APS_NEXT_SYMED_VALUE 104 #define _APS_NEXT_SYMED_VALUE 104
#endif #endif
#endif #endif