新增定速运动功能。

This commit is contained in:
TAO Cheng
2013-09-12 19:39:35 +08:00
parent 3dc4f2887c
commit f14a72d4e7
10 changed files with 435 additions and 93 deletions
+1
View File
@@ -33,3 +33,4 @@ PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/ReleaseSO7/
PcDmis/Base/Interfac/Msi/Hsi/KeyenceTM065/LKIF_Multi_USÓ¢ÕZ°æ
PcDmis/Base/Interfac/Msi/Hsi/KeyenceTM065/LK-GͨÐÅÓÃDLL-20090427
*.ipch
*.opensdf
@@ -493,6 +493,16 @@ CSO7_Proto::CSO7_Proto()
g_machine.s_machine_config.z_axis._neg_working_limit=0;
g_machine.s_machine_config.z_axis._pos_working_limit=200;
g_machine.s_machine_config.x_axis._MoveToSpeed[0]=0.0;
g_machine.s_machine_config.x_axis._MoveToSpeed[1]=0.0;
g_machine.s_machine_config.x_axis._MotionSpeedScale=1.0;
g_machine.s_machine_config.y_axis._MoveToSpeed[0]=0.0;
g_machine.s_machine_config.y_axis._MoveToSpeed[1]=0.0;
g_machine.s_machine_config.y_axis._MotionSpeedScale=1.0;
g_machine.s_machine_config.z_axis._MoveToSpeed[0]=0.0;
g_machine.s_machine_config.z_axis._MoveToSpeed[1]=0.0;
g_machine.s_machine_config.z_axis._MotionSpeedScale=1.0;
g_machine.s_machine_config.zm_axis._ComPort=1;
g_machine.s_machine_config.zm_axis._StartDegree=0.0;
g_machine.s_machine_config.zm_axis._EndDegree=0.0;
@@ -504,6 +514,8 @@ CSO7_Proto::CSO7_Proto()
g_machine.s_machine_config.zm_axis._SpeedSlow=800;
g_machine.s_machine_config.zm_axis._speed._short_=0;
g_machine.s_machine_config.motion._EnCloseLoop=FALSE;
g_machine.s_machine_config.motion._RetryTimes=5;
g_machine.s_machine_config.motion._ShiftPositionX=0.0;
@@ -607,6 +619,48 @@ SSI_STATUS_MOTION CSO7_Proto::Save_SevenOcean_Inifile(CString path_and_fileName)
fprintf(m_pOutFile,"%s", outBuff);
fprintf(m_pOutFile, "\n");
outBuff="MOVETOSPEED_FAST_X=";
fprintf(m_pOutFile,"%s", outBuff);
fprintf(m_pOutFile,"%9.8f", g_machine.s_machine_config.x_axis._MoveToSpeed[0]);
fprintf(m_pOutFile, "\n");
outBuff="MOVETOSPEED_SLOW_X=";
fprintf(m_pOutFile,"%s", outBuff);
fprintf(m_pOutFile,"%9.8f", g_machine.s_machine_config.x_axis._MoveToSpeed[1]);
fprintf(m_pOutFile, "\n");
outBuff="MOVETOSPEED_SCALE_X=";
fprintf(m_pOutFile,"%s", outBuff);
fprintf(m_pOutFile,"%9.8f", g_machine.s_machine_config.x_axis._MotionSpeedScale);
fprintf(m_pOutFile, "\n");
fprintf(m_pOutFile,"%s", ";\n");
outBuff="MOVETOSPEED_FAST_Y=";
fprintf(m_pOutFile,"%s", outBuff);
fprintf(m_pOutFile,"%9.8f", g_machine.s_machine_config.y_axis._MoveToSpeed[0]);
fprintf(m_pOutFile, "\n");
outBuff="MOVETOSPEED_SLOW_Y=";
fprintf(m_pOutFile,"%s", outBuff);
fprintf(m_pOutFile,"%9.8f", g_machine.s_machine_config.y_axis._MoveToSpeed[1]);
fprintf(m_pOutFile, "\n");
outBuff="MOVETOSPEED_SCALE_Y=";
fprintf(m_pOutFile,"%s", outBuff);
fprintf(m_pOutFile,"%9.8f", g_machine.s_machine_config.y_axis._MotionSpeedScale);
fprintf(m_pOutFile, "\n");
fprintf(m_pOutFile,"%s", ";\n");
outBuff="MOVETOSPEED_FAST_Z=";
fprintf(m_pOutFile,"%s", outBuff);
fprintf(m_pOutFile,"%9.8f", g_machine.s_machine_config.z_axis._MoveToSpeed[0]);
fprintf(m_pOutFile, "\n");
outBuff="MOVETOSPEED_SLOW_Z=";
fprintf(m_pOutFile,"%s", outBuff);
fprintf(m_pOutFile,"%9.8f", g_machine.s_machine_config.z_axis._MoveToSpeed[1]);
fprintf(m_pOutFile, "\n");
outBuff="MOVETOSPEED_SCALE_Z=";
fprintf(m_pOutFile,"%s", outBuff);
fprintf(m_pOutFile,"%9.8f", g_machine.s_machine_config.z_axis._MotionSpeedScale);
fprintf(m_pOutFile, "\n");
fprintf(m_pOutFile,"%s", ";\n");
outBuff="SPEED_BASE_X1=";
fprintf(m_pOutFile,"%s", outBuff);
fprintf(m_pOutFile,"%d", (byte)g_machine.s_machine_config.x_axis._speed_base[0]);
@@ -1059,8 +1113,89 @@ SSI_STATUS_MOTION CSO7_Proto::Load_SevenOcean_Inifile(CString cso7IniFile)
if((szLine[0]!=';')&&(strlen(szLine)>2))
{
token = strtok(szLine,seps);
if(!_stricmp(token,"MOVETOSPEED_FAST_X"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
g_machine.s_machine_config.x_axis._MoveToSpeed[0]=atof(cTemp);
}
}
else if(!_stricmp(token,"MOVETOSPEED_SLOW_X"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
g_machine.s_machine_config.x_axis._MoveToSpeed[1]=atof(cTemp);
}
}
else if(!_stricmp(token,"MOVETOSPEED_SCALE_X"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
g_machine.s_machine_config.x_axis._MotionSpeedScale=atof(cTemp);
}
}
else if(!_stricmp(token,"MOVETOSPEED_FAST_Y"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
g_machine.s_machine_config.y_axis._MoveToSpeed[0]=atof(cTemp);
}
}
else if(!_stricmp(token,"MOVETOSPEED_SLOW_Y"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
g_machine.s_machine_config.y_axis._MoveToSpeed[1]=atof(cTemp);
}
}
else if(!_stricmp(token,"MOVETOSPEED_SCALE_Y"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
g_machine.s_machine_config.y_axis._MotionSpeedScale=atof(cTemp);
}
}
else if(!_stricmp(token,"MOVETOSPEED_FAST_Z"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
g_machine.s_machine_config.z_axis._MoveToSpeed[0]=atof(cTemp);
}
}
else if(!_stricmp(token,"MOVETOSPEED_SLOW_Z"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
g_machine.s_machine_config.z_axis._MoveToSpeed[1]=atof(cTemp);
}
}
else if(!_stricmp(token,"MOVETOSPEED_SCALE_Z"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
g_machine.s_machine_config.z_axis._MotionSpeedScale=atof(cTemp);
}
}
// X1
if(!_stricmp(token,"SPEED_BASE_X1"))//SPEED_BASE_X1
else if(!_stricmp(token,"SPEED_BASE_X1"))//SPEED_BASE_X1
{
token = strtok( NULL, seps);
if (token)
@@ -104,6 +104,9 @@ struct s_so7_axis_config // axis configuration
char _speed_max[5];
double _speed_slow_dis[5];
double _MoveToSpeed[2];
double _MotionSpeedScale;
long _scale_range;
double _neg_working_limit;
double _pos_working_limit;
@@ -2152,3 +2152,24 @@ 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.
@@ -1,9 +1,21 @@
[HARDWARE]
SPEED_BASE_X1=5
SPEED_MAX_X1=168
SPEED_START_X1=28
SPEED_FRESH_X1=10
SPEED_SLOW_X1=0.509
MOVETOSPEED_FAST_X=20.00000000
MOVETOSPEED_SLOW_X=10.00000000
MOVETOSPEED_SCALE_X=1.00000000
;
MOVETOSPEED_FAST_Y=20.00000000
MOVETOSPEED_SLOW_Y=10.00000000
MOVETOSPEED_SCALE_Y=1.00000000
;
MOVETOSPEED_FAST_Z=20.00000000
MOVETOSPEED_SLOW_Z=10.00000000
MOVETOSPEED_SCALE_Z=1.00000000
;
SPEED_BASE_X1=0
SPEED_MAX_X1=0
SPEED_START_X1=10
SPEED_FRESH_X1=0
SPEED_SLOW_X1=0.000
;
SPEED_BASE_X2=3
SPEED_MAX_X2=50
@@ -14,26 +26,26 @@ SPEED_SLOW_X2=0.109
SPEED_BASE_X3=2
SPEED_MAX_X3=5
SPEED_START_X3=5
SPEED_FRESH_X3=100
SPEED_FRESH_X3=10
SPEED_SLOW_X3=0.001
;
SPEED_BASE_X4=2
SPEED_MAX_X4=0
SPEED_START_X4=50
SPEED_FRESH_X4=100
SPEED_FRESH_X4=10
SPEED_SLOW_X4=0.001
;
SPEED_BASE_X5=2
SPEED_BASE_X5=5
SPEED_MAX_X5=0
SPEED_START_X5=80
SPEED_FRESH_X5=100
SPEED_SLOW_X5=0.000
SPEED_FRESH_X5=10
SPEED_SLOW_X5=0.001
;
SPEED_BASE_Y1=5
SPEED_MAX_Y1=168
SPEED_START_Y1=28
SPEED_FRESH_Y1=10
SPEED_SLOW_Y1=0.600
SPEED_BASE_Y1=0
SPEED_MAX_Y1=0
SPEED_START_Y1=10
SPEED_FRESH_Y1=0
SPEED_SLOW_Y1=0.000
;
SPEED_BASE_Y2=3
SPEED_MAX_Y2=60
@@ -43,27 +55,27 @@ SPEED_SLOW_Y2=0.200
;
SPEED_BASE_Y3=2
SPEED_MAX_Y3=5
SPEED_START_Y3=5
SPEED_FRESH_Y3=100
SPEED_START_Y3=3
SPEED_FRESH_Y3=10
SPEED_SLOW_Y3=0.001
;
SPEED_BASE_Y4=2
SPEED_MAX_Y4=0
SPEED_START_Y4=50
SPEED_FRESH_Y4=100
SPEED_FRESH_Y4=10
SPEED_SLOW_Y4=0.001
;
SPEED_BASE_Y5=2
SPEED_BASE_Y5=5
SPEED_MAX_Y5=0
SPEED_START_Y5=80
SPEED_FRESH_Y5=100
SPEED_SLOW_Y5=0.000
SPEED_FRESH_Y5=10
SPEED_SLOW_Y5=0.001
;
SPEED_BASE_Z1=5
SPEED_MAX_Z1=130
SPEED_START_Z1=28
SPEED_FRESH_Z1=10
SPEED_SLOW_Z1=0.509
SPEED_BASE_Z1=0
SPEED_MAX_Z1=0
SPEED_START_Z1=10
SPEED_FRESH_Z1=0
SPEED_SLOW_Z1=0.000
;
SPEED_BASE_Z2=3
SPEED_MAX_Z2=60
@@ -74,27 +86,27 @@ SPEED_SLOW_Z2=0.109
SPEED_BASE_Z3=2
SPEED_MAX_Z3=5
SPEED_START_Z3=5
SPEED_FRESH_Z3=100
SPEED_FRESH_Z3=10
SPEED_SLOW_Z3=0.001
;
SPEED_BASE_Z4=2
SPEED_MAX_Z4=0
SPEED_START_Z4=50
SPEED_FRESH_Z4=100
SPEED_FRESH_Z4=10
SPEED_SLOW_Z4=0.001
;
SPEED_BASE_Z5=2
SPEED_BASE_Z5=5
SPEED_MAX_Z5=0
SPEED_START_Z5=80
SPEED_FRESH_Z5=100
SPEED_SLOW_Z5=0.000
SPEED_FRESH_Z5=10
SPEED_SLOW_Z5=0.001
;
X_MOTOR_PRECISION=0.009
Y_MOTOR_PRECISION=0.009
Z_MOTOR_PRECISION=0.100
;
X_MOTOR_WHEELBASE=19.990
Y_MOTOR_WHEELBASE=31.556
Y_MOTOR_WHEELBASE=20.000
Z_MOTOR_WHEELBASE=2.999
;
MOTOR_PULSE_NUM=10000
@@ -478,69 +478,77 @@ BEGIN
LTEXT "µç»úÇý¶¯Æ÷ϸ·ÖÊý",IDC_STATIC,134,124,65,8
END
IDD_SO7_UTIL_MOVE_LOCATION DIALOGEX 0, 0, 283, 436
IDD_SO7_UTIL_MOVE_LOCATION DIALOGEX 0, 0, 511, 354
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Move To Location(SO7)"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
EDITTEXT IDC_EDIT_MOVE_TO_X,41,78,53,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MOVE_TO_Y,41,94,53,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MOVE_TO_Z,41,110,53,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MOVE_TO_ZM,41,126,53,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MOVE_TO_Y,41,99,53,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MOVE_TO_Z,41,120,53,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MOVE_TO_ZM,39,141,53,12,ES_AUTOHSCROLL
CONTROL "Reverse",IDC_CHECK_REVERSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,119,79,43,10
PUSHBUTTON "Move To XYZ",ID_OK_START,102,101,71,13,BS_MULTILINE
PUSHBUTTON "Move To Zoom",IDC_BUTTON_MOVE_TO_ZOOM,102,124,71,13
PUSHBUTTON "Move To XYZ",ID_OK_START,102,108,71,13,BS_MULTILINE
PUSHBUTTON "Move To Zoom",IDC_BUTTON_MOVE_TO_ZOOM,100,140,71,13
PUSHBUTTON "Move To XYZ(JM)",IDC_BUTTON_MOVE_TO_XYZ_JM,180,78,71,13
PUSHBUTTON "Move To XYZ(Laser)",IDC_BUTTON_MOVE_TO_XYZ_LASER,180,101,71,13
PUSHBUTTON "Move To XYZV",IDC_BUTTON_MOVE_TO_XYZV,180,124,71,13
EDITTEXT IDC_EDIT_REPETEST_DIS,124,224,57,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_REPETEST_TIMES,124,248,57,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_REPETEST_INTERVAL,124,272,45,12,ES_RIGHT | ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_REPETEST_ERRORRANGE,124,296,45,12,ES_RIGHT | ES_AUTOHSCROLL
PUSHBUTTON "Begin",IDC_BUTTON_BEGIN_REPE_TEST,194,249,56,13
PUSHBUTTON "Save...",IDC_BUTTON_SAVE_REPETEST,194,276,56,13
GROUPBOX "System",IDC_STATIC,19,9,64,46
CONTROL "inch",IDC_RADIO_INCH,"Button",BS_AUTORADIOBUTTON | WS_GROUP,33,20,29,10
CONTROL "mm",IDC_RADIO_MM,"Button",BS_AUTORADIOBUTTON,33,30,27,10
CONTROL "pulse",IDC_RADIO_SCALE,"Button",BS_AUTORADIOBUTTON,33,40,33,10
GROUPBOX "Move Type",IDC_STATIC,102,10,68,45
CONTROL "Relative",IDC_RADIO_MOVE_RELATIVE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,116,22,42,10
CONTROL "Absolute",IDC_RADIO_MOVE_ABSOLUTE,"Button",BS_AUTORADIOBUTTON,116,38,44,10
GROUPBOX "Move Speed",IDC_STATIC,185,9,69,46
CONTROL "Fast",IDC_RADIO_SPEED_FAST,"Button",BS_AUTORADIOBUTTON | WS_GROUP,195,20,30,10
CONTROL "Slow",IDC_RADIO_SPEED_SLOW,"Button",BS_AUTORADIOBUTTON,195,30,31,10
CONTROL "User Defined",IDC_RADIO_SPEED_USER_DEFINED,"Button",BS_AUTORADIOBUTTON,195,40,54,10
PUSHBUTTON "EXIT",IDCANCEL,226,415,50,14
PUSHBUTTON "Move To XYZ(Laser)",IDC_BUTTON_MOVE_TO_XYZ_LASER,180,108,71,13
PUSHBUTTON "Move To XYZV",IDC_BUTTON_MOVE_TO_XYZV,180,140,71,13
EDITTEXT IDC_EDIT_REPETEST_DIS,366,78,57,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_REPETEST_TIMES,366,102,57,12,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_REPETEST_INTERVAL,366,126,45,12,ES_RIGHT | ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_REPETEST_ERRORRANGE,366,150,45,12,ES_RIGHT | ES_AUTOHSCROLL
PUSHBUTTON "Begin",IDC_BUTTON_BEGIN_REPE_TEST,436,103,56,13
PUSHBUTTON "Save...",IDC_BUTTON_SAVE_REPETEST,436,130,56,13
GROUPBOX "System",IDC_STATIC,22,9,64,46
CONTROL "inch",IDC_RADIO_INCH,"Button",BS_AUTORADIOBUTTON | WS_GROUP,36,20,29,10
CONTROL "mm",IDC_RADIO_MM,"Button",BS_AUTORADIOBUTTON,36,30,27,10
CONTROL "pulse",IDC_RADIO_SCALE,"Button",BS_AUTORADIOBUTTON,36,40,33,10
GROUPBOX "Move Type",IDC_STATIC,93,10,68,45
CONTROL "Relative",IDC_RADIO_MOVE_RELATIVE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,107,22,42,10
CONTROL "Absolute",IDC_RADIO_MOVE_ABSOLUTE,"Button",BS_AUTORADIOBUTTON,107,38,44,10
GROUPBOX "Move Speed",IDC_STATIC,168,9,330,46
CONTROL "Fast",IDC_RADIO_SPEED_FAST,"Button",BS_AUTORADIOBUTTON | WS_GROUP,180,22,30,10
CONTROL "Slow",IDC_RADIO_SPEED_SLOW,"Button",BS_AUTORADIOBUTTON,180,36,31,10
PUSHBUTTON "EXIT",IDCANCEL,454,333,50,14
LTEXT "x",IDC_STATIC,29,78,8,8
LTEXT "y",IDC_STATIC,29,94,8,8
LTEXT "z",IDC_STATIC,29,111,8,8
LTEXT "zm",IDC_STATIC,25,127,8,8
LTEXT "x",IDC_STATIC,29,172,8,11
LTEXT "y",IDC_STATIC,29,190,8,11
LTEXT "z",IDC_STATIC,109,172,8,11
LTEXT "zm",IDC_STATIC,107,193,11,11
EDITTEXT IDC_EDIT_X_AXIS,40,171,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP
EDITTEXT IDC_EDIT_Y_AXIS,40,190,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP
EDITTEXT IDC_EDIT_Z_AXIS,121,171,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP
EDITTEXT IDC_EDIT_ZM_AXIS,121,190,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP
GROUPBOX "Move To Position",IDC_STATIC,20,63,236,90
GROUPBOX "Position",IDC_STATIC,18,157,238,50
PUSHBUTTON "Zero Set",IDC_BUTTON_ZERO_SET,191,179,56,13
GROUPBOX "Repeatability Test",IDC_STATIC,19,209,238,106
LTEXT "To",IDC_STATIC,102,225,8,8
LTEXT "Times",IDC_STATIC,97,251,19,8
EDITTEXT IDC_EDIT_REPRETEST,22,322,236,67,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
CONTROL "x",IDC_CHECK_REPETESTX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,225,20,10
CONTROL "y",IDC_CHECK_REPETESTY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,239,20,10
CONTROL "z",IDC_CHECK_REPETESTZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,253,20,10
LTEXT "Pause",IDC_STATIC,95,274,20,8
LTEXT "ms",IDC_STATIC,172,274,10,8
CONTROL "Absolute",IDC_CHECK_REPETEST_ABSOLUTE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,297,44,10
LTEXT "Deadband",IDC_STATIC,86,298,34,8
LTEXT "um",IDC_STATIC_DEADBAND_UNITS,172,298,19,8
CONTROL "VolComp",IDC_CHECK_REPETEST_VOLCOMP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,283,43,10
CONTROL "V",IDC_CHECK_REPETESTV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,37,267,20,10
CONTROL "Output Time",IDC_CHECK_SO7_MOTION_OUTPUT_TIME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,198,225,55,10
LTEXT "y",IDC_STATIC,29,99,8,8
LTEXT "z",IDC_STATIC,29,120,8,8
LTEXT "zm",IDC_STATIC,25,141,8,8
LTEXT "x",IDC_STATIC,39,188,8,11
LTEXT "y",IDC_STATIC,131,188,8,11
LTEXT "z",IDC_STATIC,221,188,8,11
LTEXT "zm",IDC_STATIC,310,188,11,11
EDITTEXT IDC_EDIT_X_AXIS,52,187,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP
EDITTEXT IDC_EDIT_Y_AXIS,143,187,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP
EDITTEXT IDC_EDIT_Z_AXIS,234,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 "Position",IDC_STATIC,20,171,480,36
PUSHBUTTON "Zero Set",IDC_BUTTON_ZERO_SET,423,185,56,13
GROUPBOX "Repeatability Test",IDC_STATIC,261,63,238,106
LTEXT "To",IDC_STATIC,344,79,8,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
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 "z",IDC_CHECK_REPETESTZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,279,106,20,10
LTEXT "Pause",IDC_STATIC,337,127,20,8
LTEXT "ms",IDC_STATIC,414,127,10,8
CONTROL "Absolute",IDC_CHECK_REPETEST_ABSOLUTE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,279,151,44,10
LTEXT "Deadband",IDC_STATIC,328,151,34,8
LTEXT "um",IDC_STATIC_DEADBAND_UNITS,414,151,19,8
CONTROL "VolComp",IDC_CHECK_REPETEST_VOLCOMP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,279,137,43,10
CONTROL "V",IDC_CHECK_REPETESTV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,279,121,20,10
CONTROL "Output Time",IDC_CHECK_SO7_MOTION_OUTPUT_TIME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,440,79,55,10
EDITTEXT IDC_EDIT_MOTION_SPEEDX,240,27,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MOTION_SPEEDY,329,27,40,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_MOTION_SPEEDZ,418,27,40,14,ES_AUTOHSCROLL
LTEXT "X",IDC_STATIC,230,29,8,8
LTEXT "Y",IDC_STATIC,317,29,8,8
LTEXT "Z",IDC_STATIC,406,29,8,8
LTEXT "mm/s",IDC_STATIC,283,29,18,8
LTEXT "mm/s",IDC_STATIC,375,29,18,8
LTEXT "mm/s",IDC_STATIC,462,28,18,8
END
IDD_SO7_UTIL_IMAGE_DLL DIALOGEX 0, 0, 377, 184
@@ -865,9 +873,9 @@ BEGIN
IDD_SO7_UTIL_MOVE_LOCATION, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 276
RIGHTMARGIN, 504
TOPMARGIN, 7
BOTTOMMARGIN, 429
BOTTOMMARGIN, 347
END
IDD_SO7_UTIL_IMAGE_DLL, DIALOG
@@ -71,6 +71,11 @@ BEGIN_MESSAGE_MAP(CSO7_Move_Location, CDialog)
ON_BN_CLICKED(IDC_RADIO_SCALE, &CSO7_Move_Location::OnBnClickedRadioScale)
ON_BN_CLICKED(IDC_RADIO_MM, &CSO7_Move_Location::OnBnClickedRadioMm)
ON_BN_CLICKED(IDC_CHECK_SO7_MOTION_OUTPUT_TIME, &CSO7_Move_Location::OnBnClickedCheckSo7MotionOutputTime)
ON_EN_KILLFOCUS(IDC_EDIT_MOTION_SPEEDX, &CSO7_Move_Location::OnEnKillfocusEditMotionSpeedx)
ON_EN_KILLFOCUS(IDC_EDIT_MOTION_SPEEDY, &CSO7_Move_Location::OnEnKillfocusEditMotionSpeedy)
ON_EN_KILLFOCUS(IDC_EDIT_MOTION_SPEEDZ, &CSO7_Move_Location::OnEnKillfocusEditMotionSpeedz)
ON_BN_CLICKED(IDC_RADIO_SPEED_FAST, &CSO7_Move_Location::OnBnClickedRadioSpeedFast)
ON_BN_CLICKED(IDC_RADIO_SPEED_SLOW, &CSO7_Move_Location::OnBnClickedRadioSpeedSlow)
END_MESSAGE_MAP()
@@ -86,12 +91,14 @@ BOOL CSO7_Move_Location::OnInitDialog()
((CButton *)GetDlgItem(IDC_RADIO_INCH))->SetCheck(0);
((CButton *)GetDlgItem(IDC_RADIO_MM))->SetCheck(1);
((CButton *)GetDlgItem(IDC_RADIO_SCALE))->SetCheck(0);
((CButton *)GetDlgItem(IDC_RADIO_SPEED_FAST))->SetCheck(1);
((CButton *)GetDlgItem(IDC_RADIO_SPEED_SLOW))->SetCheck(0);
((CButton *)GetDlgItem(IDC_RADIO_SPEED_FAST))->SetCheck(0);
((CButton *)GetDlgItem(IDC_RADIO_SPEED_SLOW))->SetCheck(1);
((CButton *)GetDlgItem(IDC_RADIO_MOVE_RELATIVE))->SetCheck(1);
((CButton *)GetDlgItem(IDC_RADIO_MOVE_ABSOLUTE))->SetCheck(0);
GetDlgItem(IDC_EDIT_REPETEST_ERRORRANGE)->EnableWindow(false);
OnBnClickedRadioSpeedSlow();
if (((CButton *)GetDlgItem(IDC_RADIO_SCALE))->GetCheck())
{// scale
m_Move_to_X=_T("0");
@@ -522,7 +529,152 @@ void CSO7_Move_Location::OnBnClickedRadioMm()
{
SetDlgItemText(IDC_STATIC_DEADBAND_UNITS,_T("um"));
}
//=====================================================================================
void CSO7_Move_Location::OnEnKillfocusEditMotionSpeedx()
{
UpdateData(TRUE);
USES_CONVERSION;
CString str;
GetDlgItem(IDC_EDIT_MOTION_SPEEDX)->GetWindowText(str);
const char* cSpeedX=T2A(str);
double dSpeedX= atof(cSpeedX);
if (((CButton *)GetDlgItem(IDC_RADIO_SPEED_FAST))->GetCheck())
{
m_pSO7_Proto->g_machine.s_machine_config.x_axis._MoveToSpeed[0]=dSpeedX;
}
else
{
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;
m_pSO7_Proto->g_machine.s_machine_config.x_axis._speed_max[0]=0;
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->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()
{
UpdateData(TRUE);
USES_CONVERSION;
CString str;
GetDlgItem(IDC_EDIT_MOTION_SPEEDY)->GetWindowText(str);
const char* cSpeedY=T2A(str);
double dSpeedY= atof(cSpeedY);
if (((CButton *)GetDlgItem(IDC_RADIO_SPEED_FAST))->GetCheck())
{
m_pSO7_Proto->g_machine.s_machine_config.y_axis._MoveToSpeed[0]=dSpeedY;
}
else
{
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;
m_pSO7_Proto->g_machine.s_machine_config.y_axis._speed_max[0]=0;
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->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()
{
UpdateData(TRUE);
USES_CONVERSION;
CString str;
GetDlgItem(IDC_EDIT_MOTION_SPEEDZ)->GetWindowText(str);
const char* cSpeedZ=T2A(str);
double dSpeedZ= atof(cSpeedZ);
if (((CButton *)GetDlgItem(IDC_RADIO_SPEED_FAST))->GetCheck())
{
m_pSO7_Proto->g_machine.s_machine_config.z_axis._MoveToSpeed[0]=dSpeedZ;
}
else
{
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;
m_pSO7_Proto->g_machine.s_machine_config.z_axis._speed_max[0]=0;
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->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::OnBnClickedRadioSpeedFast()
{
CString cStr("");
cStr.Format(_T("%.3f"),(m_pSO7_Proto->g_machine.s_machine_config.x_axis._MoveToSpeed[0]));
GetDlgItem(IDC_EDIT_MOTION_SPEEDX)->SetWindowTextW(cStr);
cStr.Format(_T("%.3f"),(m_pSO7_Proto->g_machine.s_machine_config.y_axis._MoveToSpeed[0]));
GetDlgItem(IDC_EDIT_MOTION_SPEEDY)->SetWindowTextW(cStr);
cStr.Format(_T("%.3f"),(m_pSO7_Proto->g_machine.s_machine_config.z_axis._MoveToSpeed[0]));
GetDlgItem(IDC_EDIT_MOTION_SPEEDZ)->SetWindowTextW(cStr);
double dSpeedX=m_pSO7_Proto->g_machine.s_machine_config.x_axis._MoveToSpeed[0];
double dSpeedY=m_pSO7_Proto->g_machine.s_machine_config.y_axis._MoveToSpeed[0];
double dSpeedZ=m_pSO7_Proto->g_machine.s_machine_config.z_axis._MoveToSpeed[0];
m_pSO7_Proto->g_machine.s_machine_config.x_axis._speed_base[0]=0;
m_pSO7_Proto->g_machine.s_machine_config.x_axis._speed_max[0]=0;
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->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);
Sleep(20);
m_pSO7_Proto->g_machine.s_machine_config.y_axis._speed_base[0]=0;
m_pSO7_Proto->g_machine.s_machine_config.y_axis._speed_max[0]=0;
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->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);
Sleep(20);
m_pSO7_Proto->g_machine.s_machine_config.z_axis._speed_base[0]=0;
m_pSO7_Proto->g_machine.s_machine_config.z_axis._speed_max[0]=0;
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->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);
Sleep(20);
}
//=====================================================================================
void CSO7_Move_Location::OnBnClickedRadioSpeedSlow()
{
CString cStr("");
cStr.Format(_T("%.3f"),(m_pSO7_Proto->g_machine.s_machine_config.x_axis._MoveToSpeed[1]));
GetDlgItem(IDC_EDIT_MOTION_SPEEDX)->SetWindowTextW(cStr);
cStr.Format(_T("%.3f"),(m_pSO7_Proto->g_machine.s_machine_config.y_axis._MoveToSpeed[1]));
GetDlgItem(IDC_EDIT_MOTION_SPEEDY)->SetWindowTextW(cStr);
cStr.Format(_T("%.3f"),(m_pSO7_Proto->g_machine.s_machine_config.z_axis._MoveToSpeed[1]));
GetDlgItem(IDC_EDIT_MOTION_SPEEDZ)->SetWindowTextW(cStr);
double dSpeedX=m_pSO7_Proto->g_machine.s_machine_config.x_axis._MoveToSpeed[1];
double dSpeedY=m_pSO7_Proto->g_machine.s_machine_config.y_axis._MoveToSpeed[1];
double dSpeedZ=m_pSO7_Proto->g_machine.s_machine_config.z_axis._MoveToSpeed[1];
m_pSO7_Proto->g_machine.s_machine_config.x_axis._speed_base[0]=0;
m_pSO7_Proto->g_machine.s_machine_config.x_axis._speed_max[0]=0;
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->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);
Sleep(20);
m_pSO7_Proto->g_machine.s_machine_config.y_axis._speed_base[0]=0;
m_pSO7_Proto->g_machine.s_machine_config.y_axis._speed_max[0]=0;
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->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);
Sleep(20);
m_pSO7_Proto->g_machine.s_machine_config.z_axis._speed_base[0]=0;
m_pSO7_Proto->g_machine.s_machine_config.z_axis._speed_max[0]=0;
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->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);
Sleep(20);
}
//=========================================================================================
void CSO7_Move_Location::OnEnKillfocusEditRepetestDis()
{
@@ -2371,3 +2523,4 @@ void CSO7_Move_Location::OnBnClickedCheckSo7MotionOutputTime()
m_bOutputTime=FALSE;
}
}
@@ -92,4 +92,9 @@ public:
afx_msg void OnBnClickedRadioScale();
afx_msg void OnBnClickedRadioMm();
afx_msg void OnBnClickedCheckSo7MotionOutputTime();
afx_msg void OnEnKillfocusEditMotionSpeedx();
afx_msg void OnEnKillfocusEditMotionSpeedy();
afx_msg void OnEnKillfocusEditMotionSpeedz();
afx_msg void OnBnClickedRadioSpeedFast();
afx_msg void OnBnClickedRadioSpeedSlow();
};
@@ -838,6 +838,10 @@
#define IDC_BUTTON1 1794
#define IDC_BUTTON_SO7_SENDDATATOFPGA 1794
#define IDC_COMBO_RWDATA_ADDR 1795
#define IDC_EDIT_MOTION_SPEEDY 1796
#define IDC_EDIT4 1797
#define IDC_EDIT_MOTION_SPEEDZ 1797
#define IDC_EDIT_MOTION_SPEEDX 1798
// Next default values for new objects
//
@@ -845,7 +849,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 188
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1796
#define _APS_NEXT_CONTROL_VALUE 1799
#define _APS_NEXT_SYMED_VALUE 104
#endif
#endif