// SetSo7MotionConfig.cpp : implementation file // #include "stdafx.h" #include "resource.h" #include "..\..\..\SevenOcean\SO7_Proto.h" #include "ListCtrlItemEdit.h" #include "EditableListCtrl.h" #include "SetSo7MotionConfig.h" #include "afxdialogex.h" extern CSO7_Proto* m_pSO7_Proto; // CSetSo7MotionConfig dialog IMPLEMENT_DYNAMIC(CSetSo7MotionConfig, CMFCPropertyPage) CSetSo7MotionConfig::CSetSo7MotionConfig():CMFCPropertyPage(CSetSo7MotionConfig::IDD) { } CSetSo7MotionConfig::~CSetSo7MotionConfig() { } void CSetSo7MotionConfig::DoDataExchange(CDataExchange* pDX) { CMFCPropertyPage::DoDataExchange(pDX); DDX_Control(pDX, IDC_LIST_SO7_MOTION_CONFIG, m_ConfigList); DDX_Control(pDX, IDC_EDIT_SO7_MOTION_CONFIG_MSGOUT, m_edit_MsgOut); } BEGIN_MESSAGE_MAP(CSetSo7MotionConfig, CMFCPropertyPage) ON_BN_CLICKED(IDC_BUTTON_SO7_MOTION_CONFIG_OK, &CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigOk) ON_BN_CLICKED(IDC_BUTTON_SO7_MOTION_CONFIG_CANCEL, &CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigCancel) ON_BN_CLICKED(IDC_BUTTON_SO7_MOTION_CONFIG_SET_DEFAULT, &CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigSetDefault) END_MESSAGE_MAP() // CSetSo7MotionConfig message handlers BOOL CSetSo7MotionConfig::OnInitDialog() { CMFCPropertyPage::OnInitDialog(); RECT m_rect; m_ConfigList.GetClientRect(&m_rect); //获取list的客户区 m_ConfigList.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT); //设置list风格 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*4/40); m_ConfigList.InsertColumn(3,_T("描述"),LVCFMT_LEFT, m_rect.right*21/40); for (int i = 1; i < 100; i++) { CString str; str.Format(_T("%d"), i); m_ConfigList.InsertItem(i, str); } UpdateLabelName(); UpdateDataValue(); m_ConfigList.SetEditableItemRange(0,37,2,2); m_ConfigList.SetColorStyleItemRange(0,37,0,3); return TRUE; } void CSetSo7MotionConfig::UpdateLabelName() { int iRow=0; int iCol=1; CString cStr(""); cStr=L"CLOSE_LOOP_ENABLED"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"软件闭环判断功能;0:禁用,1:使能;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"MOTION_RETRY_TIMES"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"软件闭环判断重试次数;有效范围:0-255;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"SHIFT_POSITION_X"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"软件闭环判断X偏移距离(mm);有效范围:0-65535;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"SHIFT_POSITION_Y"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"软件闭环判断Y偏移距离(mm);有效范围:0-65535;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"SHIFT_POSITION_Z"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"软件闭环判断Z偏移距离(mm);有效范围:0-65535;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"GET_USB_MESSAGE_METHOD"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"USB读取消息方式;0:Firmware V3.X,1:Firmware V6.X;默认值:1"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"WRITE_DATA_SLEEP_TIME"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"USB通信休息时间(ms);有效范围:0-255;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"ACCURA_ERROR_PULSE_X"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"允许定位误差脉冲数;有效范围:1-255;默认值:1"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"ACCURA_ERROR_PULSE_Y"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"允许定位误差脉冲数;有效范围:1-255;默认值:1"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"ACCURA_ERROR_PULSE_Z"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"允许定位误差脉冲数;有效范围:1-255;默认值:1"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"EQUIDISTANCE_PULSE_X"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"输出等间距脉冲;有效范围:0-255;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"EQUIDISTANCE_PULSE_Y"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"输出等间距脉冲;有效范围:0-255;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"EQUIDISTANCE_PULSE_Z"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"输出等间距脉冲;有效范围:0-255;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"CNC_DEADLOCK_SOLUTION"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"解决CNC运行停顿问题;0:禁用,1:启用;默认值:1"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"CNC_DEADLOCK_MAX_CNTS"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"CNC运行停顿判断次数;有效范围:1-255;默认值:6"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"TOUCH_PROBE_ENABLE"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"接触探针功能;0:禁用,1:使能;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"FOOT_SWITCH_ENABLE"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"脚踏开关功能(接探针口);0:禁用,1:使能;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"JOYSTICK_ENABLE"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"摇杆功能;0:禁用,1:使能;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"CCS_PRIMA_ENABLE"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"CCS-PRIMA激光;0:禁用,1:使能;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"DEBUG_LOG_ENABLE"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"软件运行记录功能;0:禁用,1:使能;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; //=================VIDEOCARD================== cStr=L"SDK3000_SLEEP_COUNT"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"SDK3000去条纹参数;有效范围:500000-700000;默认值:550000"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"SV4000E_DENOISE_PARA_CHANNEL1"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"SV4000E降噪参数;有效范围:5-100;默认值:70"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"SV4000E_DENOISE_PARA_CHANNEL2"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"SV4000E降噪参数;有效范围:5-100;默认值:70"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"SV4000E_DENOISE_PARA_CHANNEL3"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"SV4000E降噪参数;有效范围:5-100;默认值:70"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"SV4000E_DENOISE_PARA_CHANNEL4"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"SV4000E降噪参数;有效范围:5-100;默认值:70"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"MACHINE_CONTROLLER_TYPE"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"控制器类型;保留项;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"MACHINE_VIDEOCARD_TYPE"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"视频卡类型;保留项;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"X_SCALE_RESOLUTION"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"X轴光栅尺分辨率;单位:um;默认值:0.5"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"Y_SCALE_RESOLUTION"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"Y轴光栅尺分辨率;单位:um;默认值:0.5"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"Z_SCALE_RESOLUTION"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"Z轴光栅尺分辨率;单位:um;默认值:0.5"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"X_NEG_WORKING_LIMIT"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"X轴负向限位位置;单位:mm;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"X_POS_WORKING_LIMIT"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"X轴正向限位位置;单位:mm;默认值:200"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"Y_NEG_WORKING_LIMIT"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"Y轴负向限位位置;单位:mm;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"Y_POS_WORKING_LIMIT"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"Y轴正向限位位置;单位:mm;默认值:100"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"Z_NEG_WORKING_LIMIT"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"Z轴负向限位位置;单位:mm;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"Z_POS_WORKING_LIMIT"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"Z轴正向限位位置;单位:mm;默认值:200"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"ROTARY_AXIS_NUMBER"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"转台轴编号;0:禁用,1:X轴,2:Y轴,3:Z轴;默认值:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; cStr=L"ROTARY_CIR_DIS"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr=L"转盘一圈的位移量;单位:mm;默认值:7.2"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; } void CSetSo7MotionConfig::UpdateDataValue() { int iRow=0; int iCol=2; CString cStr(""); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion._EnCloseLoop); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion._RetryTimes); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%.3f"),m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionX); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%.3f"),m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionY); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%.3f"),m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionZ); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.GetInterruptMsgMethod); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_WriteDataSleepTime); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseX); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseY); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseZ); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_X); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_Y); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_Z); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_CNC_Deadlock_Solution); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_CNC_Deadlock_JudgeMaxCnts); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_TouchProbeEnable); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_FootSwitchEnable); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_JoyStickEnable); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_STIL_CCS_PRIMA_Enable); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_DebugOutputEnable); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SDK3000_CntThreadSleepVal); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[0]); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[1]); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[2]); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[3]); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_MachineType); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_VideoCardType); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.x_axis._neg_working_limit); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.x_axis._pos_working_limit); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.y_axis._neg_working_limit); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.y_axis._pos_working_limit); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.z_axis._neg_working_limit); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.z_axis._pos_working_limit); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryAxisNO); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryCircleDis); m_ConfigList.SetItemText(iRow++,iCol,cStr); } void CSetSo7MotionConfig::SaveDataValue() { UpdateData(TRUE); USES_CONVERSION; const char* cTemp; CString cStr(""); int iRow=0; int iCol=2; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion._EnCloseLoop=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion._RetryTimes=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionX=atof(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionY=atof(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionZ=atof(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.GetInterruptMsgMethod=static_cast(atoi(cTemp)); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_WriteDataSleepTime=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseX=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseY=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_AccuraErrPulseZ=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_X=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_Y=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_Z=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_CNC_Deadlock_Solution=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_CNC_Deadlock_JudgeMaxCnts=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_TouchProbeEnable=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_FootSwitchEnable=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_JoyStickEnable=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_STIL_CCS_PRIMA_Enable=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_DebugOutputEnable=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_SDK3000_CntThreadSleepVal=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[0]=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[1]=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[2]=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); 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); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution=atof(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution=atof(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution=atof(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.x_axis._neg_working_limit=atof(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.x_axis._pos_working_limit=atof(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.y_axis._neg_working_limit=atof(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.y_axis._pos_working_limit=atof(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.z_axis._neg_working_limit=atof(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.z_axis._pos_working_limit=atof(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryAxisNO=atoi(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryCircleDis=atof(cTemp); iRow++; } void CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigOk() { SaveDataValue(); CString m_csMsg=_T(""); m_pSO7_Proto->Save_So7_Config(); m_pSO7_Proto->GetAppPath(m_csMsg); m_csMsg=_T("配置文件保存在:")+m_csMsg+_T("\\UtilitySo7Config.ini。"); OutputWithScroll(m_csMsg,m_edit_MsgOut); } void CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigSetDefault() { m_pSO7_Proto->so7_config_para_set_default(); UpdateDataValue(); } void CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigCancel() { UpdateDataValue(); } //===================================================================================== //Print message on edit control void CSetSo7MotionConfig::OutputWithScroll(const CString &strNewText,CEdit &edtOutput) { CString strOutput; edtOutput.GetWindowText(strOutput); strOutput += strNewText; if ("\r\n" != strOutput.Right(2)) { strOutput += "\r\n"; } int iCount = strOutput.GetLength(); edtOutput.SetRedraw(FALSE); edtOutput.SetWindowText(strOutput); int iLine = edtOutput.GetLineCount(); edtOutput.LineScroll(iLine, 0); edtOutput.SetSel(iCount, iCount); edtOutput.SetRedraw(TRUE); } BOOL CSetSo7MotionConfig::PreTranslateMessage(MSG* pMsg) { if(pMsg->message==WM_KEYDOWN) { if(pMsg->wParam==VK_RETURN || pMsg->wParam==VK_ESCAPE) { return TRUE; } } return CDialog::PreTranslateMessage(pMsg); }