From 2b6d50bd6dc6cdd6542b28c0237f920324b0b01d Mon Sep 17 00:00:00 2001 From: TAO Cheng Date: Tue, 4 Mar 2014 10:29:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84IO=E5=8F=A3=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E4=B8=8E=E6=A3=80=E6=B5=8B=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 | 6 +- .../Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h | 3 +- .../Tools/UsbUtility/Debug/UtilityDebug.Log | 44 ++ .../Tools/UsbUtility/Debug/Utility_Config.ini | 80 ++-- .../Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc | 280 +++++++------ .../UsbUtility/UsbUtil/SO7_Move_Location.cpp | 4 +- .../Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp | 387 ++++++++++-------- .../Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h | 13 +- .../Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj | 4 +- .../Hsi/Tools/UsbUtility/UsbUtil/resource.h | 8 + .../Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo | Bin 2355712 -> 2355712 bytes 11 files changed, 475 insertions(+), 354 deletions(-) diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp index 3867cf3..bf46cd3 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp @@ -3315,7 +3315,7 @@ void CSO7_Proto::so7_set_ringlight_data(long lMaxSize, double *pSegments) if ((pSegments[ii * EIGHT_SEGS + jj])>1) { g_machine.s_lights_value.segment[ii] |= (cRingSwitchOn<((pSegments[ii * EIGHT_SEGS + jj])/100.0 * (MAXLIGHTVALUE-1)); + g_machine.s_lights_value._ring_light=static_cast((pSegments[ii * EIGHT_SEGS + jj])/100.0 * (MAXLIGHTVALUE)); } else { @@ -3363,8 +3363,8 @@ SSI_STATUS_MOTION CSO7_Proto::so7_light_set_lamp_state(double dBottomPercent, do WaitForSingleObject(g_hHomedEvent, INFINITE); // machine start and homing is done if(!g_pLog) g_pLog=new CLogger(_T("\\Lamp.Log")); - g_machine.s_lights_value._top_light = (static_cast(dTopPercent* (MAXLIGHTVALUE - 1)/100.0 ))+1; - g_machine.s_lights_value._bottom_light = (static_cast(dBottomPercent*(MAXLIGHTVALUE - 1)/100.0))+1; + g_machine.s_lights_value._top_light = (static_cast(dTopPercent* (MAXLIGHTVALUE)/100.0 ))+1; + g_machine.s_lights_value._bottom_light = (static_cast(dBottomPercent*(MAXLIGHTVALUE)/100.0))+1; g_pLog->SendAndFlushPerMode(_T("dBottomPercent: %f dTopPercent: %f\n"),dBottomPercent,dTopPercent); g_pLog->SendAndFlushPerMode(_T("so7_light_set_lamp_state bottom: %d top: %d\n"), g_machine.s_lights_value._bottom_light,g_machine.s_lights_value._top_light); TRACE2("so7_light_set_lamp_state bottom: %d top: %d\n", diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h index 4ea5dea..ae27f14 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h @@ -57,7 +57,8 @@ #define FIVE_RINGS 5 const long MAX_INTENSITY = 0x3FF; -#define MAXLIGHTVALUE 256 +#define MAXLIGHTVALUE 255 +#define MINLIGHTVALUE 1 enum EMACHINETYPE { MACHINE_SO7_CONTROLLER, 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 52ba35b..a1c18ef 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log @@ -3678,3 +3678,47 @@ Exit: Exit_SO7Usb Destruct Cso7_Proto. Construct Cso7_Proto. Destruct Cso7_Proto. +Construct Cso7_Proto. +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. 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 19bd7ef..ec4ad02 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 @@ -12,64 +12,64 @@ MOVETOSPEED_SLOW_Z=0.00000000 MOVETOSPEED_SCALE_Z=1.00000000 ; SPEED_BASE_X1=20 -SPEED_MAX_X1=120 +SPEED_MAX_X1=20 SPEED_START_X1=20 -SPEED_FRESH_X1=7 -SPEED_SLOW_X1=3.600 +SPEED_FRESH_X1=8 +SPEED_SLOW_X1=3.300 ; SPEED_BASE_X2=16 -SPEED_MAX_X2=100 +SPEED_MAX_X2=10 SPEED_START_X2=12 SPEED_FRESH_X2=10 -SPEED_SLOW_X2=1.000 +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.500 ; 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.100 ; 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=22 -SPEED_MAX_Y1=150 +SPEED_BASE_Y1=20 +SPEED_MAX_Y1=10 SPEED_START_Y1=20 SPEED_FRESH_Y1=8 -SPEED_SLOW_Y1=2.500 +SPEED_SLOW_Y1=2.000 ; SPEED_BASE_Y2=16 -SPEED_MAX_Y2=100 +SPEED_MAX_Y2=10 SPEED_START_Y2=12 SPEED_FRESH_Y2=10 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.500 ; -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.100 ; -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_MAX_Z4=0 SPEED_START_Z4=18 -SPEED_FRESH_Z4=100 -SPEED_SLOW_Z4=0.001 +SPEED_FRESH_Z4=10 +SPEED_SLOW_Z4=0.100 ; -SPEED_BASE_Z5=2 -SPEED_MAX_Z5=13 -SPEED_START_Z5=12 -SPEED_FRESH_Z5=100 -SPEED_SLOW_Z5=0.000 +SPEED_BASE_Z5=5 +SPEED_MAX_Z5=6 +SPEED_START_Z5=133 +SPEED_FRESH_Z5=10 +SPEED_SLOW_Z5=0.100 ; -X_MOTOR_PRECISION=0.008 -Y_MOTOR_PRECISION=0.004 -Z_MOTOR_PRECISION=0.100 +X_MOTOR_PRECISION=0.004 +Y_MOTOR_PRECISION=0.009 +Z_MOTOR_PRECISION=0.004 ; -X_MOTOR_WHEELBASE=10.000 -Y_MOTOR_WHEELBASE=10.000 -Z_MOTOR_WHEELBASE=80.000 +X_MOTOR_WHEELBASE=1.500 +Y_MOTOR_WHEELBASE=1.500 +Z_MOTOR_WHEELBASE=1.500 ; MOTOR_PULSE_NUM=10000 ; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc index ace1333..ad44a26 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc @@ -16,7 +16,7 @@ #undef APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// -// 中文(简体,中国) resources +// Chinese (Simplified, PRC) resources #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS) LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED @@ -27,140 +27,148 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED // Dialog // -IDD_SO7_UTIL_DIALOG DIALOGEX 0, 0, 418, 496 +IDD_SO7_UTIL_DIALOG DIALOGEX 0, 0, 460, 410 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "SevenOcean Utility" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - CONTROL "First",IDC_RADIO_SPEED_GEAR1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,216,144,30,10 - CONTROL "Second",IDC_RADIO_SPEED_GEAR2,"Button",BS_AUTORADIOBUTTON,216,158,39,10 - CONTROL "Third",IDC_RADIO_SPEED_GEAR3,"Button",BS_AUTORADIOBUTTON,216,172,32,10 - CONTROL "Fourth",IDC_RADIO_SPEED_GEAR4,"Button",BS_AUTORADIOBUTTON,216,186,37,10 - CONTROL "Fifth",IDC_RADIO_SPEED_GEAR5,"Button",BS_AUTORADIOBUTTON,216,200,31,10 - GROUPBOX "Cmd",IDC_STATIC,17,216,379,46 - PUSHBUTTON "Start_Machine",IDC_BUTTON_START_SO7MACHINE,23,40,63,18 - PUSHBUTTON "Stop_Machine",IDC_BUTTON_STOP_SO7MACHINE,23,75,63,18 - PUSHBUTTON "Read XYZ Axis",IDC_BUTTON_SO7_READ_AXIS_XYZ,133,28,62,13 - PUSHBUTTON "EnProbe OFF",IDC_BUTTON_READ_PROBE,133,44,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,133,76,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_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_COAXIAL_LIGHT3,261,69,41,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_COAXIAL_LIGHT4,261,83,41,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_COAXIAL_LIGHT,261,97,41,12,ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_COAXIAL_LIGHT2,261,111,41,12,ES_AUTOHSCROLL - PUSHBUTTON "Motion",IDC_BUTTON_MOTION_PARAMETER,20,143,44,27,BS_MULTILINE - PUSHBUTTON "V+",IDC_BUTTON_SO7_MOVE_ZOOM_IN,77,159,25,12 - PUSHBUTTON "V-",IDC_BUTTON_SO7_MOVE_ZOOM_OUT,77,180,25,12 - PUSHBUTTON "Z+",IDC_BUTTON_SO7_MOVE_Z_UP,101,140,25,12 - PUSHBUTTON "Z-",IDC_BUTTON_SO7_MOVE_Z_DOWN,103,196,25,12 - PUSHBUTTON "X-",IDC_BUTTON_SO7_MOVE_X_LEFT,128,169,25,12 - PUSHBUTTON "Y+",IDC_BUTTON_SO7_MOVE_Y_FRONT,154,156,25,12 - PUSHBUTTON "Y-",IDC_BUTTON_SO7_MOVE_Y_BACK,154,182,25,12 - PUSHBUTTON "X+",IDC_BUTTON_SO7_MOVE_X_RIGHT,179,169,25,12 - PUSHBUTTON "CT_RESET",IDC_BUTTON_SO7_RESET_XYZ,277,154,76,14,BS_MULTILINE - PUSHBUTTON "SET_RESET_FLAG",IDC_BUTTON_MANUAL_HOME,277,135,76,14 - PUSHBUTTON "Home DCC",IDC_BUTTON_RESET_WORKTABLE,277,192,40,14 - PUSHBUTTON "CT_M_RESET_RIGHT",IDC_BUTTON_RESET_WORKTABLE_RIGHT,277,173,76,14 - PUSHBUTTON "Auto Zoom",IDC_BUTTON_AUTO_ZOOM,360,156,32,27,BS_MULTILINE - PUSHBUTTON "Set Reset Flag",IDC_BUTTON_SET_RESET_FLAG,133,108,61,14 - PUSHBUTTON "Set outport",IDC_BUTTON_SET_OUT_PORT,181,240,61,14 - PUSHBUTTON "Home V",IDC_BUTTON_RESET_V,100,240,61,14 - EDITTEXT IDC_EDIT_X_SCALE_COEFFICIENT,62,284,39,12,ES_CENTER | ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_Y_SCALE_COEFFICIENT,121,284,39,12,ES_CENTER | ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_Z_SCALE_COEFFICIENT,180,284,39,12,ES_CENTER | ES_AUTOHSCROLL - EDITTEXT IDC_EDIT_SET_VER_NO,325,313,45,14,ES_AUTOHSCROLL - GROUPBOX "USB Control",IDC_STATIC,15,12,89,115 - GROUPBOX "Config",IDC_STATIC,13,129,55,83 - GROUPBOX "Get_Data",IDC_STATIC,114,13,98,115 - GROUPBOX "Ver NO.",IDC_STATIC,252,303,145,29 - LTEXT "Set Ver NO.",IDC_STATIC,272,316,39,8 - GROUPBOX "R/W Data",IDC_STATIC,253,334,144,65 - CONTROL "X",IDC_RADIO_SELECT_X,"Button",BS_AUTORADIOBUTTON,261,348,20,10 - CONTROL "Y",IDC_RADIO_SELECT_Y,"Button",BS_AUTORADIOBUTTON,261,364,20,10 - CONTROL "Z",IDC_RADIO_SELECT_Z,"Button",BS_AUTORADIOBUTTON,261,380,20,10 - GROUPBOX "Light Control",IDC_STATIC,226,14,85,113 - LTEXT "Top",IDC_STATIC,236,28,18,11 - LTEXT "Bottom",IDC_STATIC,234,43,22,11 - LTEXT "Ring",IDC_STATIC,235,58,15,8 - LTEXT "Coaxial",IDC_STATIC,231,99,24,8 - LTEXT "SegI",IDC_STATIC,236,72,16,8 - LTEXT "SegII",IDC_STATIC,236,86,18,8 - GROUPBOX "I/O Port Status",IDC_STATIC,321,14,72,111 - PUSHBUTTON "Exit",IDCANCEL,366,475,39,14 - LTEXT "x",IDC_STATIC,23,324,8,11 - LTEXT "y",IDC_STATIC,23,338,8,11 - LTEXT "z",IDC_STATIC,23,352,8,11 - LTEXT "Zm",IDC_STATIC,21,365,13,11 - EDITTEXT IDC_EDIT_X_AXIS,34,323,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP - EDITTEXT IDC_EDIT_Y_AXIS,34,337,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP - EDITTEXT IDC_EDIT_Z_AXIS,34,351,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP - EDITTEXT IDC_EDIT_ZM_AXIS,34,365,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP - EDITTEXT IDC_EDIT_X_POSITION_58,103,323,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP - EDITTEXT IDC_EDIT_Y_POSITION_58,103,337,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP - EDITTEXT IDC_EDIT_Z_POSITION_58,103,351,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP - EDITTEXT IDC_EDIT_ZM_POSITION_58,103,365,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP - LTEXT "Scale Pulse",IDC_STATIC,40,309,36,8 - LTEXT "mm",IDC_STATIC,123,310,12,8 - EDITTEXT IDC_EDIT_STATUS,15,403,223,86,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL - LTEXT "ms",IDC_STATIC_SEC,212,384,16,9 - EDITTEXT IDC_EDIT_UPDATE_FREQ,183,383,25,13,ES_AUTOHSCROLL | ES_READONLY - GROUPBOX "Scale Display",IDC_STATIC,15,264,224,136 - GROUPBOX "Motion",IDC_STATIC,73,129,324,84 - EDITTEXT IDC_EDIT_X_POSITION_59,174,322,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP - EDITTEXT IDC_EDIT_Y_POSITION_59,174,336,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP - EDITTEXT IDC_EDIT_Z_POSITION_59,174,350,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP - EDITTEXT IDC_EDIT_ZM_POSITION_59,174,364,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP - LTEXT "Z Signal",IDC_STATIC,189,310,26,8 - LTEXT "Pos Update Frequency",IDC_STATIC,104,384,74,8 - LTEXT "Spare1",IDC_STATIC,232,112,24,8 - CTEXT "X",IDC_STATIC,79,273,8,8 - CTEXT "Y",IDC_STATIC,137,273,8,8 - CTEXT "Z",IDC_STATIC,195,273,8,8 - CTEXT "Scale Resolution",IDC_STATIC,20,280,35,20 - GROUPBOX "Set Gear",IDC_STATIC,208,132,56,81 - PUSHBUTTON "so7_config",IDC_BUTTON_SETUP_SO7CONFIG,20,179,44,27 - LTEXT "1",IDC_STATIC,337,27,8,8 - LTEXT "2",IDC_STATIC,337,43,8,8 - LTEXT "3",IDC_STATIC,337,59,8,8 - LTEXT "4",IDC_STATIC,337,75,8,8 - LTEXT "5",IDC_STATIC,337,91,8,8 - LTEXT "6",IDC_STATIC,337,107,8,8 - PUSHBUTTON "Read IO Status",IDC_BUTTON_SO7_READ_IN_PORT_STATUS,276,240,61,14 - CONTROL "Continuous",IDC_CHECK_CONTINUOUS_READ_IO_STATUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,279,225,47,10 - CONTROL "",IDC_MFCBUTTON_STATUS_IN_PORT1,"MfcButton",WS_TABSTOP,353,24,21,14 - CONTROL "",IDC_MFCBUTTON_STATUS_IN_PORT2,"MfcButton",WS_TABSTOP,353,40,21,14 - CONTROL "",IDC_MFCBUTTON_STATUS_IN_PORT3,"MfcButton",WS_TABSTOP,353,56,21,14 - CONTROL "",IDC_MFCBUTTON_STATUS_IN_PORT4,"MfcButton",WS_TABSTOP,353,72,21,14 - CONTROL "",IDC_MFCBUTTON_STATUS_IN_PORT5,"MfcButton",WS_TABSTOP,353,88,21,14 - CONTROL "",IDC_MFCBUTTON_STATUS_IN_PORT6,"MfcButton",WS_TABSTOP,353,104,21,14 - PUSHBUTTON "Test Z Signal",IDC_BUTTON_SO7_TEST_Z_SIGNAL,26,240,61,14 - PUSHBUTTON "CNC Program",IDC_BUTTON_SO7_CNC_PROGRAM,297,273,52,19 - GROUPBOX "CNC",IDC_STATIC,252,265,143,34 - CONTROL "ON",IDC_CHECK_SO7_OUT_PORT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,220,225,26,10 - EDITTEXT IDC_EDIT_RWDATA_DATA,307,371,44,13,ES_AUTOHSCROLL - PUSHBUTTON "Write",IDC_BUTTON_SO7_SENDDATATOFPGA,360,344,34,19 - PUSHBUTTON "Read",IDC_BUTTON_SO7_READDATAFROMFPGA,360,369,34,19 - LTEXT "Addr",IDC_STATIC,287,351,16,8 - LTEXT "Data",IDC_STATIC,287,373,16,8 - COMBOBOX IDC_COMBO_RWDATA_ADDR,307,348,45,30,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_COMBO_SO7_HOMEMODE,324,192,27,30,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "◥",IDC_BUTTON_SO7_MOVE_XR_YF,179,156,25,12 - PUSHBUTTON "◢",IDC_BUTTON_SO7_MOVE_XR_YB,179,182,25,12 - PUSHBUTTON "◤",IDC_BUTTON_SO7_MOVE_XL_YF,128,156,25,12 - PUSHBUTTON "◣",IDC_BUTTON_SO7_MOVE_XL_YB,128,182,25,12 - COMBOBOX IDC_COMBO_OUTPORT_NUMBER,182,223,29,34,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP - CONTROL "Inport",IDC_RADIO_READ_INPUT_PORT,"Button",BS_AUTORADIOBUTTON | WS_GROUP,344,227,36,10 - CONTROL "Outport",IDC_RADIO_READ_OUTPUT_PORT,"Button",BS_AUTORADIOBUTTON,344,243,41,10 - GROUPBOX "Rotary",IDC_STATIC,252,402,155,70 - PUSHBUTTON "Home",IDC_BUTTON_HOME,263,419,34,15 - EDITTEXT IDC_EDIT_POSITION,264,445,36,14,ES_AUTOHSCROLL - CONTROL "Rel",IDC_RADIO_RELATIVE,"Button",BS_AUTORADIOBUTTON,308,448,27,8 - CONTROL "Abs",IDC_RADIO_ABSOLUTE,"Button",BS_AUTORADIOBUTTON,336,448,28,8 - PUSHBUTTON "Go",IDC_BUTTON_GO,365,445,34,15 + CONTROL "Inport (J2)",IDC_RADIO_READ_INPUT_PORT,"Button",BS_AUTORADIOBUTTON | WS_GROUP,315,138,55,10 + CONTROL "Outport (J1)",IDC_RADIO_READ_OUTPUT_PORT,"Button",BS_AUTORADIOBUTTON,315,149,56,10 + CONTROL "Outport (J3)",IDC_RADIO_READ_OUTPUT_PORT2,"Button",BS_AUTORADIOBUTTON,315,160,56,10 + CONTROL "Rel",IDC_RADIO_RELATIVE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,139,144,27,8 + CONTROL "Abs",IDC_RADIO_ABSOLUTE,"Button",BS_AUTORADIOBUTTON,140,158,28,8 + EDITTEXT IDC_EDIT_POSITION,167,149,36,14,ES_AUTOHSCROLL + PUSHBUTTON "Go",IDC_BUTTON_GO,209,149,34,15 + PUSHBUTTON "Home",IDC_BUTTON_HOME,261,149,34,15 + CONTROL "Continuous",IDC_CHECK_CONTINUOUS_READ_IO_STATUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,380,139,47,10 + PUSHBUTTON "Read IO Status",IDC_BUTTON_SO7_READ_IN_PORT_STATUS,378,151,61,14 + COMBOBOX IDC_COMBO_OUTPORT_NUMBER,314,181,29,34,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP + CONTROL "ON",IDC_CHECK_SO7_OUT_PORT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,348,183,26,10 + PUSHBUTTON "Set outport",IDC_BUTTON_SET_OUT_PORT,378,180,61,14 + CONTROL "First",IDC_RADIO_SPEED_GEAR1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,170,195,30,10 + CONTROL "Second",IDC_RADIO_SPEED_GEAR2,"Button",BS_AUTORADIOBUTTON,170,209,39,10 + CONTROL "Third",IDC_RADIO_SPEED_GEAR3,"Button",BS_AUTORADIOBUTTON,170,223,32,10 + CONTROL "Fourth",IDC_RADIO_SPEED_GEAR4,"Button",BS_AUTORADIOBUTTON,170,236,37,10 + CONTROL "Fifth",IDC_RADIO_SPEED_GEAR5,"Button",BS_AUTORADIOBUTTON,170,249,31,10 + GROUPBOX "R/W IO PORT",IDC_STATIC,301,129,144,69 + PUSHBUTTON "Start_Machine",IDC_BUTTON_START_SO7MACHINE,25,24,63,18 + PUSHBUTTON "Stop_Machine",IDC_BUTTON_STOP_SO7MACHINE,25,50,63,18 + PUSHBUTTON "Read XYZ Axis",IDC_BUTTON_SO7_READ_AXIS_XYZ,114,27,62,15 + PUSHBUTTON "EnProbe OFF",IDC_BUTTON_READ_PROBE,114,43,62,15 + PUSHBUTTON "Read V Axis",IDC_BUTTON_SO7_READ_AXIS_V,114,59,62,15 + PUSHBUTTON "Get Fixture Value",IDC_BUTTON_GET_FIXTURE_FLAG,114,75,62,15 + PUSHBUTTON "Get Reset Flag",IDC_BUTTON_SO7_GET_RESET_FLAG,114,91,62,15 + EDITTEXT IDC_EDIT_AXIAL_LIGHT,303,27,29,12,ES_AUTOHSCROLL | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_BOTTOM_LIGHT,303,41,29,12,ES_AUTOHSCROLL | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_RING_LIGHT,303,55,29,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_COAXIAL_LIGHT3,303,69,29,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_COAXIAL_LIGHT4,303,83,29,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_COAXIAL_LIGHT,303,97,29,12,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_COAXIAL_LIGHT2,303,111,29,12,ES_AUTOHSCROLL + PUSHBUTTON "Motion Parameter",IDC_BUTTON_MOTION_PARAMETER,29,141,44,28,BS_MULTILINE + PUSHBUTTON "V+",IDC_BUTTON_SO7_MOVE_ZOOM_IN,20,209,25,12 + PUSHBUTTON "V-",IDC_BUTTON_SO7_MOVE_ZOOM_OUT,20,231,25,12 + PUSHBUTTON "Z+",IDC_BUTTON_SO7_MOVE_Z_UP,44,192,25,12 + PUSHBUTTON "Z-",IDC_BUTTON_SO7_MOVE_Z_DOWN,46,247,25,12 + PUSHBUTTON "X-",IDC_BUTTON_SO7_MOVE_X_LEFT,71,220,25,12 + PUSHBUTTON "Y+",IDC_BUTTON_SO7_MOVE_Y_FRONT,97,207,25,12 + PUSHBUTTON "Y-",IDC_BUTTON_SO7_MOVE_Y_BACK,97,233,25,12 + PUSHBUTTON "X+",IDC_BUTTON_SO7_MOVE_X_RIGHT,122,220,25,12 + PUSHBUTTON "CT_RESET",IDC_BUTTON_SO7_RESET_XYZ,191,75,62,15,BS_MULTILINE + PUSHBUTTON "Home Manual SET_RESET_FLAG",IDC_BUTTON_MANUAL_HOME,219,195,76,22,BS_MULTILINE + PUSHBUTTON "Home DCC",IDC_BUTTON_RESET_WORKTABLE,219,227,40,22 + PUSHBUTTON "CT_M_RESET _RIGHT",IDC_BUTTON_RESET_WORKTABLE_RIGHT,191,47,62,25,BS_MULTILINE + PUSHBUTTON "Test AutoZoom",IDC_BUTTON_AUTO_ZOOM,25,82,63,18,BS_MULTILINE + PUSHBUTTON "Set Reset Flag",IDC_BUTTON_SET_RESET_FLAG,114,107,62,15 + PUSHBUTTON "Home V",IDC_BUTTON_RESET_V,191,91,62,15 + EDITTEXT IDC_EDIT_X_SCALE_COEFFICIENT,64,286,39,12,ES_CENTER | ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_Y_SCALE_COEFFICIENT,123,286,39,12,ES_CENTER | ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_Z_SCALE_COEFFICIENT,182,286,39,12,ES_CENTER | ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SET_VER_NO,223,28,29,14,ES_AUTOHSCROLL + GROUPBOX "USB Control",IDC_STATIC,17,12,81,59 + GROUPBOX "Config",IDC_STATIC,17,130,116,44 + GROUPBOX "CMD",IDC_STATIC,105,12,156,115 + LTEXT "Ver NO.",IDC_STATIC,192,31,26,8 + GROUPBOX "R/W Data",IDC_STATIC,301,199,144,65 + CONTROL "X",IDC_RADIO_SELECT_X,"Button",BS_AUTORADIOBUTTON | WS_GROUP,309,213,20,10 + CONTROL "Y",IDC_RADIO_SELECT_Y,"Button",BS_AUTORADIOBUTTON,309,229,20,10 + CONTROL "Z",IDC_RADIO_SELECT_Z,"Button",BS_AUTORADIOBUTTON,309,245,20,10 + GROUPBOX "Light Control",IDC_STATIC,267,12,102,115 + LTEXT "Top",IDC_STATIC,278,28,18,11 + LTEXT "Bottom",IDC_STATIC,276,43,22,11 + LTEXT "Ring",IDC_STATIC,277,58,15,8 + LTEXT "Coaxial",IDC_STATIC,273,99,24,8 + LTEXT "SegI",IDC_STATIC,278,72,16,8 + LTEXT "SegII",IDC_STATIC,278,86,18,8 + GROUPBOX "I/O Port Status",IDC_STATIC,375,12,69,115 + PUSHBUTTON "Exit",IDCANCEL,408,389,39,14 + LTEXT "x",IDC_STATIC,25,326,8,11 + LTEXT "y",IDC_STATIC,25,341,8,11 + LTEXT "z",IDC_STATIC,25,354,8,11 + LTEXT "Zm",IDC_STATIC,23,367,13,11 + EDITTEXT IDC_EDIT_X_AXIS,36,325,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_Y_AXIS,36,339,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_Z_AXIS,36,354,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_ZM_AXIS,36,367,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_X_POSITION_58,105,325,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_Y_POSITION_58,105,339,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_Z_POSITION_58,105,354,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_ZM_POSITION_58,105,367,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + LTEXT "Pulse",IDC_STATIC,55,311,18,8 + LTEXT "mm",IDC_STATIC,125,311,12,8 + EDITTEXT IDC_EDIT_STATUS,247,270,199,117,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL + LTEXT "ms",IDC_STATIC_SEC,214,386,16,9 + EDITTEXT IDC_EDIT_UPDATE_FREQ,185,384,25,13,ES_AUTOHSCROLL | ES_READONLY + GROUPBOX "ReadOut",IDC_STATIC,17,266,224,136 + GROUPBOX "MOVE XYZV",IDC_STATIC,17,180,282,84 + EDITTEXT IDC_EDIT_X_POSITION_59,176,325,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_Y_POSITION_59,176,338,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_Z_POSITION_59,176,351,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + EDITTEXT IDC_EDIT_ZM_POSITION_59,176,366,54,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + LTEXT "Reference Mark",IDC_STATIC,179,311,52,8 + LTEXT "Pos Update Frequency",IDC_STATIC,106,386,74,8 + LTEXT "Spare1",IDC_STATIC,274,112,24,8 + CTEXT "X",IDC_STATIC,80,274,8,8 + CTEXT "Y",IDC_STATIC,139,275,8,8 + CTEXT "Z",IDC_STATIC,198,274,8,8 + CTEXT "Scale Resolution",IDC_STATIC,22,282,35,20 + GROUPBOX "Set Gear",IDC_STATIC,160,183,53,81 + PUSHBUTTON "so7_config ini",IDC_BUTTON_SETUP_SO7CONFIG,82,141,44,28,BS_MULTILINE + LTEXT "1",IDC_STATIC,388,29,8,8 + LTEXT "2",IDC_STATIC,388,45,8,8 + LTEXT "3",IDC_STATIC,388,61,8,8 + LTEXT "4",IDC_STATIC,388,77,8,8 + LTEXT "5",IDC_STATIC,388,93,8,8 + LTEXT "6",IDC_STATIC,388,109,8,8 + CONTROL "",IDC_MFCBUTTON_STATUS_IN_PORT1,"MfcButton",WS_TABSTOP,404,26,21,14 + CONTROL "",IDC_MFCBUTTON_STATUS_IN_PORT2,"MfcButton",WS_TABSTOP,404,42,21,14 + CONTROL "",IDC_MFCBUTTON_STATUS_IN_PORT3,"MfcButton",WS_TABSTOP,404,58,21,14 + CONTROL "",IDC_MFCBUTTON_STATUS_IN_PORT4,"MfcButton",WS_TABSTOP,404,74,21,14 + CONTROL "",IDC_MFCBUTTON_STATUS_IN_PORT5,"MfcButton",WS_TABSTOP,404,90,21,14 + CONTROL "",IDC_MFCBUTTON_STATUS_IN_PORT6,"MfcButton",WS_TABSTOP,404,106,21,14 + PUSHBUTTON "Test Z Signal",IDC_BUTTON_SO7_TEST_Z_SIGNAL,191,107,62,15 + PUSHBUTTON "CNC Program",IDC_BUTTON_SO7_CNC_PROGRAM,25,105,63,18 + GROUPBOX "Advanced Function",IDC_STATIC,17,73,81,54 + EDITTEXT IDC_EDIT_RWDATA_DATA,355,236,44,13,ES_AUTOHSCROLL + PUSHBUTTON "Write",IDC_BUTTON_SO7_SENDDATATOFPGA,408,209,34,19 + PUSHBUTTON "Read",IDC_BUTTON_SO7_READDATAFROMFPGA,408,234,34,19 + LTEXT "Addr",IDC_STATIC,335,216,16,8 + LTEXT "Data",IDC_STATIC,335,238,16,8 + COMBOBOX IDC_COMBO_RWDATA_ADDR,355,212,45,30,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_COMBO_SO7_HOMEMODE,267,231,27,30,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "◥",IDC_BUTTON_SO7_MOVE_XR_YF,122,207,25,12 + PUSHBUTTON "◢",IDC_BUTTON_SO7_MOVE_XR_YB,122,233,25,12 + PUSHBUTTON "◤",IDC_BUTTON_SO7_MOVE_XL_YF,71,207,25,12 + PUSHBUTTON "◣",IDC_BUTTON_SO7_MOVE_XL_YB,71,233,25,12 + GROUPBOX "Rotary",IDC_STATIC,135,129,163,44 + CONTROL "ON",IDC_CHECK_SO7_TOP_LIGHT_ON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,336,28,26,10 + CONTROL "ON",IDC_CHECK_SO7_BOTTOM_LIGHT_ON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,336,42,26,10 + CONTROL "ON",IDC_CHECK_SO7_RING_LIGHT_ON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,336,56,26,10 + CONTROL "ON",IDC_CHECK_SO7_RING_LIGHT_SEG_ON1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,336,70,26,10 + CONTROL "ON",IDC_CHECK_SO7_RING_LIGHT_SEG_ON2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,336,84,26,10 + CONTROL "ON",IDC_CHECK_SO7_COAXIAL_LIGHT_ON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,336,98,26,10 + CONTROL "ON",IDC_CHECK_SO7_SPARE_LIGHT_ON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,336,112,26,10 + LTEXT "----------------------------------------------------",IDC_STATIC,305,170,140,8 END IDD_SO7_UTIL_SEND_PARAMETER DIALOGEX 0, 0, 753, 481 @@ -894,9 +902,9 @@ BEGIN IDD_SO7_UTIL_DIALOG, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 405 + RIGHTMARGIN, 447 TOPMARGIN, 7 - BOTTOMMARGIN, 489 + BOTTOMMARGIN, 403 END IDD_SO7_UTIL_SEND_PARAMETER, DIALOG @@ -1450,12 +1458,12 @@ IDB_BITMAP_Z_DOWN BITMAP "res\\bmp\\Z_DOWN.bmp" IDB_BITMAP_Z_UP BITMAP "res\\bmp\\Z_UP.bmp" IDB_BITMAP_X_LEFT BITMAP "res\\bmp\\X_LEFT.BMP" IDB_BITMAP_X_RIGHT BITMAP "res\\bmp\\X_RIGHT.bmp" -#endif // 中文(简体,中国) resources +#endif // Chinese (Simplified, PRC) resources ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// -// 英语(美国) resources +// English (United States) resources #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US @@ -2398,7 +2406,7 @@ BEGIN IDS_SO7_ABOUTBOX "&About Utility for SO7..." END -#endif // 英语(美国) resources +#endif // English (United States) resources ///////////////////////////////////////////////////////////////////////////// diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.cpp index ee2c857..31ce131 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.cpp @@ -161,7 +161,7 @@ BOOL CSO7_Move_Location::OnSetActive() m_OutMessageZ=_T(""); m_OutMessageV=_T(""); ((CButton*)GetDlgItem(IDC_BUTTON_BEGIN_REPE_TEST))->SetWindowTextW(_T("Begin")); - SetTimer(1,50,0); + SetTimer(1,150,0); return CPropertyPage::OnSetActive(); } //========================================================================================= @@ -851,7 +851,7 @@ void CSO7_Move_Location::OnBnClickedButtonBeginRepeTest() } ((CButton*)GetDlgItem(IDC_BUTTON_BEGIN_REPE_TEST))->SetWindowTextW(_T("Stop")); - SetTimer(2,50,0); + SetTimer(2,200,0); } } 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 b88d9bc..e3487db 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 @@ -51,6 +51,7 @@ IMPLEMENT_DYNAMIC(CSO7_UtilDlg, CDialog) m_ZsignalPosY=0; m_ZsignalPosZ=0; m_bEnProbe=false; + m_ReadAxisIntervalTime=150; } CSO7_UtilDlg::~CSO7_UtilDlg() @@ -60,11 +61,6 @@ CSO7_UtilDlg::~CSO7_UtilDlg() void CSO7_UtilDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); - DDX_Text(pDX, IDC_EDIT_X_AXIS, m_X_Pos); - DDX_Text(pDX, IDC_EDIT_Y_AXIS, m_Y_Pos); - DDX_Text(pDX, IDC_EDIT_Z_AXIS, m_Z_Pos); - DDX_Text(pDX, IDC_EDIT_ZM_AXIS, m_Zm_Pos); - DDX_Text(pDX, IDC_EDIT_AXIAL_LIGHT, m_csTop_Light_Value); DDX_Text(pDX, IDC_EDIT_BOTTOM_LIGHT, m_csBom_Light_Value); DDX_Text(pDX, IDC_EDIT_RING_LIGHT, m_csFan_Light_Value); @@ -78,6 +74,7 @@ void CSO7_UtilDlg::DoDataExchange(CDataExchange* pDX) DDX_Text(pDX, IDC_EDIT_X_SCALE_COEFFICIENT, m_cs_XScaleCoeff); DDX_Text(pDX, IDC_EDIT_Y_SCALE_COEFFICIENT, m_cs_YScaleCoeff); DDX_Text(pDX, IDC_EDIT_Z_SCALE_COEFFICIENT, m_cs_ZScaleCoeff); + DDX_Text(pDX, IDC_EDIT_POSITION, m_Rotary_Edit_Position); DDX_Control(pDX, IDC_BUTTON_SO7_MOVE_X_LEFT, m_Button_MoveX_Left); DDX_Control(pDX, IDC_BUTTON_SO7_MOVE_X_RIGHT, m_Button_MoveX_Right); @@ -91,10 +88,7 @@ void CSO7_UtilDlg::DoDataExchange(CDataExchange* pDX) DDX_Control(pDX, IDC_BUTTON_SO7_MOVE_XR_YB, m_Button_MoveXRYB); DDX_Control(pDX, IDC_BUTTON_SO7_MOVE_XL_YF, m_Button_MoveXLYF); DDX_Control(pDX, IDC_BUTTON_SO7_MOVE_XL_YB, m_Button_MoveXLYB); - DDX_Text(pDX, IDC_EDIT_POSITION, m_Rotary_Edit_Position); DDX_Control(pDX, IDC_EDIT_STATUS, m_edMSG); - - } @@ -136,7 +130,6 @@ BEGIN_MESSAGE_MAP(CSO7_UtilDlg, CDialog) ON_BN_CLICKED(IDC_RADIO_SPEED_GEAR5, &CSO7_UtilDlg::OnBnClickedRadioSpeedGear5) ON_BN_CLICKED(IDC_BUTTON_SO7_TEST_Z_SIGNAL, &CSO7_UtilDlg::OnBnClickedButtonSo7TestZSignal) ON_BN_CLICKED(IDC_BUTTON_SO7_CNC_PROGRAM, &CSO7_UtilDlg::OnBnClickedButtonSo7CncProgram) - ON_BN_CLICKED(IDC_CHECK_SO7_OUT_PORT, &CSO7_UtilDlg::OnBnClickedCheckSo7TurnOnFffLaser) ON_BN_CLICKED(IDC_BUTTON_SO7_SENDDATATOFPGA, &CSO7_UtilDlg::OnBnClickedButtonSo7Senddatatofpga) ON_BN_CLICKED(IDC_BUTTON_SO7_READDATAFROMFPGA, &CSO7_UtilDlg::OnBnClickedButtonSo7Readdatafromfpga) ON_BN_CLICKED(IDC_RADIO_READ_INPUT_PORT, &CSO7_UtilDlg::OnBnClickedRadioReadInputPort) @@ -144,7 +137,14 @@ BEGIN_MESSAGE_MAP(CSO7_UtilDlg, CDialog) ON_BN_CLICKED(IDC_BUTTON_MOTION_PARAMETER, &CSO7_UtilDlg::OnBnClickedButtonMotionParameter) ON_BN_CLICKED(IDC_BUTTON_HOME, &CSO7_UtilDlg::OnBnClickedButtonHome) ON_BN_CLICKED(IDC_BUTTON_GO, &CSO7_UtilDlg::OnBnClickedButtonGo) - ON_BN_CLICKED(IDC_BUTTON_SO7_MOVE_Z_UP, &CSO7_UtilDlg::OnBnClickedButtonSo7MoveZUp) + ON_BN_CLICKED(IDC_CHECK_SO7_TOP_LIGHT_ON, &CSO7_UtilDlg::OnBnClickedCheckSo7TopLightOn) + ON_BN_CLICKED(IDC_CHECK_SO7_BOTTOM_LIGHT_ON, &CSO7_UtilDlg::OnBnClickedCheckSo7BottomLightOn) + ON_BN_CLICKED(IDC_CHECK_SO7_RING_LIGHT_ON, &CSO7_UtilDlg::OnBnClickedCheckSo7RingLightOn) + ON_BN_CLICKED(IDC_CHECK_SO7_RING_LIGHT_SEG_ON1, &CSO7_UtilDlg::OnBnClickedCheckSo7RingLightSegOn1) + ON_BN_CLICKED(IDC_CHECK_SO7_RING_LIGHT_SEG_ON2, &CSO7_UtilDlg::OnBnClickedCheckSo7RingLightSegOn2) + ON_BN_CLICKED(IDC_CHECK_SO7_COAXIAL_LIGHT_ON, &CSO7_UtilDlg::OnBnClickedCheckSo7CoaxialLightOn) + ON_BN_CLICKED(IDC_CHECK_SO7_SPARE_LIGHT_ON, &CSO7_UtilDlg::OnBnClickedCheckSo7SpareLightOn) + ON_BN_CLICKED(IDC_RADIO_READ_OUTPUT_PORT2, &CSO7_UtilDlg::OnBnClickedRadioReadOutputPort2) END_MESSAGE_MAP() @@ -188,14 +188,22 @@ BOOL CSO7_UtilDlg::OnInitDialog() ((CButton *)GetDlgItem(IDC_RADIO_READ_INPUT_PORT))->SetCheck(true); ((CButton *)GetDlgItem(IDC_RADIO_READ_OUTPUT_PORT))->SetCheck(false); - + CString csTmp=_T(""); ((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->ResetContent(); - for(int i=0;i<3;i++) + int iComboxIndex(0); + csTmp.Format(_T("WO-%d"),iComboxIndex+1); + ((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->InsertString(iComboxIndex++,csTmp); + csTmp.Format(_T("WO-%d"),iComboxIndex+1); + ((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->InsertString(iComboxIndex++,csTmp); + csTmp.Format(_T("WO-%d"),iComboxIndex+1); + ((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->InsertString(iComboxIndex++,csTmp); + for (int i=iComboxIndex;iInsertString(i,csTmp); } + ((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->SetCurSel(0); ((CComboBox *)GetDlgItem(IDC_COMBO_RWDATA_ADDR))->ResetContent(); @@ -266,12 +274,12 @@ BOOL CSO7_UtilDlg::OnInitDialog() m_cs_ZScaleCoeff.Format(_T("%.2f"),(m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution)); m_cs_Version_Number=_T("3"); + m_Rotary_Edit_Position=_T("0.0"); if (!g_pLoggerDebug) { g_pLoggerDebug = new CLogger(_T("\\UtilityDebug.Log")); } - UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control @@ -294,7 +302,7 @@ void CSO7_UtilDlg::UpdateCtrlsStatus(bool _bEnable) GetDlgItem(IDC_EDIT_COAXIAL_LIGHT2)->EnableWindow(_bEnable); GetDlgItem(IDC_EDIT_COAXIAL_LIGHT3)->EnableWindow(_bEnable); GetDlgItem(IDC_EDIT_COAXIAL_LIGHT4)->EnableWindow(_bEnable); - + GetDlgItem(IDC_BUTTON_MOTION_PARAMETER)->EnableWindow(_bEnable); GetDlgItem(IDC_BUTTON_SETUP_SO7CONFIG)->EnableWindow(_bEnable); GetDlgItem(IDC_BUTTON_SO7_MOVE_ZOOM_IN)->EnableWindow(_bEnable); @@ -327,6 +335,17 @@ void CSO7_UtilDlg::UpdateCtrlsStatus(bool _bEnable) GetDlgItem(IDC_BUTTON_SO7_CNC_PROGRAM)->EnableWindow(_bEnable); GetDlgItem(IDC_BUTTON_SO7_SENDDATATOFPGA)->EnableWindow(_bEnable); GetDlgItem(IDC_BUTTON_SO7_READDATAFROMFPGA)->EnableWindow(_bEnable); + + GetDlgItem(IDC_CHECK_SO7_TOP_LIGHT_ON)->EnableWindow(_bEnable); + GetDlgItem(IDC_CHECK_SO7_BOTTOM_LIGHT_ON)->EnableWindow(_bEnable); + GetDlgItem(IDC_CHECK_SO7_RING_LIGHT_ON)->EnableWindow(_bEnable); + GetDlgItem(IDC_CHECK_SO7_RING_LIGHT_SEG_ON1)->EnableWindow(_bEnable); + GetDlgItem(IDC_CHECK_SO7_RING_LIGHT_SEG_ON2)->EnableWindow(_bEnable); + GetDlgItem(IDC_CHECK_SO7_COAXIAL_LIGHT_ON)->EnableWindow(_bEnable); + GetDlgItem(IDC_CHECK_SO7_SPARE_LIGHT_ON)->EnableWindow(_bEnable); + GetDlgItem(IDC_BUTTON_HOME)->EnableWindow(_bEnable); + + } //===================================================================== @@ -371,7 +390,6 @@ void CSO7_UtilDlg::OnBnClickedButtonTermSo7usb() m_pSO7_Proto->Exit_SO7Usb(); m_OutMessage = _T("Ready - Usb Port Released"); OutputWithScroll(m_OutMessage,m_edMSG); - GetDlgItem(IDCANCEL)->EnableWindow(true); } @@ -393,11 +411,9 @@ void CSO7_UtilDlg::OnBnClickedButtonStartSo7machine() m_pSO7_Proto->_send_cmd_SO7_CMD_SET_GET_INTERRUPT_MSG_METHOD(m_pSO7_Proto->g_machine.s_machine_config.motion.GetInterruptMsgMethod); } UpdateCtrlsStatus(true); - SetTimer(1, 350, 0); - GetDlgItem(IDC_EDIT_UPDATE_FREQ)->SetWindowText(_T("350")); - - - + SetTimer(1, m_ReadAxisIntervalTime, 0); + m_OutMessage.Format(_T("%d"),m_ReadAxisIntervalTime); + GetDlgItem(IDC_EDIT_UPDATE_FREQ)->SetWindowText(m_OutMessage); } //===================================================================== @@ -549,17 +565,12 @@ void CSO7_UtilDlg::OnBnClickedButtonReadProbe() void CSO7_UtilDlg::OnBnClickedButtonSo7ReadAxisV() { - m_pSO7_Proto->_send_cmd_SO7_CMD_READ_V_DATA(); m_Zm_Pos.Format(_T("%8ld"),(m_pSO7_Proto->g_machine.zm._scale_pos._long_)); GetDlgItem(IDC_EDIT_ZM_AXIS)->SetWindowText(m_Zm_Pos); } - - - void CSO7_UtilDlg::OnBnClickedButtonSo7GetResetFlag() { - // TODO: 在此添加控件通知处理程序代码 m_pSO7_Proto->_send_cmd_SO7_CMD_GET_RESET_FLAG(); CString csOutMessage; csOutMessage.Format(_T("%d"),m_pSO7_Proto->g_machine.Sys_Reset_Flag); @@ -567,160 +578,173 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7GetResetFlag() OutputWithScroll(m_OutMessage,m_edMSG); } - void CSO7_UtilDlg::OnEnKillfocusEditAxialLight() { - UpdateData(TRUE); USES_CONVERSION; const char* cLightValue=T2A(m_csTop_Light_Value); - m_pSO7_Proto->g_machine.s_lights_value._top_light = static_cast(atoi(cLightValue)); - - m_pSO7_Proto->_send_cmd_SO7_CMD_SET_ALL_LIGHT_VALUE(); } - - void CSO7_UtilDlg::OnEnKillfocusEditBottomLight() { - UpdateData(TRUE); USES_CONVERSION; const char* cLightValue=T2A(m_csBom_Light_Value); - m_pSO7_Proto->g_machine.s_lights_value._bottom_light = static_cast(atoi(cLightValue)); - - m_pSO7_Proto->_send_cmd_SO7_CMD_SET_ALL_LIGHT_VALUE(); } - - void CSO7_UtilDlg::OnEnKillfocusEditRingLight() { - UpdateData(TRUE); USES_CONVERSION; const char* cLightValue=T2A(m_csFan_Light_Value); - m_pSO7_Proto->g_machine.s_lights_value._ring_light = static_cast(atoi(cLightValue)); - - m_pSO7_Proto->_send_cmd_SO7_CMD_SET_ALL_LIGHT_VALUE(); } - - void CSO7_UtilDlg::OnEnKillfocusEditCoaxialLight() { - - UpdateData(TRUE); USES_CONVERSION; const char* cLightValue=T2A(m_csBom1_Light_Value); - m_pSO7_Proto->g_machine.s_lights_value._coaxial_light = static_cast(atoi(cLightValue)); - - m_pSO7_Proto->_send_cmd_SO7_CMD_SET_ALL_LIGHT_VALUE(); } - void CSO7_UtilDlg::OnEnKillfocusEditCoaxialLight2() { - UpdateData(TRUE); USES_CONVERSION; const char* cLightValue=T2A(m_csBom2_Light_Value); - m_pSO7_Proto->g_machine.s_lights_value._spare_light1 = static_cast(atoi(cLightValue)); - - m_pSO7_Proto->_send_cmd_SO7_CMD_SET_ALL_LIGHT_VALUE(); } - - void CSO7_UtilDlg::OnEnKillfocusEditCoaxialLight3() { - UpdateData(TRUE); USES_CONVERSION; const char* cLightValue=T2A(m_csFan1_Light_Switch); - m_pSO7_Proto->g_machine.s_lights_value.segment[0] = static_cast(atoi(cLightValue)); - - m_pSO7_Proto->_send_cmd_SO7_CMD_SET_ALL_LIGHT_VALUE(); } - - void CSO7_UtilDlg::OnEnKillfocusEditCoaxialLight4() { - UpdateData(TRUE); USES_CONVERSION; const char* cLightValue=T2A(m_csFan2_Light_Switch); m_pSO7_Proto->g_machine.s_lights_value.segment[1] = static_cast(atoi(cLightValue)); m_pSO7_Proto->_send_cmd_SO7_CMD_SET_ALL_LIGHT_VALUE(); } - -void CSO7_UtilDlg::OnEnKillfocusEditLightSizeValue() +void CSO7_UtilDlg::OnBnClickedCheckSo7TopLightOn() { - - UpdateData(TRUE); - USES_CONVERSION; - const char* cLightSizeValue=T2A(m_cs_Light_Size_Value); - - m_pSO7_Proto->g_machine.Light_Size = static_cast(atoi(cLightSizeValue)); - - if (((CButton *)GetDlgItem(IDC_RADIO_LIGHT1_SIZE))->GetCheck()) + BYTE LightValue(0); + if (((CButton *)GetDlgItem(IDC_CHECK_SO7_TOP_LIGHT_ON))->GetCheck()) { - m_pSO7_Proto->_send_cmd_SO7_CMD_SET_LIGHT_SIZE(CT_LIGHT1_SIZE,m_pSO7_Proto->g_machine.Light_Size); - } - - else if (((CButton *)GetDlgItem(IDC_RADIO_LIGHT2_SIZE))->GetCheck()) + LightValue=MAXLIGHTVALUE; + } + else { - m_pSO7_Proto->_send_cmd_SO7_CMD_SET_LIGHT_SIZE(CT_LIGHT2_SIZE,m_pSO7_Proto->g_machine.Light_Size); - } - - else if (((CButton *)GetDlgItem(IDC_RADIO_LIGHT3_SIZE))->GetCheck()) - { - m_pSO7_Proto->_send_cmd_SO7_CMD_SET_LIGHT_SIZE(CT_LIGHT3_SIZE,m_pSO7_Proto->g_machine.Light_Size); - } - - else if (((CButton *)GetDlgItem(IDC_RADIO_LIGHT4_SIZE))->GetCheck()) - { - m_pSO7_Proto->_send_cmd_SO7_CMD_SET_LIGHT_SIZE(CT_LIGHT4_SIZE,m_pSO7_Proto->g_machine.Light_Size); + LightValue=MINLIGHTVALUE; } + m_csTop_Light_Value.Format(_T("%d"),LightValue); + m_pSO7_Proto->g_machine.s_lights_value._top_light = LightValue; + m_pSO7_Proto->_send_cmd_SO7_CMD_SET_ALL_LIGHT_VALUE(); + UpdateData(FALSE); } - -void CSO7_UtilDlg::OnEnKillfocusEditLightSwitch() +void CSO7_UtilDlg::OnBnClickedCheckSo7BottomLightOn() { - - UpdateData(TRUE); - USES_CONVERSION; - const char* cLightSwitchValue=T2A(m_cs_Light_Switch); - - m_pSO7_Proto->g_machine.Light_Switch = static_cast(atoi(cLightSwitchValue)); - - if (((CButton *)GetDlgItem(IDC_RADIO_LIGHT1_SIZE))->GetCheck()) + BYTE LightValue(0); + if (((CButton *)GetDlgItem(IDC_CHECK_SO7_BOTTOM_LIGHT_ON))->GetCheck()) { - m_pSO7_Proto->_send_cmd_SO7_CMD_SET_LIGHT_SIZE(CT_LIGHT1_SWITCH,m_pSO7_Proto->g_machine.Light_Switch); - } - - else if (((CButton *)GetDlgItem(IDC_RADIO_LIGHT2_SIZE))->GetCheck()) + LightValue=MAXLIGHTVALUE; + } + else { - m_pSO7_Proto->_send_cmd_SO7_CMD_SET_LIGHT_SIZE(CT_LIGHT2_SWITCH,m_pSO7_Proto->g_machine.Light_Switch); + LightValue=MINLIGHTVALUE; } - - else if (((CButton *)GetDlgItem(IDC_RADIO_LIGHT3_SIZE))->GetCheck()) + m_csBom_Light_Value.Format(_T("%d"),LightValue); + m_pSO7_Proto->g_machine.s_lights_value._bottom_light = LightValue; + m_pSO7_Proto->_send_cmd_SO7_CMD_SET_ALL_LIGHT_VALUE(); + UpdateData(FALSE); +} +void CSO7_UtilDlg::OnBnClickedCheckSo7RingLightOn() +{ + BYTE LightValue(0); + if (((CButton *)GetDlgItem(IDC_CHECK_SO7_RING_LIGHT_ON))->GetCheck()) { - m_pSO7_Proto->_send_cmd_SO7_CMD_SET_LIGHT_SIZE(CT_LIGHT3_SWITCH,m_pSO7_Proto->g_machine.Light_Switch); - } - - else if (((CButton *)GetDlgItem(IDC_RADIO_LIGHT4_SIZE))->GetCheck()) + LightValue=MAXLIGHTVALUE; + } + else { - m_pSO7_Proto->_send_cmd_SO7_CMD_SET_LIGHT_SIZE(CT_LIGHT4_SWITCH,m_pSO7_Proto->g_machine.Light_Switch); + LightValue=MINLIGHTVALUE; } - + m_csFan_Light_Value.Format(_T("%d"),LightValue); + m_pSO7_Proto->g_machine.s_lights_value._ring_light = LightValue; + m_pSO7_Proto->_send_cmd_SO7_CMD_SET_ALL_LIGHT_VALUE(); + UpdateData(FALSE); +} +void CSO7_UtilDlg::OnBnClickedCheckSo7RingLightSegOn1() +{ + BYTE LightValue(0); + if (((CButton *)GetDlgItem(IDC_CHECK_SO7_RING_LIGHT_SEG_ON1))->GetCheck()) + { + LightValue=MAXLIGHTVALUE; + } + else + { + LightValue=MINLIGHTVALUE; + } + m_csFan1_Light_Switch.Format(_T("%d"),LightValue); + m_pSO7_Proto->g_machine.s_lights_value.segment[0] = LightValue; + m_pSO7_Proto->_send_cmd_SO7_CMD_SET_ALL_LIGHT_VALUE(); + UpdateData(FALSE); +} +void CSO7_UtilDlg::OnBnClickedCheckSo7RingLightSegOn2() +{ + BYTE LightValue(0); + if (((CButton *)GetDlgItem(IDC_CHECK_SO7_RING_LIGHT_SEG_ON2))->GetCheck()) + { + LightValue=MAXLIGHTVALUE; + } + else + { + LightValue=MINLIGHTVALUE; + } + m_csFan2_Light_Switch.Format(_T("%d"),LightValue); + m_pSO7_Proto->g_machine.s_lights_value.segment[1] = LightValue; + m_pSO7_Proto->_send_cmd_SO7_CMD_SET_ALL_LIGHT_VALUE(); + UpdateData(FALSE); +} +void CSO7_UtilDlg::OnBnClickedCheckSo7CoaxialLightOn() +{ + BYTE LightValue(0); + if (((CButton *)GetDlgItem(IDC_CHECK_SO7_COAXIAL_LIGHT_ON))->GetCheck()) + { + LightValue=MAXLIGHTVALUE; + } + else + { + LightValue=MINLIGHTVALUE; + } + m_csBom1_Light_Value.Format(_T("%d"),LightValue); + m_pSO7_Proto->g_machine.s_lights_value._coaxial_light = LightValue; + m_pSO7_Proto->_send_cmd_SO7_CMD_SET_ALL_LIGHT_VALUE(); + UpdateData(FALSE); +} +void CSO7_UtilDlg::OnBnClickedCheckSo7SpareLightOn() +{ + BYTE LightValue(0); + if (((CButton *)GetDlgItem(IDC_CHECK_SO7_SPARE_LIGHT_ON))->GetCheck()) + { + LightValue=MAXLIGHTVALUE; + } + else + { + LightValue=MINLIGHTVALUE; + } + m_csBom2_Light_Value.Format(_T("%d"),LightValue); + m_pSO7_Proto->g_machine.s_lights_value._spare_light1 = LightValue; + m_pSO7_Proto->_send_cmd_SO7_CMD_SET_ALL_LIGHT_VALUE(); + UpdateData(FALSE); } void CSO7_UtilDlg::OnBnClickedButtonResetWorktable() @@ -805,17 +829,63 @@ void CSO7_UtilDlg::OnEnKillfocusEditSetVerNo() void CSO7_UtilDlg::OnBnClickedButtonSetOutPort() { - m_SetIOStatusAddr=static_cast(((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->GetCurSel()); - char cSetValue(0); - if (((CButton *)GetDlgItem(IDC_CHECK_SO7_OUT_PORT))->GetCheck()) + int iSelAddr=((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->GetCurSel(); + if (iSelAddr==0) { - cSetValue=1; + if (((CButton *)GetDlgItem(IDC_CHECK_SO7_OUT_PORT))->GetCheck()) + { + m_pSO7_Proto->_send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_M_LASE_ON,0); + } + else + { + m_pSO7_Proto->_send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_M_LASE_OFF,0); + } } + else if(iSelAddr==3) + { + if (((CButton *)GetDlgItem(IDC_CHECK_SO7_OUT_PORT))->GetCheck()) + { + m_pSO7_Proto->_send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_M_PROBE_OFF,0); + Sleep(10); + m_pSO7_Proto->_send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_LASE_TIMMER_ON,0); + } + else + { + m_pSO7_Proto->_send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_M_PROBE_ON,0); + Sleep(10); + m_pSO7_Proto->_send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_LASE_TIMMER_OFF,0); + } + } else { - cSetValue=0; + switch(iSelAddr) + { + case 1: + case 2: + { + m_SetIOStatusAddr=static_cast(iSelAddr); + break; + } + case 4: + case 5: + case 6: + case 7: + { + m_SetIOStatusAddr=10+1+static_cast(iSelAddr-4); + break; + } + } + char cSetValue(0); + if (((CButton *)GetDlgItem(IDC_CHECK_SO7_OUT_PORT))->GetCheck()) + { + cSetValue=1; + } + else + { + cSetValue=0; + } + m_pSO7_Proto->_send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,m_SetIOStatusAddr,cSetValue); } - m_pSO7_Proto->_send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,m_SetIOStatusAddr,cSetValue); } void CSO7_UtilDlg::OnEnKillfocusEditXScaleCoefficient() { @@ -863,7 +933,7 @@ void CSO7_UtilDlg::OnBnClickedButtonMotionParameter() delete g_pVolComp; g_pVolComp=nullptr; } - SetTimer(1,500,NULL); + SetTimer(1,m_ReadAxisIntervalTime,NULL); return; } @@ -884,7 +954,7 @@ void CSO7_UtilDlg::OnBnClickedButtonSetupSo7config() delete m_pSO7_AutoZoom; m_pSO7_AutoZoom=NULL; } - SetTimer(1,500,NULL); + SetTimer(1,m_ReadAxisIntervalTime,NULL); } //================================================================================================ @@ -1111,13 +1181,18 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7Readdatafromfpga() //================================================================================================ void CSO7_UtilDlg::OnBnClickedRadioReadInputPort() { - m_ReadIOStatusAddr=4; + m_ReadIOStatusAddr=5; } //================================================================================================ void CSO7_UtilDlg::OnBnClickedRadioReadOutputPort() { m_ReadIOStatusAddr=6; } +//================================================================================================ +void CSO7_UtilDlg::OnBnClickedRadioReadOutputPort2() +{ + m_ReadIOStatusAddr=7; +} //================================================================================================ void CSO7_UtilDlg::OnBnClickedButtonSo7ReadInPortStatus() @@ -1356,22 +1431,8 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7CncProgram() delete pSo7_Util_Program; pSo7_Util_Program=NULL; } - SetTimer(1,500,NULL); + SetTimer(1,m_ReadAxisIntervalTime,NULL); } - - -void CSO7_UtilDlg::OnBnClickedCheckSo7TurnOnFffLaser() -{ - if (((CButton *)GetDlgItem(IDC_CHECK_SO7_OUT_PORT))->GetCheck()) - { - m_pSO7_Proto->_send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_M_LASE_ON,0); - } - else - { - m_pSO7_Proto->_send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_M_LASE_OFF,0); - } -} - //================================================= // Move one revolution 2**23 // When the rotary stop, take the curr pos - ref pos. @@ -1379,21 +1440,21 @@ void CSO7_UtilDlg::OnBnClickedCheckSo7TurnOnFffLaser() // void CSO7_UtilDlg::OnBnClickedButtonHome() { - long lMax = 90000; // This value is try and error. there must be a mapping I do not understand. - m_pSO7_Proto->g_machine.x._pos_fixed._long_ = 0; - m_pSO7_Proto->g_machine.y._pos_fixed._long_ = 0; - m_pSO7_Proto->g_machine.z._pos_fixed._long_ = lMax; - m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ); - Sleep(200); - m_pSO7_Proto->_send_cmd_SO7_CMD_READ_ZSIGNAL_POS_Z(); + long lMax = 90000; // This value is try and error. there must be a mapping I do not understand. + m_pSO7_Proto->g_machine.x._pos_fixed._long_ = 0; + m_pSO7_Proto->g_machine.y._pos_fixed._long_ = 0; + m_pSO7_Proto->g_machine.z._pos_fixed._long_ = lMax; + m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ); + Sleep(200); + m_pSO7_Proto->_send_cmd_SO7_CMD_READ_ZSIGNAL_POS_Z(); m_ZsignalPosZ=m_pSO7_Proto->g_machine.z._ZSignal_pos._long_; m_pSO7_Proto->_send_cmd_SO7_CMD_READ_AXIS_XYZ(); double lZ = m_pSO7_Proto->g_machine.z._scale_pos._long_; - lZ; + lZ; - // set the home position. - // show the Z position in Angle - // show the signal position in Angle + // set the home position. + // show the Z position in Angle + // show the signal position in Angle } //================================================ @@ -1401,23 +1462,17 @@ void CSO7_UtilDlg::OnBnClickedButtonHome() // void CSO7_UtilDlg::OnBnClickedButtonGo() { - UpdateData(TRUE); - USES_CONVERSION; - const char* cMove_to_Rotary=T2A(m_Rotary_Edit_Position); - double dPos = atof(cMove_to_Rotary); - if (((CButton *)GetDlgItem(IDC_RADIO_RELATIVE))->GetCheck()) - { -// m_pSO7_Proto->g_machine.z._pos_fixed._long_ = atoi(cMove_to_Z) - (m_pSO7_Proto->g_machine.z._scale_pos._long_-m_pSO7_Proto->g_machine.z._lSet_Zero_Pos); - dPos; - } else - { -// m_pSO7_Proto->g_machine.z._pos_fixed._long_ = atoi(cMove_to_Z) - (m_pSO7_Proto->g_machine.z._scale_pos._long_-m_pSO7_Proto->g_machine.z._lSet_Zero_Pos); - }; - m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_Z(); -} - - -void CSO7_UtilDlg::OnBnClickedButtonSo7MoveZUp() -{ - // TODO: 在此添加控件通知处理程序代码 + UpdateData(TRUE); + USES_CONVERSION; + const char* cMove_to_Rotary=T2A(m_Rotary_Edit_Position); + double dPos = atof(cMove_to_Rotary); + if (((CButton *)GetDlgItem(IDC_RADIO_RELATIVE))->GetCheck()) + { + // m_pSO7_Proto->g_machine.z._pos_fixed._long_ = atoi(cMove_to_Z) - (m_pSO7_Proto->g_machine.z._scale_pos._long_-m_pSO7_Proto->g_machine.z._lSet_Zero_Pos); + dPos; + } else + { + // m_pSO7_Proto->g_machine.z._pos_fixed._long_ = atoi(cMove_to_Z) - (m_pSO7_Proto->g_machine.z._scale_pos._long_-m_pSO7_Proto->g_machine.z._lSet_Zero_Pos); + }; + m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_Z(); } diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h index 31fcc4b..ac2340a 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h @@ -65,6 +65,7 @@ public: long m_ZsignalPosZ; char m_HomeMode; bool m_bEnProbe; + INT m_ReadAxisIntervalTime; void UpdateIOStatus(); void TestZSignal(); void OutputWithScroll(const CString &strNewText,CEdit &edtOutput); @@ -90,8 +91,6 @@ public: afx_msg void OnEnKillfocusEditBottomLight(); afx_msg void OnEnKillfocusEditRingLight(); afx_msg void OnEnKillfocusEditCoaxialLight(); - afx_msg void OnEnKillfocusEditLightSizeValue(); - afx_msg void OnEnKillfocusEditLightSwitch(); afx_msg void OnEnKillfocusEditCoaxialLight2(); afx_msg void OnEnKillfocusEditCoaxialLight3(); afx_msg void OnEnKillfocusEditCoaxialLight4(); @@ -112,7 +111,6 @@ public: afx_msg void OnBnClickedRadioSpeedGear5(); afx_msg void OnBnClickedButtonSo7TestZSignal(); afx_msg void OnBnClickedButtonSo7CncProgram(); - afx_msg void OnBnClickedCheckSo7TurnOnFffLaser(); afx_msg void OnBnClickedButtonSo7Senddatatofpga(); afx_msg void OnBnClickedButtonSo7Readdatafromfpga(); afx_msg void OnBnClickedRadioReadInputPort(); @@ -120,5 +118,12 @@ public: afx_msg void OnBnClickedButtonMotionParameter(); afx_msg void OnBnClickedButtonHome(); afx_msg void OnBnClickedButtonGo(); - afx_msg void OnBnClickedButtonSo7MoveZUp(); + afx_msg void OnBnClickedCheckSo7TopLightOn(); + afx_msg void OnBnClickedCheckSo7BottomLightOn(); + afx_msg void OnBnClickedCheckSo7RingLightOn(); + afx_msg void OnBnClickedCheckSo7RingLightSegOn1(); + afx_msg void OnBnClickedCheckSo7RingLightSegOn2(); + afx_msg void OnBnClickedCheckSo7CoaxialLightOn(); + afx_msg void OnBnClickedCheckSo7SpareLightOn(); + afx_msg void OnBnClickedRadioReadOutputPort2(); }; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj index 5450d89..7a5bb89 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj @@ -129,7 +129,7 @@ Disabled - _RELEASE_SO7_CONTROLER_ONLY;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;_RELEASE_FULL_VERSION;%(PreprocessorDefinitions) + WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;_RELEASE_FULL_VERSION;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL @@ -480,7 +480,7 @@ - + \ No newline at end of file diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h index a4f2645..56fe07d 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h @@ -878,6 +878,7 @@ #define IDC_RADIO2 1805 #define IDC_RADIO_READ_OUTPUT_PORT 1805 #define IDC_RADIO_MACHINE_TESASTARE 1806 +#define IDC_RADIO_READ_OUTPUT_PORT2 1806 #define IDC_EDIT_MOVETO_DEG 1807 #define IDC_BUTTON_TESA_STAR_SENDMSG 1808 #define IDC_EDIT_TESA_STAR_E_LOG 1809 @@ -894,15 +895,22 @@ #define IDC_STATIC_SPEED_PARA4 1818 #define IDC_CHECK3 1819 #define IDC_CHECK_SO7_MOTION_AUTO_SET_ZERO 1819 +#define IDC_CHECK_SO7_TOP_LIGHT_ON 1819 #define IDC_LIST_SO7_MOTION_CONFIG 1820 +#define IDC_CHECK_SO7_BOTTOM_LIGHT_ON 1820 #define IDC_EDIT_SO7_MOTION_CONFIG_MSGOUT 1821 +#define IDC_CHECK_SO7_RING_LIGHT_ON 1821 #define IDC_EDIT_SO7_PROGEAM_INTERCAL_TIME_PER_CNC 1822 +#define IDC_CHECK_SO7_RING_LIGHT_SEG_ON1 1822 +#define IDC_CHECK_SO7_RING_LIGHT_SEG_ON2 1823 #define IDC_EDIT_POSITION 1824 #define IDC_RADIO_RELATIVE 1825 #define IDC_RADIO_ABS 1826 #define IDC_RADIO_ABSOLUTE 1826 #define IDC_KEYENCE_LKG5000_IPADDRESS1 1827 +#define IDC_CHECK_SO7_COAXIAL_LIGHT_ON 1827 #define IDC_KEYENCE_LKG5000_IPADDRESS2 1828 +#define IDC_CHECK_SO7_SPARE_LIGHT_ON 1828 #define IDC_EDIT_KEYENCE_LKG5000_MSG 1830 #define IDC_BTN_KEYENCE_LKG5000_ETHERNET_START_SCAN 1831 #define IDC_BTN_KEYENCE_LKG5000_ETHERNET_STOP_SCAN 1832 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 ec5c3f2e4281709e51e15fdba805162a752d5b3c..30eb3319218253d70ce1fa495a58c686fdb7e040 100644 GIT binary patch delta 3727 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 delta 3999 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