新增光栅尺、限位位置设置。

This commit is contained in:
TAO Cheng
2014-05-28 11:52:57 +08:00
parent 2ce93d14fa
commit 73da2cb8fc
7 changed files with 493 additions and 157 deletions
@@ -215,99 +215,8 @@ EXP_IMP SSI_STATUS_MOTION Motion_Jog(EMACHINE_AXIS cAxis,char cSpeedGear)
{
if (m_pSO7_Proto)
{
if (abs(cSpeedGear)>4)
{
if (cSpeedGear>0)
{
cSpeedGear=4;
}
else
{
cSpeedGear=-4;
}
}
if (abs(cSpeedGear)<1)
{
cSpeedGear=1;
}
ActiveAxis=cAxis;
switch (cAxis)
{
case MACHINE_AXIS_X:
{
return m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_X(cSpeedGear);
break;
}
case MACHINE_AXIS_Y:
{
return m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_Y(cSpeedGear);
break;
}
case MACHINE_AXIS_Z:
{
return m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_Z(cSpeedGear);
break;
}
case MACHINE_AXIS_ZOOM:
{
if (abs(cSpeedGear)==4)
{
if (cSpeedGear>0)
{
cSpeedGear=5;
}
else
{
cSpeedGear=-5;
}
}
else if (abs(cSpeedGear)==3)
{
if (cSpeedGear>0)
{
cSpeedGear=5;
}
else
{
cSpeedGear=-5;
}
}
else if (abs(cSpeedGear)==2)
{
if (cSpeedGear>0)
{
cSpeedGear=1;
}
else
{
cSpeedGear=-1;
}
}
else if (abs(cSpeedGear)==1)
{
if (cSpeedGear>0)
{
cSpeedGear=2;
}
else
{
cSpeedGear=-2;
}
}
return m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_ZM(cSpeedGear);
break;
}
case MACHINE_AXIS_R:
{
return m_pSO7_Proto->so7_motion_move_R(cSpeedGear);
break;
}
default:
{
return SSI_STATUS_MOTION_INVALID_PARAMETERS;
break;
}
}
return m_pSO7_Proto->so7_motion_jog(cAxis,cSpeedGear);
}
else
{
@@ -376,6 +376,7 @@ void CSO7_Send_Parameter::OnBnClickedButtonSave()
if( fdlg.DoModal()==IDOK)
{
m_pSO7_Proto->Save_So7_Config();
path_and_fileName=fdlg.GetPathName();
ChangeParameterOnEdit();
switch(fdlg.m_ofn.nFilterIndex)
@@ -942,6 +942,8 @@ void CSO7_UtilDlg::OnEnKillfocusEditXScaleCoefficient()
const char* cTempValue=T2A(m_cs_XScaleCoeff);
m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution = atof(cTempValue);
m_pSO7_Proto->Save_So7_Config();
}
void CSO7_UtilDlg::OnEnKillfocusEditYScaleCoefficient()
{
@@ -951,6 +953,8 @@ void CSO7_UtilDlg::OnEnKillfocusEditYScaleCoefficient()
const char* cTempValue=T2A(m_cs_YScaleCoeff);
m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution = atof(cTempValue);
m_pSO7_Proto->Save_So7_Config();
}
@@ -962,6 +966,7 @@ void CSO7_UtilDlg::OnEnKillfocusEditZScaleCoefficient()
const char* cTempValue=T2A(m_cs_ZScaleCoeff);
m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution = atof(cTempValue);
m_pSO7_Proto->Save_So7_Config();
}
void CSO7_UtilDlg::OnBnClickedButtonMotionParameter()
@@ -61,8 +61,8 @@ BOOL CSetSo7MotionConfig::OnInitDialog()
}
UpdateLabelName();
UpdateDataValue();
m_ConfigList.SetEditableItemRange(0,23,2,2);
m_ConfigList.SetColorStyleItemRange(0,25,0,3);
m_ConfigList.SetEditableItemRange(0,36,2,2);
m_ConfigList.SetColorStyleItemRange(0,36,0,3);
return TRUE;
}
@@ -226,6 +226,72 @@ void CSetSo7MotionConfig::UpdateLabelName()
cStr=L"视频卡类型;保留项;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"X_SCALE_RESOLUTION";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"X轴光栅尺分辨率;单位:um;默认值:0.5";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"Y_SCALE_RESOLUTION";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"Y轴光栅尺分辨率;单位:um;默认值:0.5";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"Z_SCALE_RESOLUTION";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"Z轴光栅尺分辨率;单位:um;默认值:0.5";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"X_NEG_WORKING_LIMIT";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"X轴负向限位位置;单位:mm;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"X_POS_WORKING_LIMIT";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"X轴正向限位位置;单位:mm;默认值:200";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"Y_NEG_WORKING_LIMIT";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"Y轴负向限位位置;单位:mm;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"Y_POS_WORKING_LIMIT";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"Y轴正向限位位置;单位:mm;默认值:100";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"Z_NEG_WORKING_LIMIT";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"Z轴负向限位位置;单位:mm;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"Z_POS_WORKING_LIMIT";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"Z轴正向限位位置;单位:mm;默认值:200";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"ROTARY_AXIS_NUMBER";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"转台轴编号;0:禁用,1:X轴,2:Y轴,3:Z轴;默认值:0";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
cStr=L"ROTARY_CIR_DIS";
m_ConfigList.SetItemText(iRow,iCol,cStr);
cStr=L"转盘一圈的位移量;单位:mm;默认值:7.2";
m_ConfigList.SetItemText(iRow,iCol+2,cStr);
iRow++;
}
void CSetSo7MotionConfig::UpdateDataValue()
{
@@ -287,6 +353,31 @@ void CSetSo7MotionConfig::UpdateDataValue()
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_VideoCardType);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.x_axis._neg_working_limit);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.x_axis._pos_working_limit);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.y_axis._neg_working_limit);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.y_axis._pos_working_limit);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.z_axis._neg_working_limit);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.z_axis._pos_working_limit);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryAxisNO);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
cStr.Format(_T("%.4f"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryCircleDis);
m_ConfigList.SetItemText(iRow++,iCol,cStr);
}
void CSetSo7MotionConfig::SaveDataValue()
{
@@ -394,6 +485,52 @@ void CSetSo7MotionConfig::SaveDataValue()
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[3]=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.x_axis._neg_working_limit=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.x_axis._pos_working_limit=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.y_axis._neg_working_limit=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.y_axis._pos_working_limit=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.z_axis._neg_working_limit=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.z_axis._pos_working_limit=atof(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryAxisNO=atoi(cTemp);
iRow++;
cStr=m_ConfigList.GetItemText(iRow,iCol);
cTemp=T2A(cStr);
m_pSO7_Proto->g_machine.s_machine_config.motion.m_RotaryCircleDis=atof(cTemp);
iRow++;
}
void CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigOk()
{