From ec719c48bb9214eb022873da9ba5dcda124123b2 Mon Sep 17 00:00:00 2001 From: TAO Cheng Date: Wed, 28 May 2014 15:44:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E8=AE=BE=E7=BD=AE=E5=80=BC?= =?UTF-8?q?=E7=9A=84=E5=90=8C=E6=AD=A5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Tools/UsbUtility/Debug/UtilityDebug.Log | 7 ++ .../Tools/UsbUtility/Debug/Utility_Config.ini | 66 +++++++++--------- .../Hsi/Tools/UsbUtility/Debug/so7_config.ini | 10 +-- .../MachineInterfaceDll.rc | Bin 4676 -> 4676 bytes .../Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp | 15 +++- .../UsbUtility/UsbUtil/SetSo7MotionConfig.cpp | 12 +++- .../Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo | Bin 135680 -> 135680 bytes 7 files changed, 69 insertions(+), 41 deletions(-) diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log index 2396879..e105972 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log @@ -4578,3 +4578,10 @@ Usb Port Initialized. Usb Port Initialized. Usb Port Initialized. Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. +Usb Port Initialized. diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/Utility_Config.ini b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/Utility_Config.ini index 95bacbe..5456e4c 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/Utility_Config.ini +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/Utility_Config.ini @@ -25,21 +25,21 @@ SPEED_SLOW_X2=2.000 ; SPEED_BASE_X3=2 SPEED_MAX_X3=0 -SPEED_START_X3=0 -SPEED_FRESH_X3=100 -SPEED_SLOW_X3=0.001 +SPEED_START_X3=8 +SPEED_FRESH_X3=10 +SPEED_SLOW_X3=0.050 ; SPEED_BASE_X4=2 SPEED_MAX_X4=0 SPEED_START_X4=5 -SPEED_FRESH_X4=100 -SPEED_SLOW_X4=0.001 +SPEED_FRESH_X4=10 +SPEED_SLOW_X4=0.010 ; SPEED_BASE_X5=2 SPEED_MAX_X5=0 SPEED_START_X5=50 -SPEED_FRESH_X5=100 -SPEED_SLOW_X5=0.000 +SPEED_FRESH_X5=10 +SPEED_SLOW_X5=0.100 ; SPEED_BASE_Y1=20 SPEED_MAX_Y1=10 @@ -55,21 +55,21 @@ SPEED_SLOW_Y2=1.000 ; SPEED_BASE_Y3=2 SPEED_MAX_Y3=0 -SPEED_START_Y3=0 -SPEED_FRESH_Y3=100 -SPEED_SLOW_Y3=0.001 +SPEED_START_Y3=8 +SPEED_FRESH_Y3=10 +SPEED_SLOW_Y3=0.050 ; -SPEED_BASE_Y4=2 +SPEED_BASE_Y4=0 SPEED_MAX_Y4=0 SPEED_START_Y4=10 -SPEED_FRESH_Y4=100 -SPEED_SLOW_Y4=0.001 +SPEED_FRESH_Y4=10 +SPEED_SLOW_Y4=0.010 ; -SPEED_BASE_Y5=2 +SPEED_BASE_Y5=1 SPEED_MAX_Y5=0 SPEED_START_Y5=50 -SPEED_FRESH_Y5=100 -SPEED_SLOW_Y5=0.000 +SPEED_FRESH_Y5=10 +SPEED_SLOW_Y5=0.100 ; SPEED_BASE_Z1=20 SPEED_MAX_Z1=100 @@ -86,28 +86,28 @@ SPEED_SLOW_Z2=1.500 SPEED_BASE_Z3=3 SPEED_MAX_Z3=5 SPEED_START_Z3=5 -SPEED_FRESH_Z3=100 -SPEED_SLOW_Z3=0.001 +SPEED_FRESH_Z3=10 +SPEED_SLOW_Z3=0.100 ; -SPEED_BASE_Z4=2 +SPEED_BASE_Z4=0 SPEED_MAX_Z4=0 SPEED_START_Z4=18 -SPEED_FRESH_Z4=100 -SPEED_SLOW_Z4=0.001 +SPEED_FRESH_Z4=10 +SPEED_SLOW_Z4=0.010 ; -SPEED_BASE_Z5=2 +SPEED_BASE_Z5=5 SPEED_MAX_Z5=6 SPEED_START_Z5=133 -SPEED_FRESH_Z5=100 -SPEED_SLOW_Z5=0.000 +SPEED_FRESH_Z5=10 +SPEED_SLOW_Z5=0.100 ; -X_MOTOR_PRECISION=0.008 -Y_MOTOR_PRECISION=0.004 +X_MOTOR_PRECISION=0.004 +Y_MOTOR_PRECISION=0.009 Z_MOTOR_PRECISION=0.004 ; -X_MOTOR_WHEELBASE=0.000 -Y_MOTOR_WHEELBASE=0.000 -Z_MOTOR_WHEELBASE=0.000 +X_MOTOR_WHEELBASE=1.500 +Y_MOTOR_WHEELBASE=1.500 +Z_MOTOR_WHEELBASE=1.500 ; MOTOR_PULSE_NUM=10000 ; @@ -116,12 +116,12 @@ X_SCALE_RESOLUTION=0.500 Y_SCALE_RESOLUTION=0.500 Z_SCALE_RESOLUTION=0.500 ; -X_NEG_WORKING_LIMIT=-16.000 -Y_NEG_WORKING_LIMIT=-40.000 +X_NEG_WORKING_LIMIT=0.000 +Y_NEG_WORKING_LIMIT=0.000 Z_NEG_WORKING_LIMIT=0.000 ; -X_POS_WORKING_LIMIT=100.000 -Y_POS_WORKING_LIMIT=8.000 +X_POS_WORKING_LIMIT=200.000 +Y_POS_WORKING_LIMIT=100.000 Z_POS_WORKING_LIMIT=200.000 ROTARY_CIR_DIS=100.000 ; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/so7_config.ini b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/so7_config.ini index c3f078e..f964323 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/so7_config.ini +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/so7_config.ini @@ -46,12 +46,12 @@ MACHINE_VIDEOCARD_TYPE=0 X_SCALE_RESOLUTION=0.500000 Y_SCALE_RESOLUTION=0.500000 Z_SCALE_RESOLUTION=0.500000 -X_NEG_WORKING_LIMIT=-16.000000 -X_POS_WORKING_LIMIT=100.000000 -Y_NEG_WORKING_LIMIT=-40.000000 -Y_POS_WORKING_LIMIT=8.000000 +X_NEG_WORKING_LIMIT=0.000000 +X_POS_WORKING_LIMIT=200.000000 +Y_NEG_WORKING_LIMIT=0.000000 +Y_POS_WORKING_LIMIT=100.000000 Z_NEG_WORKING_LIMIT=0.000000 Z_POS_WORKING_LIMIT=200.000000 ROTARY_AXIS_NUMBER=0 -ROTARY_CIR_DIS=0.000000 +ROTARY_CIR_DIS=7.200000 ; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.rc b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.rc index b39c6b214f404e40c6181af5fab0ef50c96eacb9..ce0c1bb0a5670f9f6cd75902f27787b53e416cd5 100644 GIT binary patch delta 42 vcmX@2aztgrDh@`o$*VaG8O=7|<@nA7U0Wll7#5e2liLn3xGFA*Z delta 42 vcmX@2aztgrDh@`|$*VaG8BI6e<@nA7U0Wll7#5e2liLn3xG5HKN 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 2ee367c..d6aa4cd 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 @@ -350,7 +350,9 @@ void CSO7_UtilDlg::UpdateCtrlsStatus(bool _bEnable) GetDlgItem(IDC_CHECK_SO7_SPARE_LIGHT_ON)->EnableWindow(_bEnable); GetDlgItem(IDC_BUTTON_SO7_TRIGPULSE_STOP)->EnableWindow(_bEnable); - GetDlgItem(IDC_BUTTON_SO7_TRIGPULSE_START)->EnableWindow(_bEnable); + GetDlgItem(IDC_BUTTON_SO7_TRIGPULSE_START)->EnableWindow(_bEnable); + GetDlgItem(IDC_BUTTON_SO7_TRIGPULSE_WRITE_PARA)->EnableWindow(_bEnable); + GetDlgItem(IDC_BUTTON_SO7_TRIGPULSE_READ_PARA)->EnableWindow(_bEnable); GetDlgItem(IDC_EDIT_SET_SEQ_NO)->EnableWindow(_bEnable); GetDlgItem(IDC_BUTTON_SO7_GET_SEQ_NUMBER)->EnableWindow(_bEnable); GetDlgItem(IDC_BUTTON_SO7_SET_SEQ_NUMBER)->EnableWindow(_bEnable); @@ -435,6 +437,12 @@ void CSO7_UtilDlg::OnBnClickedButtonStartSo7machine() SetTimer(1, m_ReadAxisIntervalTime, 0); m_OutMessage.Format(_T("%d"),m_ReadAxisIntervalTime); GetDlgItem(IDC_EDIT_UPDATE_FREQ)->SetWindowText(m_OutMessage); + + m_cs_XScaleCoeff.Format(_T("%.2f"),(m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution)); + m_cs_YScaleCoeff.Format(_T("%.2f"),(m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution)); + m_cs_ZScaleCoeff.Format(_T("%.2f"),(m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution)); + + UpdateData(FALSE); } //===================================================================== @@ -969,6 +977,11 @@ void CSO7_UtilDlg::OnBnClickedButtonSetupSo7config() delete m_pSO7_AutoZoom; m_pSO7_AutoZoom=NULL; } + + m_cs_XScaleCoeff.Format(_T("%.2f"),(m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution)); + m_cs_YScaleCoeff.Format(_T("%.2f"),(m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution)); + m_cs_ZScaleCoeff.Format(_T("%.2f"),(m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution)); + UpdateData(FALSE); SetTimer(1,m_ReadAxisIntervalTime,NULL); } 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 829f1d5..a41ca76 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.cpp @@ -50,8 +50,8 @@ BOOL CSetSo7MotionConfig::OnInitDialog() m_ConfigList.InsertColumn(0,_T("编号"),LVCFMT_LEFT, m_rect.right*2/40); m_ConfigList.InsertColumn(1,_T("参数名"),LVCFMT_LEFT, m_rect.right*12/40); - m_ConfigList.InsertColumn(2,_T("值"),LVCFMT_LEFT, m_rect.right*3/40); - m_ConfigList.InsertColumn(3,_T("描述"),LVCFMT_LEFT, m_rect.right*22/40); + m_ConfigList.InsertColumn(2,_T("值"),LVCFMT_LEFT, m_rect.right*4/40); + m_ConfigList.InsertColumn(3,_T("描述"),LVCFMT_LEFT, m_rect.right*21/40); for (int i = 1; i < 100; i++) { @@ -485,6 +485,14 @@ 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.motion.m_MachineType=atoi(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_VideoCardType=atoi(cTemp); + iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); 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 765962429b24c6c0d9ea06265099c428cfb283e6..71bc4b1e7dcbeab7c520fa82958f34f7b950e322 100644 GIT binary patch delta 3387 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