From e81ff3e9910ca97b4a4783572ba60b54377d99d4 Mon Sep 17 00:00:00 2001 From: TAO Cheng Date: Mon, 7 Jul 2014 16:28:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A4=96=E8=A7=A6=E5=8F=91?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Base/Interfac/Msi/Hsi/SevenOcean/CMD_H.h | 4 + .../Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp | 106 ++++++++++++-- .../Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h | 24 +++- .../Tools/UsbUtility/Debug/UtilityDebug.Log | 26 ++++ .../Tools/UsbUtility/Debug/Utility_Config.ini | 40 +++--- .../Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc | 17 ++- .../UsbUtility/UsbUtil/SO7_Move_Location.cpp | 40 ++++++ .../UsbUtility/UsbUtil/SO7_Move_Location.h | 2 + .../UsbUtility/UsbUtil/SO7_Send_Parameter.cpp | 2 +- .../UsbUtility/UsbUtil/So7_Art_PCI8622.cpp | 2 +- .../UsbUtil/So7_Util_External_Trig.cpp | 135 +++++++++++++++++- .../UsbUtil/So7_Util_External_Trig.h | 7 + .../UsbUtil/Usb_Util.vcxproj.filters | 8 +- .../Hsi/Tools/UsbUtility/UsbUtil/resource.h | 9 +- .../Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo | Bin 150016 -> 150016 bytes 15 files changed, 370 insertions(+), 52 deletions(-) diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMD_H.h b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMD_H.h index b40e826..82ca187 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMD_H.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/CMD_H.h @@ -123,6 +123,10 @@ enum MOTOR_CMD CT_GET_INTERRUPT_MSG, CT_SET_INTERRUPT_MSG, CT_SET_GETINTERRUPTMSG_METHOD, + + CT_SET_MOTION_FINISHED_CNTS, + CT_GET_MOTION_FINISHED_CNTS, + CT_END }; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp index eb839ef..5ae0fe6 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp @@ -204,8 +204,10 @@ void CSO7_Proto::_process_rcv_transfer_data(int iEP) break; case CT_GET_INTERRUPT_MSG: _process_SO7_CMD_GET_INTERRUPT_MSG(ep_buff[EP_02_CMD_IDX]._save_send_cmd1); + break; + case CT_GET_MOTION_FINISHED_CNTS: + _process_SO7_CMD_GET_MOTION_CNTS(); break; - default: TRACE1("_process_rcv_transfer_data() : Unknown ep_buff[EP_02_CMD_IDX]._save_send_cmd : %X \r\n", ep_buff[EP_02_CMD_IDX]._save_send_cmd); TRACE1("_process_rcv_transfer_data() : Unknown ep_buff[EP_81_DATA_IDX]._buffer[0] : %X \r\n", ep_buff[EP_81_DATA_IDX]._buffer[0]); @@ -512,6 +514,18 @@ CSO7_Proto::CSO7_Proto() g_machine.Light_Switch=0; g_machine.SEQ_NUMBER=0; + g_machine.Arm_MotionStartCnts[0]=30; + g_machine.Arm_MotionStartCnts[1]=50; + g_machine.Arm_MotionStartCnts[2]=60; + g_machine.Arm_MotionStartCnts[3]=70; + g_machine.Arm_MotionStartCnts[4]=80; + g_machine.Arm_MotionStopCnts[0]=5; + g_machine.Arm_MotionStopCnts[1]=10; + g_machine.Arm_MotionStopCnts[2]=15; + g_machine.Arm_MotionStopCnts[3]=20; + g_machine.Arm_MotionStopCnts[4]=20; + g_machine.Arm_MotionSpeedGear=0;//4,3,2,1,5 + 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; @@ -3416,7 +3430,7 @@ SSI_STATUS_MOTION CSO7_Proto::so7_motion_init_firmware_para() CString csStr(csAStr); g_pLogger->SendAndFlushWithTime(csStr); } - if (g_machine.FirmwareVer==FirmwareVer_6_X) + if (g_machine.FirmwareVer>=FirmwareVer_6_X) { _send_cmd_SO7_CMD_WRITE_DATA_TO_FPGA(E_AXIS_X,E_WRITE_ACCURA_ERR,static_cast(g_machine.s_machine_config.motion.m_AccuraErrPulseX)); Sleep(MIN_SLEEP_TIME); @@ -3424,12 +3438,12 @@ SSI_STATUS_MOTION CSO7_Proto::so7_motion_init_firmware_para() Sleep(MIN_SLEEP_TIME); _send_cmd_SO7_CMD_WRITE_DATA_TO_FPGA(E_AXIS_Z,E_WRITE_ACCURA_ERR,static_cast(g_machine.s_machine_config.motion.m_AccuraErrPulseZ)); Sleep(MIN_SLEEP_TIME); - _send_cmd_SO7_CMD_WRITE_DATA_TO_FPGA(E_AXIS_X,E_WRITE_EQUIDISTANCE,static_cast(g_machine.s_machine_config.motion.m_EQUIDIS_X)); - Sleep(MIN_SLEEP_TIME); - _send_cmd_SO7_CMD_WRITE_DATA_TO_FPGA(E_AXIS_Y,E_WRITE_EQUIDISTANCE,static_cast(g_machine.s_machine_config.motion.m_EQUIDIS_Y)); - Sleep(MIN_SLEEP_TIME); - _send_cmd_SO7_CMD_WRITE_DATA_TO_FPGA(E_AXIS_Z,E_WRITE_EQUIDISTANCE,static_cast(g_machine.s_machine_config.motion.m_EQUIDIS_Z)); - Sleep(MIN_SLEEP_TIME); + //_send_cmd_SO7_CMD_WRITE_DATA_TO_FPGA(E_AXIS_X,E_WRITE_EQUIDISTANCE,static_cast(g_machine.s_machine_config.motion.m_EQUIDIS_X)); + //Sleep(MIN_SLEEP_TIME); + //_send_cmd_SO7_CMD_WRITE_DATA_TO_FPGA(E_AXIS_Y,E_WRITE_EQUIDISTANCE,static_cast(g_machine.s_machine_config.motion.m_EQUIDIS_Y)); + //Sleep(MIN_SLEEP_TIME); + //_send_cmd_SO7_CMD_WRITE_DATA_TO_FPGA(E_AXIS_Z,E_WRITE_EQUIDISTANCE,static_cast(g_machine.s_machine_config.motion.m_EQUIDIS_Z)); + //Sleep(MIN_SLEEP_TIME); } } else @@ -3615,6 +3629,7 @@ SSI_STATUS_MOTION CSO7_Proto::so7_motion_Dcc_Home_R() { g_machine.z._pos_fixed._long_=lMoveToDis; } + so7_motion_clear_finished_flag(); _send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ); //======================================== INT lSleep = 20; @@ -3753,6 +3768,7 @@ SSI_STATUS_MOTION CSO7_Proto::so7_motion_set_position_R(double dRad,bool bWait) { g_machine.z._pos_fixed._long_=lMoveToDis; } + so7_motion_clear_finished_flag(); _send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ); g_machine.MotionType=EMSG_STOPXYZ_1_MOVETOXYZ; @@ -4105,6 +4121,7 @@ SSI_STATUS_MOTION CSO7_Proto::so7_motion_set_position_xyz(double dX, double dY, g_machine.z._pos_fixed._long_=Z.to-Z.from; // _calculate_straightline_motion(g_machine.s_machine_config._dXYZSpeed); + so7_motion_clear_finished_flag(); _send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ); g_machine.MotionType=EMSG_STOPXYZ_1_MOVETOXYZ; @@ -4213,6 +4230,17 @@ BOOL CSO7_Proto::IsMotionFinishedManual(BOOL _BResetCnts) } return g_machine.MotionFinished; }; +//================================================================== +SSI_STATUS_MOTION CSO7_Proto::so7_motion_clear_finished_flag() +{ + WaitForSingleObject(g_hHomedEvent, INFINITE); // machine start and homing is done + if (g_machine.s_machine_config.motion.GetInterruptMsgMethod==E_GET_INTERRUPT_MSG_INQUIRY) + { + _send_cmd_SO7_CMD_SET_INTERRUPT_MSG(g_machine.MotionType,0); + } + return SSI_STATUS_MOTION_NORMAL; +} + //================================================================== SSI_STATUS_MOTION CSO7_Proto::so7_motion_is_finished(char MotionType,BOOL& IsFinished) { @@ -5560,7 +5588,7 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_SET_CONSTANT_SPEED(int iSpeed,ch char _speed_fresh(0); char _speed_start(0); char _speed_max(0); - if (g_machine.FirmwareVer==FirmwareVer_6_X) + if (g_machine.FirmwareVer>=FirmwareVer_6_X) { iDeceDistance = iSpeed; } @@ -6146,15 +6174,14 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_READ_TRIG_PULSE_PARA(short ParaI ReleaseMutex(g_hEP02_Serial_Mutex); return SSI_STATUS_MOTION_NORMAL; } -static char caxis=1; //============================================================== SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_WRITE_TRIG_PULSE_PARA(char ActiveAxis,char TrigMode,short StartIndex,short ParaNumber,short* Para) { - caxis=ActiveAxis; WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE); memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE); char cBuff(0); short sPara(0); + g_machine.TrigPara.TrigPulseActiveAxis=ActiveAxis; *(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA; *(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_WRITE_TRIG_PULSE_PARA; *(ep_buff[EP_02_CMD_IDX]._buffer+2) = ActiveAxis; @@ -6208,7 +6235,7 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_TRIG_PULSE_START() *(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA; *(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_START_TRIG_PULSE; - *(ep_buff[EP_02_CMD_IDX]._buffer+2)=caxis; + *(ep_buff[EP_02_CMD_IDX]._buffer+2)=g_machine.TrigPara.TrigPulseActiveAxis; ep_buff[EP_02_CMD_IDX]._size = 0x03; ep_buff[EP_81_DATA_IDX]._size = 0x00; @@ -6226,7 +6253,7 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_TRIG_PULSE_STOP() *(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA; *(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_STOP_TRIG_PULSE; - *(ep_buff[EP_02_CMD_IDX]._buffer+2)=caxis; + *(ep_buff[EP_02_CMD_IDX]._buffer+2)=g_machine.TrigPara.TrigPulseActiveAxis; ep_buff[EP_02_CMD_IDX]._size = 0x03; ep_buff[EP_81_DATA_IDX]._size = 0x00; @@ -6261,6 +6288,44 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_IO_PURPOSE(BOOL _bEnTrigIO) return SSI_STATUS_MOTION_NORMAL; } //============================================================== +SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_SET_MOTION_CNTS(char _Speedgear,char _StartCnts,char _StopCnts) +{ + WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE); + memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE); + + *(ep_buff[EP_02_CMD_IDX]._buffer) = CT_MOTOR; + *(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_SET_MOTION_FINISHED_CNTS; + *(ep_buff[EP_02_CMD_IDX]._buffer+2)= _Speedgear; + *(ep_buff[EP_02_CMD_IDX]._buffer+3)= _StartCnts; + *(ep_buff[EP_02_CMD_IDX]._buffer+4)= _StopCnts; + + ep_buff[EP_02_CMD_IDX]._size = 0x05; + ep_buff[EP_81_DATA_IDX]._size = 0x00; + + g_hEP02_Thread_State=THREAD_RUNNING_STATE2; + _do_single_threaded_usb_comm(EP_02_CMD_IDX); + ReleaseMutex(g_hEP02_Serial_Mutex); + return SSI_STATUS_MOTION_NORMAL; +} +//============================================================== +SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_GET_MOTION_CNTS(char _Speedgear) +{ + WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE); + memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE); + *(ep_buff[EP_02_CMD_IDX]._buffer) = CT_MOTOR; + *(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_GET_MOTION_FINISHED_CNTS; + *(ep_buff[EP_02_CMD_IDX]._buffer+2) = _Speedgear; + + ep_buff[EP_02_CMD_IDX]._size = 0x03; + ep_buff[EP_82_DATA_IDX]._size = 0x03; + + g_hEP02_Thread_State=THREAD_RUNNING_STATE1; + g_hEP8x_Thread_State=THREAD_RUNNING_STATE2; + _do_single_threaded_usb_comm(EP_02_CMD_IDX); + ReleaseMutex(g_hEP02_Serial_Mutex); + return SSI_STATUS_MOTION_NORMAL; +} +//============================================================== SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_MOVE_X() { @@ -6595,6 +6660,10 @@ SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_READ_FIRMWARE_VERSION_INFO() { g_machine.FirmwareVer=FirmwareVer_6_X; } + else if (g_machine.FirmwareInfo[3]=='7') + { + g_machine.FirmwareVer=FirmwareVer_7_X; + } else { g_machine.FirmwareVer=FirmwareVer_3_X; @@ -6658,4 +6727,13 @@ SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_WRITE_TRIG_PULSE_PARA() g_machine.TrigPara.TrigTotalNo._char_[3]=0; index++; return SSI_STATUS_MOTION_NORMAL; -} \ No newline at end of file +} +//============================================================== +SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_GET_MOTION_CNTS() +{ + int index(0); + g_machine.Arm_MotionSpeedGear=*(ep_buff[EP_82_DATA_IDX]._buffer); + g_machine.Arm_MotionStartCnts[index]=*(ep_buff[EP_82_DATA_IDX]._buffer+1); + g_machine.Arm_MotionStopCnts[index]=*(ep_buff[EP_82_DATA_IDX]._buffer+2); + return SSI_STATUS_MOTION_NORMAL; +} diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h index f4e7e1d..e9d4ff9 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h @@ -79,6 +79,7 @@ enum EFirmwareVer { FirmwareVer_3_X=0, FirmwareVer_6_X, + FirmwareVer_7_X, FirmwareVer_Total }; enum ESO7_AXIS_TYPE @@ -88,11 +89,22 @@ enum ESO7_AXIS_TYPE E_AXIS_Z=3, E_AXIS_V=4 }; +//FirmwareVer_6_X +//enum ESO7_WRITE_FPGA_DATA_ADDR +//{ +// E_WRITE_MOTOR_FLAG=9, +// E_WRITE_EQUIDISTANCE=10, +// E_WRITE_ACCURA_ERR=11, +// E_WRITE_TOTAL=16 +//}; +//FirmwareVer_7_X enum ESO7_WRITE_FPGA_DATA_ADDR { E_WRITE_MOTOR_FLAG=9, - E_WRITE_EQUIDISTANCE=10, - E_WRITE_ACCURA_ERR=11, + E_WRITE_TRIG_LSB=10, + E_WRITE_ACCURA_ERR=12, + E_WRITE_TRIG_MSB=13, + E_WRITE_TRIG_HOLDTIME=14, E_WRITE_TOTAL=16 }; enum ESO7_CONTROLLER_IO_ADDR @@ -310,6 +322,9 @@ struct struct_so7_machine char MotionType; int MotionFinishedCnts; BOOL MotionFinished; + char Arm_MotionStartCnts[5]; + char Arm_MotionStopCnts[5]; + char Arm_MotionSpeedGear; struct s_so7_axis x; struct s_so7_axis y; struct s_so7_axis z; @@ -474,6 +489,7 @@ public: SSI_STATUS_MOTION so7_motion_get_3D_max_speed(double &dMaxSpeed); SSI_STATUS_MOTION so7_motion_is_finished(char MotionType,BOOL& IsFinished); + SSI_STATUS_MOTION so7_motion_clear_finished_flag(); SSI_STATUS_MOTION so7_motion_set_all_speed_para(); SSI_STATUS_MOTION so7_motion_get_all_speed_para(); @@ -555,6 +571,8 @@ public: SSI_STATUS_MOTION _send_cmd_SO7_CMD_TRIG_PULSE_START(); SSI_STATUS_MOTION _send_cmd_SO7_CMD_TRIG_PULSE_STOP(); SSI_STATUS_MOTION _send_cmd_SO7_CMD_IO_PURPOSE(BOOL _bEnTrigIO); + SSI_STATUS_MOTION _send_cmd_SO7_CMD_SET_MOTION_CNTS(char _Speedgear,char _StartCnts,char _StopCnts); + SSI_STATUS_MOTION _send_cmd_SO7_CMD_GET_MOTION_CNTS(char _Speedgear=0); static SSI_STATUS_MOTION _process_SO7_CMD_MOVE_X(); @@ -596,6 +614,8 @@ public: static SSI_STATUS_MOTION _process_SO7_CMD_GET_SEQ_NUMBER(); static SSI_STATUS_MOTION _process_SO7_CMD_READ_TRIG_PULSE_PARA(); static SSI_STATUS_MOTION _process_SO7_CMD_WRITE_TRIG_PULSE_PARA(); + static SSI_STATUS_MOTION _process_SO7_CMD_GET_MOTION_CNTS(); + }; #endif 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 9bf427b..17091ed 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log @@ -4677,3 +4677,29 @@ 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. +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. +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 eadf6ff..8792e49 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 @@ -15,17 +15,17 @@ SPEED_BASE_X1=28 SPEED_MAX_X1=30 SPEED_START_X1=20 SPEED_FRESH_X1=8 -SPEED_SLOW_X1=3.000 +SPEED_SLOW_X1=2.500 ; -SPEED_BASE_X2=8 +SPEED_BASE_X2=16 SPEED_MAX_X2=10 -SPEED_START_X2=10 +SPEED_START_X2=12 SPEED_FRESH_X2=10 -SPEED_SLOW_X2=0.500 +SPEED_SLOW_X2=2.000 ; -SPEED_BASE_X3=2 -SPEED_MAX_X3=0 -SPEED_START_X3=8 +SPEED_BASE_X3=4 +SPEED_MAX_X3=80 +SPEED_START_X3=10 SPEED_FRESH_X3=10 SPEED_SLOW_X3=0.050 ; @@ -33,25 +33,25 @@ SPEED_BASE_X4=2 SPEED_MAX_X4=0 SPEED_START_X4=5 SPEED_FRESH_X4=10 -SPEED_SLOW_X4=0.010 +SPEED_SLOW_X4=0.009 ; -SPEED_BASE_X5=2 -SPEED_MAX_X5=0 -SPEED_START_X5=50 -SPEED_FRESH_X5=10 -SPEED_SLOW_X5=0.100 +SPEED_BASE_X5=28 +SPEED_MAX_X5=30 +SPEED_START_X5=20 +SPEED_FRESH_X5=8 +SPEED_SLOW_X5=2.500 ; SPEED_BASE_Y1=20 SPEED_MAX_Y1=10 SPEED_START_Y1=20 SPEED_FRESH_Y1=8 -SPEED_SLOW_Y1=2.000 +SPEED_SLOW_Y1=2.500 ; -SPEED_BASE_Y2=8 +SPEED_BASE_Y2=16 SPEED_MAX_Y2=10 -SPEED_START_Y2=10 +SPEED_START_Y2=12 SPEED_FRESH_Y2=10 -SPEED_SLOW_Y2=0.500 +SPEED_SLOW_Y2=1.000 ; SPEED_BASE_Y3=2 SPEED_MAX_Y3=0 @@ -63,7 +63,7 @@ SPEED_BASE_Y4=0 SPEED_MAX_Y4=0 SPEED_START_Y4=10 SPEED_FRESH_Y4=10 -SPEED_SLOW_Y4=0.010 +SPEED_SLOW_Y4=0.009 ; SPEED_BASE_Y5=1 SPEED_MAX_Y5=0 @@ -93,7 +93,7 @@ SPEED_BASE_Z4=0 SPEED_MAX_Z4=0 SPEED_START_Z4=18 SPEED_FRESH_Z4=10 -SPEED_SLOW_Z4=0.010 +SPEED_SLOW_Z4=0.009 ; SPEED_BASE_Z5=5 SPEED_MAX_Z5=6 @@ -102,7 +102,7 @@ SPEED_FRESH_Z5=10 SPEED_SLOW_Z5=0.100 ; X_MOTOR_PRECISION=0.004 -Y_MOTOR_PRECISION=0.009 +Y_MOTOR_PRECISION=0.008 Z_MOTOR_PRECISION=0.004 ; X_MOTOR_WHEELBASE=1.500 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 85c3eee..af394fb 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 @@ -540,8 +540,6 @@ BEGIN EDITTEXT IDC_EDIT_REPETEST_ERRORRANGE,365,206,45,12,ES_RIGHT | ES_AUTOHSCROLL PUSHBUTTON "开始",IDC_BUTTON_BEGIN_REPE_TEST,435,159,56,13 PUSHBUTTON "保存记录...",IDC_BUTTON_SAVE_REPETEST,435,186,56,13 - GROUPBOX "单位",IDC_STATIC,18,15,160,38 - GROUPBOX "运动类型",IDC_STATIC,188,15,129,38 GROUPBOX "匀速速度",IDC_STATIC,187,68,305,41 PUSHBUTTON "EXIT",IDCANCEL,697,449,50,14,NOT WS_VISIBLE LTEXT "x",IDC_STATIC,28,134,8,8 @@ -589,6 +587,15 @@ BEGIN GROUPBOX "档位",IDC_STATIC,27,68,149,41 GROUPBOX "定位速度",IDC_STATIC,18,59,479,60 GROUPBOX "Log",IDC_STATIC,16,268,487,183 + EDITTEXT IDC_EDIT_SO7_MOTION_START_CNTS,370,21,40,14,ES_AUTOHSCROLL + EDITTEXT IDC_EDIT_SO7_MOTION_STOP_CNTS,370,40,40,14,ES_AUTOHSCROLL + PUSHBUTTON "Set",IDC_BUTTON_SO7_MOTION_SET_CNTS,420,20,50,14 + PUSHBUTTON "Get",IDC_BUTTON_SO7_MOTION_GET_CNTS,420,40,50,14 + GROUPBOX "Motion Cnts",IDC_STATIC,324,10,174,48 + GROUPBOX "运动类型",IDC_STATIC,188,10,129,48 + GROUPBOX "单位",IDC_STATIC,18,10,160,48 + LTEXT "Start",IDC_STATIC,343,24,17,8 + LTEXT "Stop",IDC_STATIC,343,41,16,8 END IDD_SO7_UTIL_IMAGE_DLL DIALOGEX 0, 0, 377, 184 @@ -983,13 +990,15 @@ BEGIN CONTROL "",IDC_LIST_SO7_EXTRIG_SPECLOCATION,"SysListView32",LVS_REPORT | WS_BORDER | WS_TABSTOP,33,113,254,77 EDITTEXT IDC_EDIT_SO7_EXTRIG_RESULT,19,208,294,80,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL PUSHBUTTON "Exit",IDCANCEL,276,295,50,14 - PUSHBUTTON "开始",IDC_BUTTON_SO7_EXTRIG_START,171,30,50,14 + PUSHBUTTON "开始",IDC_BUTTON_SO7_EXTRIG_START,238,23,50,14 GROUPBOX "外触发轴",IDC_STATIC,17,15,125,41 - PUSHBUTTON "停止",IDC_BUTTON_SO7_EXTRIG_STOP,243,30,50,14 + PUSHBUTTON "停止",IDC_BUTTON_SO7_EXTRIG_STOP,238,39,50,14 GROUPBOX "外触发参数",IDC_STATIC,17,58,297,144 GROUPBOX "操作",IDC_STATIC,150,15,163,40 PUSHBUTTON "设置",IDC_BUTTON_SO7_EXTRIG_SET_PARA,238,70,50,14 PUSHBUTTON "读取",IDC_BUTTON_SO7_EXTRIG_GET_PARA,238,90,50,14 + EDITTEXT IDC_EDIT_SO7_EXTRIG_TEST_TIMES,182,30,40,14,ES_AUTOHSCROLL + LTEXT "次数",IDC_STATIC,161,32,17,8 END 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 9667f71..ee3a493 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 @@ -84,6 +84,8 @@ BEGIN_MESSAGE_MAP(CSO7_Move_Location, CMFCPropertyPage) ON_BN_CLICKED(IDC_RADIO_SO7_MOVE_SPEED_GEAR3, &CSO7_Move_Location::OnBnClickedRadioSo7MoveSpeedGear3) ON_BN_CLICKED(IDC_RADIO_SO7_MOVE_SPEED_GEAR4, &CSO7_Move_Location::OnBnClickedRadioSo7MoveSpeedGear4) ON_BN_CLICKED(IDC_RADIO_SO7_MOVE_SPEED_GEAR5, &CSO7_Move_Location::OnBnClickedRadioSo7MoveSpeedGear5) + ON_BN_CLICKED(IDC_BUTTON_SO7_MOTION_SET_CNTS, &CSO7_Move_Location::OnBnClickedButtonSo7MotionSetCnts) + ON_BN_CLICKED(IDC_BUTTON_SO7_MOTION_GET_CNTS, &CSO7_Move_Location::OnBnClickedButtonSo7MotionGetCnts) END_MESSAGE_MAP() // CSO7_Move_Location 消息处理程序 @@ -151,6 +153,10 @@ BOOL CSO7_Move_Location::OnInitDialog() m_RepeTest_Interval=_T("0"); m_RepeTest_ErrRange=_T("0"); bRepeTestDone=false; + + ((CEdit*)GetDlgItem(IDC_EDIT_SO7_MOTION_START_CNTS))->SetWindowTextW(_T("30")); + ((CEdit*)GetDlgItem(IDC_EDIT_SO7_MOTION_STOP_CNTS))->SetWindowTextW(_T("5")); + UpdateData(FALSE); return TRUE; } @@ -2424,6 +2430,38 @@ void CSO7_Move_Location::RepeTestMoveTo(char type,char axis,double dis) } +//========================================================================================= +void CSO7_Move_Location::OnBnClickedButtonSo7MotionSetCnts() +{ + UpdateData(TRUE); + USES_CONVERSION; + char Startcnts(0); + char Stopcnts(0); + CString csTmp; + ((CEdit*)GetDlgItem(IDC_EDIT_SO7_MOTION_START_CNTS))->GetWindowTextW(csTmp); + const char* cTmp=T2A(csTmp); + Startcnts = static_cast(atoi(cTmp)); + ((CEdit*)GetDlgItem(IDC_EDIT_SO7_MOTION_STOP_CNTS))->GetWindowTextW(csTmp); + cTmp=T2A(csTmp); + Stopcnts = static_cast(atoi(cTmp)); + + m_pSO7_Proto->_send_cmd_SO7_CMD_SET_MOTION_CNTS(m_pSO7_Proto->g_machine.x._MoveTo_Speed_Gear,Startcnts,Stopcnts); + +} +//========================================================================================= +void CSO7_Move_Location::OnBnClickedButtonSo7MotionGetCnts() +{ + m_pSO7_Proto->_send_cmd_SO7_CMD_GET_MOTION_CNTS(m_pSO7_Proto->g_machine.x._MoveTo_Speed_Gear); + + CString csTmp; + csTmp.Format(_T("MotionCnts:Gear=%d,Start=%d,Stop=%d."),m_pSO7_Proto->g_machine.Arm_MotionSpeedGear + ,static_cast(m_pSO7_Proto->g_machine.Arm_MotionStartCnts[0]),static_cast(m_pSO7_Proto->g_machine.Arm_MotionStopCnts[0])); + OutputWithScroll(csTmp,m_edit_RepeTest); + csTmp.Format(_T("%d"),static_cast(m_pSO7_Proto->g_machine.Arm_MotionStartCnts[0])); + ((CEdit*)GetDlgItem(IDC_EDIT_SO7_MOTION_START_CNTS))->SetWindowTextW(csTmp); + csTmp.Format(_T("%d"),static_cast(m_pSO7_Proto->g_machine.Arm_MotionStopCnts[0])); + ((CEdit*)GetDlgItem(IDC_EDIT_SO7_MOTION_STOP_CNTS))->SetWindowTextW(csTmp); +} //========================================================================================= void CSO7_Move_Location::OnTimer(UINT_PTR nIDEvent) { @@ -2706,3 +2744,5 @@ void CSO7_Move_Location::OnBnClickedCheckSo7MovetoFpgadata() KillTimer(5); } } + + diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.h index d5917f0..71d9877 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_Move_Location.h @@ -109,4 +109,6 @@ public: afx_msg void OnBnClickedRadioSo7MoveSpeedGear3(); afx_msg void OnBnClickedRadioSo7MoveSpeedGear4(); afx_msg void OnBnClickedRadioSo7MoveSpeedGear5(); + afx_msg void OnBnClickedButtonSo7MotionSetCnts(); + afx_msg void OnBnClickedButtonSo7MotionGetCnts(); }; 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 fd12866..99a66d5 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 @@ -216,7 +216,7 @@ BOOL CSO7_Send_Parameter::OnInitDialog() ((CButton *)GetDlgItem(IDC_RADIO_CANVAS_POSTION_TIME))->SetCheck(false); ((CButton *)GetDlgItem(IDC_RADIO_CANVAS_SPEED_TIME))->SetCheck(true); - if (m_pSO7_Proto->g_machine.FirmwareVer==FirmwareVer_6_X) + if (m_pSO7_Proto->g_machine.FirmwareVer>=FirmwareVer_6_X) { ((CStatic *)GetDlgItem(IDC_STATIC_SPEED_PARA1))->SetWindowTextW(_T("加速度(0-255)")); ((CStatic *)GetDlgItem(IDC_STATIC_SPEED_PARA2))->SetWindowTextW(_T("缓冲距离(0-255)")); diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Art_PCI8622.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Art_PCI8622.cpp index 6ee0799..85103dc 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Art_PCI8622.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Art_PCI8622.cpp @@ -71,7 +71,7 @@ BOOL CSo7_Art_PCI8622::OnInitDialog() } } GetDlgItem(IDC_EDIT_ART_PCI8622_GET_DATA_NUMBER)->SetWindowTextW(_T("4096")); - GetDlgItem(IDC_EDIT_ART_PCI8622_READ_TIMES)->SetWindowTextW(_T("1")); + GetDlgItem(IDC_EDIT_ART_PCI8622_READ_TIMES)->SetWindowTextW(_T("0")); ((CButton *)GetDlgItem(IDC_RADIO_ART_PCI8622_MODE_DMATRIG))->SetCheck(TRUE); m_pART_PCI8622->Init(); diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_External_Trig.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_External_Trig.cpp index 6236267..b06a4e7 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_External_Trig.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_External_Trig.cpp @@ -20,7 +20,10 @@ IMPLEMENT_DYNAMIC(CSo7_Util_External_Trig, CDialog) for (int i=0;i<65535;i++) { m_TrigPara[i]=0; + m_TrigSetPara[i]=0; } + m_TestTimes=1; + m_CurTestCnt=0; } CSo7_Util_External_Trig::~CSo7_Util_External_Trig() @@ -36,6 +39,7 @@ void CSo7_Util_External_Trig::DoDataExchange(CDataExchange* pDX) BEGIN_MESSAGE_MAP(CSo7_Util_External_Trig, CDialog) + ON_WM_TIMER() ON_BN_CLICKED(IDC_RADIO_SO7_EXTRIG_EQDIS, &CSo7_Util_External_Trig::OnBnClickedRadioSo7ExtrigEqdis) ON_BN_CLICKED(IDC_RADIO_SO7_EXTRIG_SPECLOCATION, &CSo7_Util_External_Trig::OnBnClickedRadioSo7ExtrigSpeclocation) ON_BN_CLICKED(IDC_BUTTON_SO7_EXTRIG_START, &CSo7_Util_External_Trig::OnBnClickedButtonSo7ExtrigStart) @@ -43,6 +47,7 @@ BEGIN_MESSAGE_MAP(CSo7_Util_External_Trig, CDialog) ON_EN_KILLFOCUS(IDC_EDIT_SO7_EXTRIG_SPECLOCATION, &CSo7_Util_External_Trig::OnEnKillfocusEditSo7ExtrigSpeclocation) ON_BN_CLICKED(IDC_BUTTON_SO7_EXTRIG_SET_PARA, &CSo7_Util_External_Trig::OnBnClickedButtonSo7ExtrigSetPara) ON_BN_CLICKED(IDC_BUTTON_SO7_EXTRIG_GET_PARA, &CSo7_Util_External_Trig::OnBnClickedButtonSo7ExtrigGetPara) + ON_BN_CLICKED(IDCANCEL, &CSo7_Util_External_Trig::OnBnClickedCancel) END_MESSAGE_MAP() @@ -81,6 +86,8 @@ BOOL CSo7_Util_External_Trig::OnInitDialog() m_ParaListRows=0; m_UpdateListControl(E_LISTCTRL_TITLE); m_UpdateListControl(E_LISTCTRL_NO); + ((CEdit*)GetDlgItem(IDC_EDIT_SO7_EXTRIG_TEST_TIMES))->SetWindowText(_T("1")); + return TRUE; // return TRUE unless you set the focus to a control } @@ -116,7 +123,7 @@ void CSo7_Util_External_Trig::m_UpdateListControl(int _type) CString str; str.Format(_T("%d"),i+1); m_ParaList.InsertItem(i,str); - m_ParaList.SetItemText(i,1,str); + m_ParaList.SetItemText(i,1,_T("1")); } } else @@ -170,16 +177,27 @@ void CSo7_Util_External_Trig::OnBnClickedRadioSo7ExtrigSpeclocation() //===================================================================== void CSo7_Util_External_Trig::OnBnClickedButtonSo7ExtrigStart() { + GetDlgItem(IDC_BUTTON_SO7_EXTRIG_START)->EnableWindow(FALSE); + m_UpdatePara(TRUE); m_pSO7_Proto->_send_cmd_SO7_CMD_TRIG_PULSE_START(); - m_pSO7_Proto->so7_motion_set_position_xyz(m_EndPos[0],m_EndPos[1],m_EndPos[2],true); + char _Gear(3); + _Gear=m_pSO7_Proto->g_machine.x._Move_Speed_Gear; + m_pSO7_Proto->g_machine.x._MoveTo_Speed_Gear=_Gear; + m_pSO7_Proto->g_machine.y._MoveTo_Speed_Gear=_Gear; + m_pSO7_Proto->g_machine.z._MoveTo_Speed_Gear=_Gear; + m_pSO7_Proto->so7_motion_set_position_xyz(m_EndPos[0],m_EndPos[1],m_EndPos[2],false); + if (m_TestTimes>1) + { + SetTimer(1,500,NULL); + } } //===================================================================== void CSo7_Util_External_Trig::OnBnClickedButtonSo7ExtrigStop() { - m_pSO7_Proto->_send_cmd_SO7_CMD_TRIG_PULSE_STOP(); - m_pSO7_Proto->so7_motion_set_position_xyz(m_BeginPos[0],m_BeginPos[1],m_BeginPos[2],true); - + KillTimer(1); + m_StopTrig(); + GetDlgItem(IDC_BUTTON_SO7_EXTRIG_START)->EnableWindow(TRUE); } //===================================================================================== @@ -270,8 +288,14 @@ void CSo7_Util_External_Trig::m_UpdatePara(BOOL _bSave) CString csTmp; const char* cTmp; double dResolution(0.5); - double dEndPos(0.0); + double dEndPos(0.5); double dTmp(0.0); + + ((CEdit*)GetDlgItem(IDC_EDIT_SO7_EXTRIG_TEST_TIMES))->GetWindowTextW(csTmp); + cTmp=T2A(csTmp); + m_TestTimes = static_cast(atoi(cTmp)); + m_CurTestCnt=0; + m_pSO7_Proto->so7_motion_get_position_xyz(m_BeginPos[0],m_BeginPos[1],m_BeginPos[2]); if (((CButton *)GetDlgItem(IDC_RADIO_SO7_EXTRIG_X))->GetCheck()) @@ -311,6 +335,7 @@ void CSo7_Util_External_Trig::m_UpdatePara(BOOL _bSave) dEndPos+=dTmp; m_TrigPara[iRow]=static_cast(m_pSO7_Proto->MMtoScale(dTmp,dResolution)); } + dEndPos+=dTmp; } if (m_ActiveAxis==E_AXIS_X) { @@ -346,6 +371,66 @@ void CSo7_Util_External_Trig::m_UpdatePara(BOOL _bSave) } } //===================================================================================== +void CSo7_Util_External_Trig::m_StartTrig() +{ + short iParaNumber(0); + double dEndPos(0.5); + long lEndPos(0); + double dTmp(0.0); + double dResolution(0.0); + int iAxisID(0); + double dTmpXYZ[3]={0.0}; + m_pSO7_Proto->so7_motion_get_position_xyz(dTmpXYZ[0],dTmpXYZ[1],dTmpXYZ[2]); + m_EndPos[0]=dTmpXYZ[0]; + m_EndPos[1]=dTmpXYZ[1]; + m_EndPos[2]=dTmpXYZ[2]; + if (m_ActiveAxis==E_AXIS_X) + { + dResolution=m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution; + iAxisID=0; + } + else if (m_ActiveAxis==E_AXIS_Y) + { + dResolution=m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution; + iAxisID=1; + } + else + { + dResolution=m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution; + iAxisID=2; + } + if (m_TrigMode==E_DIS_TRIG_PULSE_EQDIS) + { + m_TrigSetPara[0]=m_TrigPara[0]; + iParaNumber=1; + dEndPos=10.0; + } + else + { + iParaNumber=m_ParaNumber; + for (int i=0;i(m_pSO7_Proto->MMtoScale(dTmp,dResolution)); + lEndPos+=m_TrigSetPara[i]; + } + } + dEndPos+=m_pSO7_Proto->ScaleToMM(lEndPos,dResolution); + m_EndPos[iAxisID]=dTmpXYZ[iAxisID]+dEndPos; + m_pSO7_Proto->so7_motion_set_trig_para(m_ActiveAxis,m_TrigMode,iParaNumber,m_TrigPara); + m_csMsg.Format(_T("[Write Trig Para]:R TotalNo=%d"),m_pSO7_Proto->g_machine.TrigPara.TrigTotalNo); + OutputWithScroll(m_csMsg,m_EdMsg); + m_pSO7_Proto->_send_cmd_SO7_CMD_TRIG_PULSE_START(); + Sleep(20); + m_pSO7_Proto->so7_motion_set_position_xyz(m_EndPos[0],m_EndPos[1],m_EndPos[2],false); +} +//===================================================================================== +void CSo7_Util_External_Trig::m_StopTrig() +{ + m_pSO7_Proto->_send_cmd_SO7_CMD_TRIG_PULSE_STOP(); + m_pSO7_Proto->so7_motion_set_position_xyz(m_BeginPos[0],m_BeginPos[1],m_BeginPos[2],false); +} +//===================================================================================== //Print message on edit control void CSo7_Util_External_Trig::OutputWithScroll(const CString &strNewText,CEdit &edtOutput) { @@ -365,4 +450,42 @@ void CSo7_Util_External_Trig::OutputWithScroll(const CString &strNewText,CEdit & edtOutput.LineScroll(iLine, 0); edtOutput.SetSel(iCount, iCount); edtOutput.SetRedraw(TRUE); +} + +void CSo7_Util_External_Trig::OnBnClickedCancel() +{ + KillTimer(1); + // TODO: Add your control notification handler code here + CDialog::OnCancel(); +} + +//=================================================== +void CSo7_Util_External_Trig::OnTimer(UINT_PTR nIDEvent) +{ + switch(nIDEvent) + { + case 1: + { + bool Isfinished(false); + m_pSO7_Proto->so7_Motion_XYZ_IsMotionFinished(Isfinished); + if(Isfinished) + { + if (m_CurTestCnt%2==0) + { + m_StopTrig(); + } + else + { + m_StartTrig(); + } + m_CurTestCnt++; + } + if(m_CurTestCnt>=2*m_TestTimes) + { + OnBnClickedButtonSo7ExtrigStop(); + } + break; + } + } + CDialog::OnTimer(nIDEvent); } \ No newline at end of file diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_External_Trig.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_External_Trig.h index fbdf8f7..482cb55 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_External_Trig.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/So7_Util_External_Trig.h @@ -31,18 +31,24 @@ protected: char m_ActiveAxis; short m_ParaNumber; short m_TrigPara[65535]; + short m_TrigSetPara[65535]; CString m_csMsg; CEdit m_EdMsg; void OutputWithScroll(const CString &strNewText,CEdit &edtOutput); CEditableListCtrl m_ParaList; void m_UpdateListControl(int _type); + void m_StartTrig(); + void m_StopTrig(); int m_ParaListRows; int m_ParaListSelectedRow; int m_ParaListSelectedCol; short m_ReturnPara; double m_BeginPos[3]; double m_EndPos[3]; + int m_TestTimes; + int m_CurTestCnt; public: + afx_msg void OnTimer(UINT_PTR nIDEvent); afx_msg void OnBnClickedRadioSo7ExtrigEqdis(); afx_msg void OnBnClickedRadioSo7ExtrigSpeclocation(); afx_msg void OnBnClickedButtonSo7ExtrigStart(); @@ -50,4 +56,5 @@ public: afx_msg void OnEnKillfocusEditSo7ExtrigSpeclocation(); afx_msg void OnBnClickedButtonSo7ExtrigSetPara(); afx_msg void OnBnClickedButtonSo7ExtrigGetPara(); + afx_msg void OnBnClickedCancel(); }; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj.filters b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj.filters index aee1e96..6e91b18 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj.filters +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Usb_Util.vcxproj.filters @@ -217,7 +217,9 @@ Sources Files - + + Sources Files + @@ -469,7 +471,9 @@ Header Files - + + Header Files + 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 0d7f449..4f61a89 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h @@ -657,13 +657,13 @@ #define IDC_BTN_KEYENCE_LKG5000_ETHERNET_READOUT1 1542 #define IDC_BUTTON_STIL_LASER_EXIT 1542 #define IDC_BUTTON_SO7_EXTRIG_STOP 1542 +#define IDC_BUTTON_SO7_MOTION_SET_CNTS 1542 #define IDC_BUTTON_STOP_SAMPLE_SCURVE 1543 #define IDC_BTN_KEYENCE_LKG5000_ETHERNET_READOUT2 1543 #define IDC_BUTTON_SO7_MOTION_CONFIG_OK2 1543 #define IDC_BUTTON_SO7_MOTION_CONFIG_SET_DEFAULT 1543 #define IDC_BUTTON_SO7_EXTRIG_SET_PARA 1543 #define IDC_BTN_CONFIGURE_MOVEVOUT 1544 -#define IDC_BUTTON_SO7_EXTRIG_STOP3 1544 #define IDC_BUTTON_SO7_EXTRIG_GET_PARA 1544 #define IDC_BUTTON_STOP_SCAN_KEYENCE_LK_GLASER 1545 #define IDC_BUTTON_SET_TRIGGER 1546 @@ -710,6 +710,7 @@ #define IDC_BUTTONIDC_BUTTON_TESA_STAR_MOVETO 1585 #define IDC_BUTTON_SO7_TRIGPULSE_STOP 1585 #define IDC_BTN_KEYENCE_LKG5000_ETHERNET_STORAGEDATA2 1585 +#define IDC_BUTTON_SO7_MOTION_GET_CNTS 1585 #define IDC_BUTTON_INIT_SCAN_KEYENCE_LK_GLASER 1586 #define IDC_BUTTON_SO7_TRIGPULSE_START 1586 #define IDC_BTN_KEYENCE_LKG5000_ETHERNET_STORAGEDATA1 1586 @@ -1017,6 +1018,10 @@ #define IDC_RADIO_SO7_EXTRIG_Z 1868 #define IDC_EDIT_SO7_EXTRIG_EQDIS 1869 #define IDC_LIST_SO7_EXTRIG_SPECLOCATION 1870 +#define IDC_EDIT_SO7_EXTRIG_TEST_TIMES 1872 +#define IDC_EDIT2 1873 +#define IDC_EDIT_SO7_MOTION_STOP_CNTS 1873 +#define IDC_EDIT_SO7_MOTION_START_CNTS 1874 #define IDC_BUTTON_DIY_EXIT_BUTTON 32740 #define ID_EDIT_SO7_CONFIG_MOTION 32741 @@ -1026,7 +1031,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 193 #define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1872 +#define _APS_NEXT_CONTROL_VALUE 1875 #define _APS_NEXT_SYMED_VALUE 104 #endif #endif 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 44de267d00f109f1e8042477e072a2c5a8c3d9ee..9556d30b754e932f8640dfe1232c449b4b14e1c5 100644 GIT binary patch delta 6169 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 cI7K`$OgKH5&27Rsx%EcC3kQ