统一参数配置。

This commit is contained in:
TAO Cheng
2014-02-11 09:04:54 +08:00
parent c7c61c05ff
commit a4ba2c6a6f
9 changed files with 210 additions and 29 deletions
@@ -41,7 +41,7 @@ BEGIN
PUSHBUTTON "Start_Machine",IDC_BUTTON_START_SO7MACHINE,23,40,63,18
PUSHBUTTON "Stop_Machine",IDC_BUTTON_STOP_SO7MACHINE,23,75,63,18
PUSHBUTTON "Read XYZ Axis",IDC_BUTTON_SO7_READ_AXIS_XYZ,133,28,62,13
PUSHBUTTON "Read Probe Axis",IDC_BUTTON_READ_PROBE,133,44,62,13
PUSHBUTTON "EnProbe OFF",IDC_BUTTON_READ_PROBE,133,44,62,13
PUSHBUTTON "Read V Axis",IDC_BUTTON_SO7_READ_AXIS_V,133,60,62,13
PUSHBUTTON "Get Fixture Value",IDC_BUTTON_GET_FIXTURE_FLAG,133,76,62,13
PUSHBUTTON "Get Reset Flag",IDC_BUTTON_SO7_GET_RESET_FLAG,133,92,62,13
@@ -2,6 +2,7 @@
#include "afxwin.h"
#include "resource.h"
#include "afxdialogex.h"
#include <math.h>
#include "..\..\..\SevenOcean\CMMIO_SERIAL.H"
#include "..\..\..\SevenOcean\SO7_Proto.h"
#include "..\..\..\SevenOcean\CAutoZoom.h"
@@ -49,7 +50,7 @@ IMPLEMENT_DYNAMIC(CSO7_UtilDlg, CDialog)
m_ZsignalPosX=0;
m_ZsignalPosY=0;
m_ZsignalPosZ=0;
m_bEnProbe=false;
}
CSO7_UtilDlg::~CSO7_UtilDlg()
@@ -375,6 +376,7 @@ void CSO7_UtilDlg::OnBnClickedButtonTermSo7usb()
void CSO7_UtilDlg::OnBnClickedButtonStartSo7machine()
{
OnBnClickedButtonInitSo7usb();
m_pSO7_Proto->Load_So7_Config();
//m_pSO7_Proto->so7_motion_startup(0.5, 0.5, 0.5);
m_pSO7_Proto->_start_machine();
m_pSO7_Proto->_send_cmd_SO7_CMD_GET_RESET_FLAG();
@@ -385,8 +387,7 @@ void CSO7_UtilDlg::OnBnClickedButtonStartSo7machine()
csTmp.Format(("Firmware Version:[%s]"),m_pSO7_Proto->g_machine.FirmwareInfo);
m_OutMessage=csTmp;
OutputWithScroll(m_OutMessage,m_edMSG);
m_pSO7_Proto->g_machine.GetInterruptMsgMethod=E_GET_INTERRUPT_MSG_INQUIRY;
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_GET_INTERRUPT_MSG_METHOD(m_pSO7_Proto->g_machine.GetInterruptMsgMethod);
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);
@@ -522,14 +523,25 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7ReadAxisXyz()
//=====================================================================
void CSO7_UtilDlg::OnBnClickedButtonReadProbe()
{
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_PROBE_XYZ();
m_X_Pos.Format(_T("%8ld"),(m_pSO7_Proto->g_machine.x._scale_probe));
GetDlgItem(IDC_EDIT_X_POSITION_59)->SetWindowText(m_X_Pos);
m_Y_Pos.Format(_T("%8ld"),(m_pSO7_Proto->g_machine.y._scale_probe));
GetDlgItem(IDC_EDIT_Y_POSITION_59)->SetWindowText(m_Y_Pos);
m_Z_Pos.Format(_T("%8ld"),(m_pSO7_Proto->g_machine.z._scale_probe));
GetDlgItem(IDC_EDIT_Z_POSITION_59)->SetWindowText(m_Z_Pos);
if(!m_bEnProbe)
{
m_bEnProbe=true;
m_pSO7_Proto->so7_motion_probe_on_off_(true);
GetDlgItem(IDC_BUTTON_READ_PROBE)->SetWindowText(_T("EnProbe ON"));
}
else
{
m_bEnProbe=false;
m_pSO7_Proto->so7_motion_probe_on_off_(false);
GetDlgItem(IDC_BUTTON_READ_PROBE)->SetWindowText(_T("EnProbe OFF"));
}
//m_pSO7_Proto->_send_cmd_SO7_CMD_READ_PROBE_XYZ();
//m_X_Pos.Format(_T("%8ld"),(m_pSO7_Proto->g_machine.x._scale_probe));
//GetDlgItem(IDC_EDIT_X_POSITION_59)->SetWindowText(m_X_Pos);
//m_Y_Pos.Format(_T("%8ld"),(m_pSO7_Proto->g_machine.y._scale_probe));
//GetDlgItem(IDC_EDIT_Y_POSITION_59)->SetWindowText(m_Y_Pos);
//m_Z_Pos.Format(_T("%8ld"),(m_pSO7_Proto->g_machine.z._scale_probe));
//GetDlgItem(IDC_EDIT_Z_POSITION_59)->SetWindowText(m_Z_Pos);
}
void CSO7_UtilDlg::OnBnClickedButtonSo7ReadAxisV()
@@ -856,7 +868,6 @@ void CSO7_UtilDlg::OnBnClickedButtonMotionParameter()
void CSO7_UtilDlg::OnBnClickedButtonSetupSo7config()
{
KillTimer(1);
m_pSO7_Proto->Load_So7_Config();
if (!m_pSO7_AutoZoom)
m_pSO7_AutoZoom = new CAutoZoom();
@@ -898,9 +909,55 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7TestZSignal()
}
void CSO7_UtilDlg::TestZSignal()
{
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_ZSIGNAL_POS_X();
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_ZSIGNAL_POS_Y();
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_ZSIGNAL_POS_Z();
if (((CButton *)GetDlgItem(IDC_CHECK_SO7_OUT_PORT))->GetCheck())
{
BYTE cdata[3]={0};
//x
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(2,6);
cdata[0]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(2,7);
cdata[1]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(2,8);
cdata[2]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->g_machine.x._ZSignal_pos._char_[2] = cdata[2];
m_pSO7_Proto->g_machine.x._ZSignal_pos._char_[1] = cdata[1];
m_pSO7_Proto->g_machine.x._ZSignal_pos._char_[0] = cdata[0];
m_pSO7_Proto->g_machine.x._ZSignal_pos._char_[3] = 0;
if (m_pSO7_Proto->g_machine.x._ZSignal_pos._long_ > 8388608)
m_pSO7_Proto->g_machine.x._ZSignal_pos._long_=m_pSO7_Proto->g_machine.x._ZSignal_pos._long_-16777216;
//y
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,6);
cdata[0]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,7);
cdata[1]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,8);
cdata[2]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->g_machine.y._ZSignal_pos._char_[2] = cdata[2];
m_pSO7_Proto->g_machine.y._ZSignal_pos._char_[1] = cdata[1];
m_pSO7_Proto->g_machine.y._ZSignal_pos._char_[0] = cdata[0];
m_pSO7_Proto->g_machine.y._ZSignal_pos._char_[3] = 0;
if (m_pSO7_Proto->g_machine.y._ZSignal_pos._long_ > 8388608)
m_pSO7_Proto->g_machine.y._ZSignal_pos._long_=m_pSO7_Proto->g_machine.y._ZSignal_pos._long_-16777216;
//z
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(3,6);
cdata[0]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(3,7);
cdata[1]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(3,8);
cdata[2]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
m_pSO7_Proto->g_machine.z._ZSignal_pos._char_[2] = cdata[2];
m_pSO7_Proto->g_machine.z._ZSignal_pos._char_[1] = cdata[1];
m_pSO7_Proto->g_machine.z._ZSignal_pos._char_[0] = cdata[0];
m_pSO7_Proto->g_machine.z._ZSignal_pos._char_[3] = 0;
if (m_pSO7_Proto->g_machine.z._ZSignal_pos._long_ > 8388608)
m_pSO7_Proto->g_machine.z._ZSignal_pos._long_=m_pSO7_Proto->g_machine.z._ZSignal_pos._long_-16777216;
}
else
{
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_ZSIGNAL_POS_X();
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_ZSIGNAL_POS_Y();
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_ZSIGNAL_POS_Z();
}
m_X_Pos.Format(_T("%8ld"),(m_pSO7_Proto->g_machine.x._ZSignal_pos._long_));
GetDlgItem(IDC_EDIT_X_POSITION_59)->SetWindowText(m_X_Pos);
@@ -910,25 +967,63 @@ void CSO7_UtilDlg::TestZSignal()
GetDlgItem(IDC_EDIT_Z_POSITION_59)->SetWindowText(m_Z_Pos);
double dTmp1(0.0),dTmp2(0.0);
double dScaleResult(0.0);
if (labs(m_pSO7_Proto->g_machine.x._ZSignal_pos._long_-m_ZsignalPosX)>5)
{
dTmp1=m_pSO7_Proto->ScaleToMM(m_ZsignalPosX,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution);
dTmp2=m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.x._ZSignal_pos._long_,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution);
m_OutMessage.Format(_T("[ZSignal-X] From: %-3.4f To: %-3.4f Dis: %-3.4f"),dTmp1,dTmp2,dTmp2-dTmp1);
dScaleResult=(dTmp2-dTmp1);
while ((fabs(dScaleResult)-fabs(m_pSO7_Proto->g_machine.dRotaryCirclDis))>1.0)
{
if (dScaleResult<-0.00001)
{
dScaleResult+=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
}
else
{
dScaleResult-=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
}
}
m_OutMessage.Format(_T("[ZSignal-X] From: %-3.4f To: %-3.4f Dis: %-3.4f"),dTmp1,dTmp2,dScaleResult);
OutputWithScroll(m_OutMessage,m_edMSG);
}
if (labs(m_pSO7_Proto->g_machine.y._ZSignal_pos._long_-m_ZsignalPosY)>5)
{
dTmp1=m_pSO7_Proto->ScaleToMM(m_ZsignalPosY,m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution);
dTmp2=m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.y._ZSignal_pos._long_,m_pSO7_Proto->g_machine.s_machine_config.y_axis._scale_resolution);
m_OutMessage.Format(_T("[ZSignal-Y] From: %-3.4f To: %-3.4f Dis: %-3.4f"),dTmp1,dTmp2,dTmp2-dTmp1);
dScaleResult=(dTmp2-dTmp1);
while ((fabs(dScaleResult)-fabs(m_pSO7_Proto->g_machine.dRotaryCirclDis))>1.0)
{
if (dScaleResult<-0.00001)
{
dScaleResult+=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
}
else
{
dScaleResult-=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
}
}
m_OutMessage.Format(_T("[ZSignal-Y] From: %-3.4f To: %-3.4f Dis: %-3.4f"),dTmp1,dTmp2,dScaleResult);
OutputWithScroll(m_OutMessage,m_edMSG);
}
if (labs(m_pSO7_Proto->g_machine.z._ZSignal_pos._long_-m_ZsignalPosZ)>5)
{
dTmp1=m_pSO7_Proto->ScaleToMM(m_ZsignalPosZ,m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution);
dTmp2=m_pSO7_Proto->ScaleToMM(m_pSO7_Proto->g_machine.z._ZSignal_pos._long_,m_pSO7_Proto->g_machine.s_machine_config.z_axis._scale_resolution);
m_OutMessage.Format(_T("[ZSignal-Z] From: %-3.4f To: %-3.4f Dis: %-3.4f"),dTmp1,dTmp2,dTmp2-dTmp1);
dScaleResult=(dTmp2-dTmp1);
while ((fabs(dScaleResult)-fabs(m_pSO7_Proto->g_machine.dRotaryCirclDis))>1.0)
{
if (dScaleResult<-0.00001)
{
dScaleResult+=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
}
else
{
dScaleResult-=(m_pSO7_Proto->ScaleToMM(8388608,m_pSO7_Proto->g_machine.s_machine_config.x_axis._scale_resolution));
}
}
m_OutMessage.Format(_T("[ZSignal-Z] From: %-3.4f To: %-3.4f Dis: %-3.4f"),dTmp1,dTmp2,dScaleResult);
OutputWithScroll(m_OutMessage,m_edMSG);
}
m_ZsignalPosX=m_pSO7_Proto->g_machine.x._ZSignal_pos._long_;
@@ -64,6 +64,7 @@ public:
long m_ZsignalPosY;
long m_ZsignalPosZ;
char m_HomeMode;
bool m_bEnProbe;
void UpdateIOStatus();
void TestZSignal();
void OutputWithScroll(const CString &strNewText,CEdit &edtOutput);