From 73da2cb8fcd3c3648b25e0647ea61d437a9a1479 Mon Sep 17 00:00:00 2001 From: TAO Cheng Date: Wed, 28 May 2014 11:52:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=89=E6=A0=85=E5=B0=BA?= =?UTF-8?q?=E3=80=81=E9=99=90=E4=BD=8D=E4=BD=8D=E7=BD=AE=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp | 407 +++++++++++++++--- .../Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h | 3 +- .../MachineInterfaceDll.cpp | 93 +--- .../UsbUtility/UsbUtil/SO7_Send_Parameter.cpp | 1 + .../Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp | 5 + .../UsbUtility/UsbUtil/SetSo7MotionConfig.cpp | 141 +++++- .../Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo | Bin 135680 -> 135680 bytes 7 files changed, 493 insertions(+), 157 deletions(-) diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp index 771b230..9b3b684 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp @@ -511,16 +511,6 @@ CSO7_Proto::CSO7_Proto() g_machine.Light_Size=0; g_machine.Light_Switch=0; g_machine.SEQ_NUMBER=0; - g_machine.s_machine_config.x_axis._scale_resolution=0.5; - g_machine.s_machine_config.y_axis._scale_resolution=0.5; - g_machine.s_machine_config.z_axis._scale_resolution=0.5; - - g_machine.s_machine_config.x_axis._neg_working_limit=0; - g_machine.s_machine_config.x_axis._pos_working_limit=400; - g_machine.s_machine_config.y_axis._neg_working_limit=0; - g_machine.s_machine_config.y_axis._pos_working_limit=300; - 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; @@ -624,9 +614,21 @@ SSI_STATUS_MOTION CSO7_Proto::so7_config_para_set_default() g_machine.s_machine_config.motion.m_MachineType=MACHINE_SO7_CONTROLLER; g_machine.s_machine_config.motion.m_VideoCardType=0; + + g_machine.s_machine_config.x_axis._scale_resolution=0.5; + g_machine.s_machine_config.y_axis._scale_resolution=0.5; + g_machine.s_machine_config.z_axis._scale_resolution=0.5; + + g_machine.s_machine_config.x_axis._neg_working_limit=0; + g_machine.s_machine_config.x_axis._pos_working_limit=200; + g_machine.s_machine_config.y_axis._neg_working_limit=0; + g_machine.s_machine_config.y_axis._pos_working_limit=100; + 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.motion.m_RotaryCircleDis=7.2; g_machine.s_machine_config.motion.m_RotaryCirclePulse=14400; - g_machine.s_machine_config.motion.m_RotaryAxisNO=MACHINE_AXIS_Y; + g_machine.s_machine_config.motion.m_RotaryAxisNO=MACHINE_AXIS_NONE; return SSI_STATUS_MOTION_NORMAL; @@ -2022,6 +2024,7 @@ SSI_STATUS_MOTION CSO7_Proto::Load_SevenOcean_Inifile(CString cso7IniFile) g_machine._motor_pulse_num=atoi(cTemp); } } + /* //=====================[WORKTABLE]======================== else if(!_stricmp(token, "X_SCALE_RESOLUTION")) { @@ -2113,6 +2116,7 @@ SSI_STATUS_MOTION CSO7_Proto::Load_SevenOcean_Inifile(CString cso7IniFile) g_machine.dRotaryCirclDis=atof(cTemp); } } + */ } } fclose(hConfigFile); @@ -2302,6 +2306,56 @@ SSI_STATUS_MOTION CSO7_Proto::Save_So7_Config() fprintf(m_pOutFile, "\n"); fprintf(m_pOutFile, ";\n"); + + outBuff="[CUSTOM_MACHINE]"; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile, "\n"); + outBuff="X_SCALE_RESOLUTION="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.x_axis._scale_resolution); + fprintf(m_pOutFile, "\n"); + outBuff="Y_SCALE_RESOLUTION="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.y_axis._scale_resolution); + fprintf(m_pOutFile, "\n"); + outBuff="Z_SCALE_RESOLUTION="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.z_axis._scale_resolution); + fprintf(m_pOutFile, "\n"); + outBuff="X_NEG_WORKING_LIMIT="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.x_axis._neg_working_limit); + fprintf(m_pOutFile, "\n"); + outBuff="X_POS_WORKING_LIMIT="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.x_axis._pos_working_limit); + fprintf(m_pOutFile, "\n"); + outBuff="Y_NEG_WORKING_LIMIT="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.y_axis._neg_working_limit); + fprintf(m_pOutFile, "\n"); + outBuff="Y_POS_WORKING_LIMIT="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.y_axis._pos_working_limit); + fprintf(m_pOutFile, "\n"); + outBuff="Z_NEG_WORKING_LIMIT="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.z_axis._neg_working_limit); + fprintf(m_pOutFile, "\n"); + outBuff="Z_POS_WORKING_LIMIT="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.z_axis._pos_working_limit); + fprintf(m_pOutFile, "\n"); + outBuff="ROTARY_AXIS_NUMBER="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.m_RotaryAxisNO); + fprintf(m_pOutFile, "\n"); + outBuff="ROTARY_CIR_DIS="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.m_RotaryCircleDis); + fprintf(m_pOutFile, "\n"); + fprintf(m_pOutFile, ";\n"); + fclose(m_pOutFile); } return SSI_STATUS_MOTION_NORMAL; @@ -2590,54 +2644,6 @@ SSI_STATUS_MOTION CSO7_Proto::Load_So7_Config() g_machine.s_machine_config.motion.m_DebugOutputEnable=atoi(cTemp); } } - //==================Motion============================= - else if(!_stricmp(token, "X_SCALE_RESOLUTION")) - { - token = strtok( NULL, seps); - if (token) - { - strcpy(cTemp,token); - g_machine.s_machine_config.x_axis._scale_resolution=atof(cTemp); - } - } - else if(!_stricmp(token, "Y_SCALE_RESOLUTION")) - { - token = strtok( NULL, seps); - if (token) - { - strcpy(cTemp,token); - g_machine.s_machine_config.y_axis._scale_resolution=atof(cTemp); - } - } - else if(!_stricmp(token, "Z_SCALE_RESOLUTION")) - { - token = strtok( NULL, seps); - if (token) - { - strcpy(cTemp,token); - g_machine.s_machine_config.z_axis._scale_resolution=atof(cTemp); - } - } - //=================Rotary======================== - else if (!_stricmp(token,"ROTARY_AXIS_NUMBER")) - { - token = strtok( NULL, seps); - if (token) - { - strcpy(cTemp,token); - g_machine.s_machine_config.motion.m_RotaryAxisNO=atoi(cTemp); - } - } - else if (!_stricmp(token,"ROTARY_CIR_DIS")) - { - token = strtok( NULL, seps); - if (token) - { - strcpy(cTemp,token); - g_machine.s_machine_config.motion.m_RotaryCircleDis=atof(cTemp); - g_machine.s_machine_config.motion.m_RotaryCirclePulse=g_machine.s_machine_config.motion.m_RotaryCircleDis/ROTARY_MMtoScale_RESOLUTION; - } - } //=================VideoCard======================== else if (!_stricmp(token,"SDK3000_SLEEP_COUNT")) { @@ -2703,6 +2709,108 @@ SSI_STATUS_MOTION CSO7_Proto::Load_So7_Config() g_machine.s_machine_config.motion.m_VideoCardType=atoi(cTemp); } } + + //=================Custom machine======================== + else if(!_stricmp(token, "X_SCALE_RESOLUTION")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.x_axis._scale_resolution=atof(cTemp); + } + } + else if(!_stricmp(token, "Y_SCALE_RESOLUTION")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.y_axis._scale_resolution=atof(cTemp); + } + } + else if(!_stricmp(token, "Z_SCALE_RESOLUTION")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.z_axis._scale_resolution=atof(cTemp); + } + } + else if(!_stricmp(token, "X_NEG_WORKING_LIMIT")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.x_axis._neg_working_limit=atof(cTemp); + } + } + else if(!_stricmp(token, "X_POS_WORKING_LIMIT")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.x_axis._pos_working_limit=atof(cTemp); + } + } + else if(!_stricmp(token, "Y_NEG_WORKING_LIMIT")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.y_axis._neg_working_limit=atof(cTemp); + } + } + else if(!_stricmp(token, "Y_POS_WORKING_LIMIT")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.y_axis._pos_working_limit=atof(cTemp); + } + } + else if(!_stricmp(token, "Z_NEG_WORKING_LIMIT")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.z_axis._neg_working_limit=atof(cTemp); + } + } + else if(!_stricmp(token, "Z_POS_WORKING_LIMIT")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.z_axis._pos_working_limit=atof(cTemp); + } + } + else if (!_stricmp(token,"ROTARY_AXIS_NUMBER")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.motion.m_RotaryAxisNO=atoi(cTemp); + } + } + else if (!_stricmp(token,"ROTARY_CIR_DIS")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.motion.m_RotaryCircleDis=atof(cTemp); + g_machine.s_machine_config.motion.m_RotaryCirclePulse=g_machine.s_machine_config.motion.m_RotaryCircleDis/ROTARY_MMtoScale_RESOLUTION; + } + } } } fclose(hConfigFile); @@ -3734,6 +3842,148 @@ SSI_STATUS_MOTION CSO7_Proto::_get_xyz_index(long & lX, long & lY, long & lZ) return SSI_STATUS_MOTION_NORMAL; }; +SSI_STATUS_MOTION CSO7_Proto::so7_motion_jog(EMACHINE_AXIS cAxis,char cSpeedGear) +{ + if (abs(cSpeedGear)>4) + { + if (cSpeedGear>0) + { + cSpeedGear=4; + } + else + { + cSpeedGear=-4; + } + } + if (abs(cSpeedGear)<1) + { + cSpeedGear=1; + } + switch (cAxis) + { + case MACHINE_AXIS_X: + { + if (cSpeedGear==4) + { + double dXStart(0.0), dYStart(0.0), dZStart(0.0); + so7_motion_get_position_xyz(dXStart, dYStart, dZStart); + return so7_motion_set_position_xyz(g_machine.s_machine_config.x_axis._pos_working_limit,dYStart,dZStart,false); + } + else if (cSpeedGear==-4) + { + double dXStart(0.0), dYStart(0.0), dZStart(0.0); + so7_motion_get_position_xyz(dXStart, dYStart, dZStart); + return so7_motion_set_position_xyz(g_machine.s_machine_config.x_axis._neg_working_limit,dYStart,dZStart,false); + } + else + { + return _send_cmd_SO7_CMD_MOVE_X(cSpeedGear); + } + break; + } + case MACHINE_AXIS_Y: + { + if (cSpeedGear==4) + { + double dXStart(0.0), dYStart(0.0), dZStart(0.0); + so7_motion_get_position_xyz(dXStart, dYStart, dZStart); + return so7_motion_set_position_xyz(dXStart,g_machine.s_machine_config.y_axis._pos_working_limit,dZStart,false); + } + else if (cSpeedGear==-4) + { + double dXStart(0.0), dYStart(0.0), dZStart(0.0); + so7_motion_get_position_xyz(dXStart, dYStart, dZStart); + return so7_motion_set_position_xyz(dXStart,g_machine.s_machine_config.y_axis._neg_working_limit,dZStart,false); + } + else + { + return _send_cmd_SO7_CMD_MOVE_Y(cSpeedGear); + } + break; + } + case MACHINE_AXIS_Z: + { + if (cSpeedGear==4) + { + double dXStart(0.0), dYStart(0.0), dZStart(0.0); + so7_motion_get_position_xyz(dXStart, dYStart, dZStart); + return so7_motion_set_position_xyz(dXStart,dYStart,g_machine.s_machine_config.z_axis._pos_working_limit,false); + } + else if (cSpeedGear==-4) + { + double dXStart(0.0), dYStart(0.0), dZStart(0.0); + so7_motion_get_position_xyz(dXStart, dYStart, dZStart); + return so7_motion_set_position_xyz(dXStart,dYStart,g_machine.s_machine_config.z_axis._neg_working_limit,false); + } + else + { + return _send_cmd_SO7_CMD_MOVE_Z(cSpeedGear); + } + break; + } + case MACHINE_AXIS_ZOOM: + { + if (abs(cSpeedGear)==4) + { + if (cSpeedGear>0) + { + cSpeedGear=5; + } + else + { + cSpeedGear=-5; + } + } + else if (abs(cSpeedGear)==3) + { + if (cSpeedGear>0) + { + cSpeedGear=5; + } + else + { + cSpeedGear=-5; + } + } + else if (abs(cSpeedGear)==2) + { + if (cSpeedGear>0) + { + cSpeedGear=1; + } + else + { + cSpeedGear=-1; + } + } + else if (abs(cSpeedGear)==1) + { + if (cSpeedGear>0) + { + cSpeedGear=2; + } + else + { + cSpeedGear=-2; + } + } + return _send_cmd_SO7_CMD_MOVE_ZM(cSpeedGear); + break; + } + case MACHINE_AXIS_R: + { + return so7_motion_move_R(cSpeedGear); + break; + } + default: + { + return SSI_STATUS_MOTION_INVALID_PARAMETERS; + break; + } + } + return SSI_STATUS_MOTION_NORMAL; +} + //================================================================== SSI_STATUS_MOTION CSO7_Proto::so7_motion_get_position_xyz(double & dX, double & dY, double & dZ) { @@ -3776,11 +4026,44 @@ SSI_STATUS_MOTION CSO7_Proto::so7_motion_set_position_xyz(double dX, double dY, SO7AXISMOVE Z; X.dFromMM = dXStart; - X.dToMM = dX; + if (dXg_machine.s_machine_config.x_axis._pos_working_limit) + { + X.dToMM=g_machine.s_machine_config.x_axis._pos_working_limit; + } + else + { + X.dToMM = dX; + } Y.dFromMM = dYStart; - Y.dToMM = dY; + if (dYg_machine.s_machine_config.y_axis._pos_working_limit) + { + Y.dToMM=g_machine.s_machine_config.y_axis._pos_working_limit; + } + else + { + Y.dToMM = dY; + } Z.dFromMM = dZStart; - Z.dToMM = dZ; + if (dZg_machine.s_machine_config.z_axis._pos_working_limit) + { + Z.dToMM=g_machine.s_machine_config.z_axis._pos_working_limit; + } + else + { + Z.dToMM = dZ; + } X.from = MMtoScale(dXStart, g_machine.s_machine_config.x_axis._scale_resolution); X.to = MMtoScale(dX, g_machine.s_machine_config.x_axis._scale_resolution); diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h index c0c0cb8..5db9d8b 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h @@ -453,7 +453,8 @@ public: SSI_STATUS_MOTION so7_motion_reset_controller_parameter(); SSI_STATUS_MOTION _get_xyz_index(long & lX, long & lY, long & lZ); - SSI_STATUS_MOTION so7_motion_get_position_xyz(double & dX, double & dY, double & dZ); + SSI_STATUS_MOTION so7_motion_jog(EMACHINE_AXIS cAxis,char cSpeedGear); + SSI_STATUS_MOTION so7_motion_get_position_xyz(double & dX, double & dY, double & dZ); SSI_STATUS_MOTION so7_motion_set_position_xyz(double dX, double dY, double dZ, bool bWait); SSI_STATUS_MOTION so7_Motion_XYZ_IsMotionFinished(bool &bFinished); BOOL IsMotionFinishedManual(BOOL _BResetCnts=FALSE); diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.cpp index 509abaa..baa96de 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.cpp @@ -215,99 +215,8 @@ EXP_IMP SSI_STATUS_MOTION Motion_Jog(EMACHINE_AXIS cAxis,char cSpeedGear) { if (m_pSO7_Proto) { - if (abs(cSpeedGear)>4) - { - if (cSpeedGear>0) - { - cSpeedGear=4; - } - else - { - cSpeedGear=-4; - } - } - if (abs(cSpeedGear)<1) - { - cSpeedGear=1; - } ActiveAxis=cAxis; - switch (cAxis) - { - case MACHINE_AXIS_X: - { - return m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_X(cSpeedGear); - break; - } - case MACHINE_AXIS_Y: - { - return m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_Y(cSpeedGear); - break; - } - case MACHINE_AXIS_Z: - { - return m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_Z(cSpeedGear); - break; - } - case MACHINE_AXIS_ZOOM: - { - if (abs(cSpeedGear)==4) - { - if (cSpeedGear>0) - { - cSpeedGear=5; - } - else - { - cSpeedGear=-5; - } - } - else if (abs(cSpeedGear)==3) - { - if (cSpeedGear>0) - { - cSpeedGear=5; - } - else - { - cSpeedGear=-5; - } - } - else if (abs(cSpeedGear)==2) - { - if (cSpeedGear>0) - { - cSpeedGear=1; - } - else - { - cSpeedGear=-1; - } - } - else if (abs(cSpeedGear)==1) - { - if (cSpeedGear>0) - { - cSpeedGear=2; - } - else - { - cSpeedGear=-2; - } - } - return m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_ZM(cSpeedGear); - break; - } - case MACHINE_AXIS_R: - { - return m_pSO7_Proto->so7_motion_move_R(cSpeedGear); - break; - } - default: - { - return SSI_STATUS_MOTION_INVALID_PARAMETERS; - break; - } - } + return m_pSO7_Proto->so7_motion_jog(cAxis,cSpeedGear); } else { diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.cpp index 9b49de5..fd12866 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Send_Parameter.cpp @@ -376,6 +376,7 @@ void CSO7_Send_Parameter::OnBnClickedButtonSave() if( fdlg.DoModal()==IDOK) { + m_pSO7_Proto->Save_So7_Config(); path_and_fileName=fdlg.GetPathName(); ChangeParameterOnEdit(); switch(fdlg.m_ofn.nFilterIndex) diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp index e8cad70..f5b697d 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp @@ -942,6 +942,8 @@ void CSO7_UtilDlg::OnEnKillfocusEditXScaleCoefficient() const char* cTempValue=T2A(m_cs_XScaleCoeff); m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution = atof(cTempValue); + m_pSO7_Proto->Save_So7_Config(); + } void CSO7_UtilDlg::OnEnKillfocusEditYScaleCoefficient() { @@ -951,6 +953,8 @@ void CSO7_UtilDlg::OnEnKillfocusEditYScaleCoefficient() const char* cTempValue=T2A(m_cs_YScaleCoeff); m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution = atof(cTempValue); + m_pSO7_Proto->Save_So7_Config(); + } @@ -962,6 +966,7 @@ void CSO7_UtilDlg::OnEnKillfocusEditZScaleCoefficient() const char* cTempValue=T2A(m_cs_ZScaleCoeff); m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution = atof(cTempValue); + m_pSO7_Proto->Save_So7_Config(); } void CSO7_UtilDlg::OnBnClickedButtonMotionParameter() diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.cpp index 6013149..829f1d5 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.cpp @@ -61,8 +61,8 @@ BOOL CSetSo7MotionConfig::OnInitDialog() } UpdateLabelName(); UpdateDataValue(); - m_ConfigList.SetEditableItemRange(0,23,2,2); - m_ConfigList.SetColorStyleItemRange(0,25,0,3); + m_ConfigList.SetEditableItemRange(0,36,2,2); + m_ConfigList.SetColorStyleItemRange(0,36,0,3); return TRUE; } @@ -226,6 +226,72 @@ void CSetSo7MotionConfig::UpdateLabelName() cStr=L"视频卡类型;保留项;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; + + + cStr=L"X_SCALE_RESOLUTION"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr=L"X轴光栅尺分辨率;单位:um;默认值:0.5"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr=L"Y_SCALE_RESOLUTION"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr=L"Y轴光栅尺分辨率;单位:um;默认值:0.5"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr=L"Z_SCALE_RESOLUTION"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr=L"Z轴光栅尺分辨率;单位:um;默认值:0.5"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr=L"X_NEG_WORKING_LIMIT"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr=L"X轴负向限位位置;单位:mm;默认值:0"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + cStr=L"X_POS_WORKING_LIMIT"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr=L"X轴正向限位位置;单位:mm;默认值:200"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr=L"Y_NEG_WORKING_LIMIT"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr=L"Y轴负向限位位置;单位:mm;默认值:0"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + cStr=L"Y_POS_WORKING_LIMIT"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr=L"Y轴正向限位位置;单位:mm;默认值:100"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr=L"Z_NEG_WORKING_LIMIT"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr=L"Z轴负向限位位置;单位:mm;默认值:0"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + cStr=L"Z_POS_WORKING_LIMIT"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr=L"Z轴正向限位位置;单位:mm;默认值:200"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr=L"ROTARY_AXIS_NUMBER"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr=L"转台轴编号;0:禁用,1:X轴,2:Y轴,3:Z轴;默认值:0"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr=L"ROTARY_CIR_DIS"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr=L"转盘一圈的位移量;单位:mm;默认值:7.2"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + } void CSetSo7MotionConfig::UpdateDataValue() { @@ -287,6 +353,31 @@ void CSetSo7MotionConfig::UpdateDataValue() m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_VideoCardType); m_ConfigList.SetItemText(iRow++,iCol,cStr); + + + cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.x_axis._neg_working_limit); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.x_axis._pos_working_limit); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.y_axis._neg_working_limit); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.y_axis._pos_working_limit); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.z_axis._neg_working_limit); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.z_axis._pos_working_limit); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryAxisNO); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryCircleDis); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + } void CSetSo7MotionConfig::SaveDataValue() { @@ -394,6 +485,52 @@ void CSetSo7MotionConfig::SaveDataValue() cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[3]=atoi(cTemp); iRow++; + + + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution=atof(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution=atof(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution=atof(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.x_axis._neg_working_limit=atof(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.x_axis._pos_working_limit=atof(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.y_axis._neg_working_limit=atof(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.y_axis._pos_working_limit=atof(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.z_axis._neg_working_limit=atof(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.z_axis._pos_working_limit=atof(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryAxisNO=atoi(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryCircleDis=atof(cTemp); + iRow++; } void CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigOk() { diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo index d47f5395e708d40aefadc1873831c5b5b1b112a7..642a02b66d553176c46087e06e762e7c33f85460 100644 GIT binary patch delta 2960 zcmaJ@3s96t68`(&e;>RIEXzWG2;xF`DX{T`LtGYEbu}vZh_MXk3HXizG3X(eghg{= z?qUM8=Ojigf=JZl4Dv_TGDg-D1QZl3Jw=Tdxx`ATr>IyJiKW-Guq0m9-E4jT_H_63 z^z`)fjICBgVu_6nqaFi6H@}4p)F0usINZpvxlYkDL zgvHA9;th~zsvdf{2?kQ1LSS8C5GfaFGu3!PN|5`XA0cW6)(e80&+#4@FSL`lwy_9h~6;)^0f3uz;7qj;U6c( zVEL3frauDV(Cb`PmrtPQlA<{Ui8Bg{RutrCU`0j3poo398)8}he2Bp>CSQSny410} zA{n}P&o?c9#p;}*6?t!F4^tSr(l`PH@Du{(-Fuo>4`OlDl81h`z~ywb^xR&LaCG)|>#C0`~A;R+iLSfa#NJDxyqa%^%FzRA=rb&Kl>WSyw z{f=z;I%fVy=4TU5Aqp0Gmqi0Kr~ePG3577nZK8RqS)SGBG4t_!&ZQXPc!B8WjsKrNn zr@4WatZ|D&nY(W(pyLz0LJ*eX>K&Od5t}~oclOG5X8KMPER>D8!dhXO@Rsl@WoN$J z^!aUjQOr72kE;%5vx*%sg8lm}_}W8uz;zF{;|~1JZn^`LfQ80UW{$sD2sdb{ zsi+ONV0F8;>OlbN+O)f?M~h5yfSK6}!HQX(@yy!+8s=CA(d?KS^l%x|?qBfF6AI}U z0^qr^DXH>0d;3OH=c4N4tZWnLusbb|O$&x~+m1sq-sw=`{kCj=8tyl7s}i%!h6ta( z-Ca<+=d)X>`qJv<{YSi8eQ{QbFLoJ>bTHHIx3H6HF!(f``F>B{fl2Ce4z==VQJ6t7 z`pp#aQWzy4-)RLiACcao;z2P1}Vr%d74Nyq3~Yz&(`rUI?IV zzPb(d4EH_fI36?uEkuX+I@S)xALo4=&9W6>z-y_Yd~;M--#LDF zb-08Z+T$_4Hw$w^&B~VqqaesFy&FLaA=A!0RX!oF1bie#$u-|ERANJT4eh@-nl9_) z+il5EnWK|+w{I&k;*?o7-#-jIKb^sntD_c4_C@JX4OIgMiQB=*fkNeHB!7ZC2jWT( z6Lo-anQ(&e1;Ii1nsAJ8l<*CqiSQ+11K}j$3SlqdIH85mMmSCAA+!_D6Zmu;^xsK1 zLpVFcBetu_FaLZLG3xK~y|fSSUR`sn z#=v)#$FdgJ7&plg<4d4X1(K+7S!JFY7$+}16-YbMwi!)VbQpZq9n;%W>?!Whti&*5 z4aP^SWNXrVsMCUoMq?GfQ`r8QkdD{%0T^nmC5Fac?*}?}r{PkUQ}+H4I4ijce0gnk5Y>cZn7K&givC84t5bbOL-9r!vhbJ*-Vva zM6r3See41_=LLFJ)=n>h!cK3lQiv6%HfB|cNpuWIWhFE!z|H={Y6z0pY>k-9s|GXs zh-UoGFqdYG#wV%GIIevfpWU8Y1iQR2H(ZO;C+gILnRC)t) z7r-4ih6kbTf`ol(-v3?k9Q@b@Gg}21?1l=ss`eNw3|37#$@0C9OnQYx7%;v$3&&mT zU{(icWo=u&;#Wzw7_-{P{wgl~(ZkGzU~yJZa>tL{Iq7t;>g))fC`oi!eTgXucAqP7 zSFFnRm#-ck)ndGV}2#U1eUR%Zl{{iXqsLRm$2;eY5V)1!wz?E55DCDF9JVt zEU6Jvq>NpqlE`i=}_6tHM}9+z^jB8lfnPkH{oW7GV})_K=kG zUmZ*9SIamAAc<`JT@^$;)3G2*+8pw${!d}w}3lmX{h^KgKQRg4V7AwVUtmq7L@9`%^YCZnA>gHCsM&UYPx2Q!)C6yC< d(3v7HF$I9;r{1z6!vH=U1o^grx8_+kJ6 delta 2801 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