新增X、Y、Z轴运动模式可设置开环或闭环。

This commit is contained in:
TAO Cheng
2014-07-24 18:19:56 +08:00
parent d64816b286
commit ae262c9015
8 changed files with 150 additions and 44 deletions
@@ -218,7 +218,7 @@ BOOL CSO7_Send_Parameter::OnInitDialog()
((CButton *)GetDlgItem(IDC_RADIO_CANVAS_SPEED_TIME))->SetCheck(true);
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_PARA1))->SetWindowTextW(_T("速度(0-255)"));
((CStatic *)GetDlgItem(IDC_STATIC_SPEED_PARA2))->SetWindowTextW(_T("缓冲距离(0-255)"));
((CStatic *)GetDlgItem(IDC_STATIC_SPEED_PARA3))->SetWindowTextW(_T("最低速率(0-255)"));
((CStatic *)GetDlgItem(IDC_STATIC_SPEED_PARA4))->SetWindowTextW(_T("刷新周期(0-255)"));
@@ -191,7 +191,7 @@ BOOL CSO7_UtilDlg::OnInitDialog()
((CButton *)GetDlgItem(IDC_RADIO_READ_OUTPUT_PORT2))->SetCheck(false);
m_ReadIOStatusAddr=ESO7_CONTROLLER_LIMIT_SWITCH_ADDR;
UpdateIOAddrCaption();
CString csTmp=_T("");
((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->ResetContent();
int iComboxIndex(0);
@@ -210,38 +210,42 @@ BOOL CSO7_UtilDlg::OnInitDialog()
((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->SetCurSel(0);
((CComboBox *)GetDlgItem(IDC_COMBO_RWDATA_ADDR))->ResetContent();
for(int i=0;i<16;i++)
int nIndex=0;
for( nIndex=0;nIndex<16;nIndex++)
{
if (i==9)
if (nIndex==9)
{
csTmp=_T("Flags");
}
else if (i==10)
else if (nIndex==10)
{
csTmp=_T("TrigLSB");
}
else if (i==11)
else if (nIndex==11)
{
csTmp=_T("AccErr");
}
else if (i==12)
else if (nIndex==12)
{
csTmp=_T("TrigMSBI");
}
else if (i==13)
else if (nIndex==13)
{
csTmp=_T("TrigMSBII");
}
else if (i==14)
else if (nIndex==14)
{
csTmp=_T("TrigHoldTime");
}
else
{
csTmp.Format(_T("%d"),i);
csTmp.Format(_T("%d"),nIndex);
}
((CComboBox *)GetDlgItem(IDC_COMBO_RWDATA_ADDR))->InsertString(i,csTmp);
((CComboBox *)GetDlgItem(IDC_COMBO_RWDATA_ADDR))->InsertString(nIndex,csTmp);
}
csTmp=_T("ControlMode");
((CComboBox *)GetDlgItem(IDC_COMBO_RWDATA_ADDR))->InsertString(nIndex,csTmp);
((CComboBox *)GetDlgItem(IDC_COMBO_RWDATA_ADDR))->SetCurSel(10);
GetDlgItem(IDC_EDIT_RWDATA_DATA)->SetWindowTextW(_T("0"));
@@ -347,7 +351,7 @@ void CSO7_UtilDlg::UpdateCtrlsStatus(bool _bEnable)
GetDlgItem(IDC_CHECK_CONTINUOUS_READ_IO_STATUS)->EnableWindow(_bEnable);
GetDlgItem(IDC_BUTTON_SO7_TEST_Z_SIGNAL)->EnableWindow(_bEnable);
GetDlgItem(IDC_BUTTON_S07_SET_IO_PURPOSE)->EnableWindow(_bEnable);
GetDlgItem(IDC_EDIT_SET_VER_NO)->EnableWindow(_bEnable);
GetDlgItem(IDC_BUTTON_SO7_CNC_PROGRAM)->EnableWindow(_bEnable);
GetDlgItem(IDC_BUTTON_SO7_SENDDATATOFPGA)->EnableWindow(_bEnable);
@@ -360,14 +364,14 @@ void CSO7_UtilDlg::UpdateCtrlsStatus(bool _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_SO7_EXTERNAL_TRIG)->EnableWindow(_bEnable);
GetDlgItem(IDC_EDIT_SET_SEQ_NO)->EnableWindow(_bEnable);
GetDlgItem(IDC_BUTTON_SO7_GET_SEQ_NUMBER)->EnableWindow(_bEnable);
GetDlgItem(IDC_BUTTON_SO7_SET_SEQ_NUMBER)->EnableWindow(_bEnable);
GetDlgItem(IDC_BUTTON_SO7_SET_VER_NUMBER)->EnableWindow(_bEnable);
GetDlgItem(IDC_BUTTON_SET_SCALE_COEFFICIENT)->EnableWindow(_bEnable);
}
//=====================================================================
@@ -421,7 +425,7 @@ void CSO7_UtilDlg::OnBnClickedButtonStartSo7machine()
OnBnClickedButtonInitSo7usb();
if(XBoxPlayer->IsConnected())
{
XBoxPlayer->XBoxControllerInit();
XBoxPlayer->XBoxControllerInit();
m_OutMessage=_T("XBoxController has connected.");
OutputWithScroll(m_OutMessage,m_edMSG);
}
@@ -437,7 +441,7 @@ void CSO7_UtilDlg::OnBnClickedButtonStartSo7machine()
if(m_pSO7_Proto->g_machine.IsSupportReadInterrputMsg)
{
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_FIRMWARE_VERSION_INFO();
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(E_AXIS_V,9);
char cData[2]={0};
cData[0]=(m_pSO7_Proto->g_machine.FPGAData>>4)&0x0f;
@@ -1197,7 +1201,15 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7Senddatatofpga()
GetDlgItem(IDC_EDIT_RWDATA_DATA)->GetWindowText(str);
const char* cTempValue=T2A(str);
char cTmpData= static_cast<char>(atoi(cTempValue));
m_pSO7_Proto->_send_cmd_SO7_CMD_WRITE_DATA_TO_FPGA(m_RWDataAxis,m_RWDataAddr,cTmpData);
if(m_RWDataAddr==16)
{
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_CONTROL_MODE(m_RWDataAxis,cTmpData);
m_pSO7_Proto->g_machine.FPGAData=1;
}
else
{
m_pSO7_Proto->_send_cmd_SO7_CMD_WRITE_DATA_TO_FPGA(m_RWDataAxis,m_RWDataAddr,cTmpData);
}
if (m_pSO7_Proto->g_machine.FPGAData>0)
{
m_OutMessage=_T("Write data successful.");
@@ -1213,7 +1225,14 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7Senddatatofpga()
//================================================================================================
void CSO7_UtilDlg::OnBnClickedButtonSo7Readdatafromfpga()
{
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(m_RWDataAxis,m_RWDataAddr);
if(m_RWDataAddr==16)
{
m_pSO7_Proto->_send_cmd_SO7_CMD_GET_CONTROL_MODE(m_RWDataAxis);
}
else
{
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(m_RWDataAxis,m_RWDataAddr);
}
m_OutMessage.Format(_T("[Read]Data=%d ."),(BYTE)m_pSO7_Proto->g_machine.FPGAData);
OutputWithScroll(m_OutMessage,m_edMSG);
}