Add Rotary axis。-Ed

This commit is contained in:
TAO Cheng
2014-02-24 21:33:42 +08:00
parent 7dcc572301
commit 4e781a690f
8 changed files with 364 additions and 30 deletions
@@ -4697,18 +4697,21 @@ SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_READ_AXIS_XYZ()
g_machine.z._scale_pos._char_[1] = *(ep_buff[EP_82_DATA_IDX]._buffer+7);
g_machine.z._scale_pos._char_[0] = *(ep_buff[EP_82_DATA_IDX]._buffer+8);
g_machine.z._scale_pos._char_[3] = 0;
if (g_machine.x._scale_pos._long_ > 8388608)
g_machine.x._scale_pos._long_=g_machine.x._scale_pos._long_-16777216;
if (g_machine.y._scale_pos._long_ > 8388608)
g_machine.y._scale_pos._long_=g_machine.y._scale_pos._long_-16777216;
if (g_machine.z._scale_pos._long_ > 8388608)
g_machine.z._scale_pos._long_=g_machine.z._scale_pos._long_-16777216;
// if (g_machine.z._scale_pos._long_ > 8388608)
// g_machine.z._scale_pos._long_=g_machine.z._scale_pos._long_-16777216;
return SSI_STATUS_MOTION_NORMAL;
// for rotary table
if (g_machine.z._scale_pos._long_ > 4194304)
g_machine.z._scale_pos._long_=g_machine.z._scale_pos._long_-8388608;
return SSI_STATUS_MOTION_NORMAL;
};
//==============================================================
@@ -3350,3 +3350,324 @@ 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
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
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
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
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
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
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
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.
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
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
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
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
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.
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
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
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
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
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
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
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.
@@ -11,14 +11,14 @@ MOVETOSPEED_FAST_Z=0.00000000
MOVETOSPEED_SLOW_Z=0.00000000
MOVETOSPEED_SCALE_Z=1.00000000
;
SPEED_BASE_X1=26
SPEED_MAX_X1=20
SPEED_BASE_X1=20
SPEED_MAX_X1=120
SPEED_START_X1=20
SPEED_FRESH_X1=7
SPEED_SLOW_X1=3.600
;
SPEED_BASE_X2=16
SPEED_MAX_X2=10
SPEED_MAX_X2=100
SPEED_START_X2=12
SPEED_FRESH_X2=10
SPEED_SLOW_X2=1.000
@@ -42,13 +42,13 @@ SPEED_FRESH_X5=100
SPEED_SLOW_X5=0.000
;
SPEED_BASE_Y1=22
SPEED_MAX_Y1=10
SPEED_MAX_Y1=150
SPEED_START_Y1=20
SPEED_FRESH_Y1=8
SPEED_SLOW_Y1=2.500
;
SPEED_BASE_Y2=16
SPEED_MAX_Y2=10
SPEED_MAX_Y2=100
SPEED_START_Y2=12
SPEED_FRESH_Y2=10
SPEED_SLOW_Y2=1.000
@@ -103,11 +103,11 @@ SPEED_SLOW_Z5=0.000
;
X_MOTOR_PRECISION=0.008
Y_MOTOR_PRECISION=0.004
Z_MOTOR_PRECISION=0.004
Z_MOTOR_PRECISION=0.100
;
X_MOTOR_WHEELBASE=1.500
Y_MOTOR_WHEELBASE=1.500
Z_MOTOR_WHEELBASE=1.500
X_MOTOR_WHEELBASE=10.000
Y_MOTOR_WHEELBASE=10.000
Z_MOTOR_WHEELBASE=80.000
;
MOTOR_PULSE_NUM=10000
;
@@ -122,6 +122,6 @@ Z_NEG_WORKING_LIMIT=0.000
;
X_POS_WORKING_LIMIT=200.000
Y_POS_WORKING_LIMIT=300.000
Z_POS_WORKING_LIMIT=200.000
Z_POS_WORKING_LIMIT=40000.000
ROTARY_CIR_DIS=655355555.000
;
@@ -61,10 +61,10 @@ BEGIN
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 "Home XYZ",IDC_BUTTON_SO7_RESET_XYZ,277,154,76,14,BS_MULTILINE
PUSHBUTTON "Home Manual",IDC_BUTTON_MANUAL_HOME,277,135,76,14
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 "Home Worktable Right",IDC_BUTTON_RESET_WORKTABLE_RIGHT,277,173,76,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
@@ -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,150,0);
SetTimer(1,50,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,200,0);
SetTimer(2,50,0);
}
}
@@ -144,6 +144,7 @@ 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)
END_MESSAGE_MAP()
@@ -392,8 +393,8 @@ 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, 150, 0);
GetDlgItem(IDC_EDIT_UPDATE_FREQ)->SetWindowText(_T("150"));
SetTimer(1, 350, 0);
GetDlgItem(IDC_EDIT_UPDATE_FREQ)->SetWindowText(_T("350"));
@@ -862,7 +863,7 @@ void CSO7_UtilDlg::OnBnClickedButtonMotionParameter()
delete g_pVolComp;
g_pVolComp=nullptr;
}
SetTimer(1,150,NULL);
SetTimer(1,500,NULL);
return;
}
@@ -883,7 +884,7 @@ void CSO7_UtilDlg::OnBnClickedButtonSetupSo7config()
delete m_pSO7_AutoZoom;
m_pSO7_AutoZoom=NULL;
}
SetTimer(1,150,NULL);
SetTimer(1,500,NULL);
}
//================================================================================================
@@ -1277,8 +1278,6 @@ void CSO7_UtilDlg::OnTimer(UINT_PTR nIDEvent)
GetDlgItem(IDC_EDIT_Y_POSITION_58)->SetWindowText(m_Y_Pos);
m_Z_Pos.Format(_T("%8.4lf"), m_pSO7_Proto->g_machine.z._d_cur_pos_);
GetDlgItem(IDC_EDIT_Z_POSITION_58)->SetWindowText(m_Z_Pos);
m_Zm_Pos.Format(_T("%8ld"),(m_pSO7_Proto->g_machine.zm._scale_pos._long_));
GetDlgItem(IDC_EDIT_ZM_AXIS)->SetWindowText(m_Zm_Pos);
}
@@ -1357,7 +1356,7 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7CncProgram()
delete pSo7_Util_Program;
pSo7_Util_Program=NULL;
}
SetTimer(1,150,NULL);
SetTimer(1,500,NULL);
}
@@ -1376,25 +1375,29 @@ void CSO7_UtilDlg::OnBnClickedCheckSo7TurnOnFffLaser()
//=================================================
// Move one revolution 2**23
// When the rotary stop, take the curr pos - ref pos.
// m_pSO7_Proto->g_machine.z._scale_pos._long_
// g_machine.z._pos_fixed._char_[3]
//
void CSO7_UtilDlg::OnBnClickedButtonHome()
{
m_pSO7_Proto->g_machine.z._scale_pos._long_ = (long)m_pSO7_Proto->g_machine.z._d_cur_pos_ + (long)(2^23);
m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_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;
// set the home position.
// show the Z position in Angle
// show the signal position in Angle
}
//================================================
// Change Angle to Revolution
// Change Angle to scale
//
void CSO7_UtilDlg::OnBnClickedButtonGo()
{
@@ -1412,3 +1415,9 @@ void CSO7_UtilDlg::OnBnClickedButtonGo()
};
m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_Z();
}
void CSO7_UtilDlg::OnBnClickedButtonSo7MoveZUp()
{
// TODO: 在此添加控件通知处理程序代码
}
@@ -120,4 +120,5 @@ public:
afx_msg void OnBnClickedButtonMotionParameter();
afx_msg void OnBnClickedButtonHome();
afx_msg void OnBnClickedButtonGo();
afx_msg void OnBnClickedButtonSo7MoveZUp();
};