增加读写IO口标志信息,验证点到面距离算法。
This commit is contained in:
@@ -113,4 +113,17 @@ int CSo7_Interface::Pro_Face_Du(MY3DPoint* pArr, int n, double* Coe, double* Err
|
||||
dis=dis2;
|
||||
|
||||
return 1;
|
||||
}
|
||||
//========================================
|
||||
double CSo7_Interface::PointToFace_1(double* _dCoe, MY3DPoint _PointXYZ)
|
||||
{
|
||||
double a,b,c,d;
|
||||
double r1(0.0);
|
||||
a = _dCoe[0];
|
||||
b = _dCoe[1];
|
||||
c = _dCoe[2];
|
||||
d = _dCoe[3];
|
||||
r1=((a*_PointXYZ.x + b*_PointXYZ.y + c*_PointXYZ.z + d)/sqrt(a*a + b*b + c*c));
|
||||
return r1;
|
||||
|
||||
}
|
||||
@@ -43,6 +43,8 @@ public:
|
||||
void PauseScanAndGetData();
|
||||
|
||||
int Pro_Face_Du(MY3DPoint* pArr, int n, double* Coe, double* Error, double& dis);
|
||||
double PointToFace_1(double* _dCoe, MY3DPoint _PointXYZ);
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2940,3 +2940,13 @@ Init:Open device succeed .
|
||||
Init:Open device succeed .
|
||||
|
||||
_start_machine
|
||||
Exit: Exit_SO7Usb
|
||||
|
||||
Destruct Cso7_Proto.
|
||||
|
||||
Construct Cso7_Proto.
|
||||
|
||||
Init:Open device succeed .
|
||||
|
||||
_start_machine
|
||||
Exit: Exit_SO7Usb
|
||||
|
||||
@@ -52,7 +52,7 @@ BEGIN
|
||||
EDITTEXT IDC_EDIT_COAXIAL_LIGHT4,261,83,41,12,ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_EDIT_COAXIAL_LIGHT,261,97,41,12,ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_EDIT_COAXIAL_LIGHT2,261,111,41,12,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "Motion",IDC_BUTTON_LOAD_SO7CONFIG,20,143,44,23,BS_MULTILINE
|
||||
PUSHBUTTON "Motion Parameter",IDC_BUTTON_LOAD_SO7CONFIG,20,143,44,23,BS_MULTILINE
|
||||
PUSHBUTTON "V+",IDC_BUTTON_SO7_MOVE_ZOOM_IN,77,159,25,12
|
||||
PUSHBUTTON "V-",IDC_BUTTON_SO7_MOVE_ZOOM_OUT,77,180,25,12
|
||||
PUSHBUTTON "Z+",IDC_BUTTON_SO7_MOVE_Z_UP,101,140,25,12
|
||||
@@ -62,7 +62,7 @@ BEGIN
|
||||
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 "Hoom Manual",IDC_BUTTON_MANUAL_HOME,277,135,76,14
|
||||
PUSHBUTTON "Home Manual",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 "Move\n To",IDC_BUTTON_MOVE_TO,359,142,32,27,BS_MULTILINE
|
||||
@@ -70,9 +70,9 @@ BEGIN
|
||||
PUSHBUTTON "Set Reset Flag",IDC_BUTTON_SET_RESET_FLAG,133,108,61,14
|
||||
PUSHBUTTON "Set outport",IDC_BUTTON_GET_LASER,181,240,61,14
|
||||
PUSHBUTTON "Home V",IDC_BUTTON_RESET_V,100,240,61,14
|
||||
EDITTEXT IDC_EDIT_X_SCALE_COEFFICIENT,46,284,54,12,ES_CENTER | ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_EDIT_Y_SCALE_COEFFICIENT,109,284,54,12,ES_CENTER | ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_EDIT_Z_SCALE_COEFFICIENT,172,284,54,12,ES_CENTER | ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_EDIT_X_SCALE_COEFFICIENT,62,284,39,12,ES_CENTER | ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_EDIT_Y_SCALE_COEFFICIENT,121,284,39,12,ES_CENTER | ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_EDIT_Z_SCALE_COEFFICIENT,180,284,39,12,ES_CENTER | ES_AUTOHSCROLL
|
||||
EDITTEXT IDC_EDIT_SET_VER_NO,325,313,45,14,ES_AUTOHSCROLL
|
||||
GROUPBOX "USB Control",IDC_STATIC,15,12,89,115
|
||||
GROUPBOX "Config",IDC_STATIC,13,129,55,83
|
||||
@@ -123,10 +123,10 @@ BEGIN
|
||||
LTEXT "Z Signal",IDC_STATIC,189,310,26,8
|
||||
LTEXT "Pos Update Frequency",IDC_STATIC,104,384,74,8
|
||||
LTEXT "Spare1",IDC_STATIC,232,112,24,8
|
||||
CTEXT "X",IDC_STATIC,70,273,8,8
|
||||
CTEXT "Y",IDC_STATIC,133,273,8,8
|
||||
CTEXT "X",IDC_STATIC,79,273,8,8
|
||||
CTEXT "Y",IDC_STATIC,137,273,8,8
|
||||
CTEXT "Z",IDC_STATIC,195,273,8,8
|
||||
LTEXT "±ÈÀý ϵÊý",IDC_STATIC,23,281,18,18
|
||||
CTEXT "Scale Resolution",IDC_STATIC,20,280,35,20
|
||||
GROUPBOX "Set Gear",IDC_STATIC,208,132,56,81
|
||||
PUSHBUTTON "so7_config",IDC_BUTTON_SETUP_SO7CONFIG,20,184,44,23
|
||||
LTEXT "1",IDC_STATIC,337,27,8,8
|
||||
@@ -398,7 +398,7 @@ BEGIN
|
||||
CONTROL "LJ_G¼¤¹â",IDC_RADIO_KEYENCE_LASER3,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,175,111,76,10
|
||||
CONTROL "Verifcation algorithm",IDC_RADIO_SO7_VERIFICATION_ALGORITHM,
|
||||
"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,48,138,81,10
|
||||
CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON | NOT WS_VISIBLE,48,149,45,10
|
||||
CONTROL "Image.dll",IDC_RADIO_TEST_IMAGE_DLL,"Button",BS_AUTORADIOBUTTON,175,124,45,10
|
||||
DEFPUSHBUTTON "OK",IDOK,181,145,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,241,145,50,14
|
||||
GROUPBOX "²âÊÔÑ¡Ïî",IDC_STATIC,29,15,243,120
|
||||
|
||||
@@ -2373,7 +2373,6 @@ void CSO7_Move_Location::OnTimer(UINT_PTR nIDEvent)
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case 2:
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
@@ -2490,27 +2489,48 @@ void CSO7_Move_Location::OnTimer(UINT_PTR nIDEvent)
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
BYTE cdata[4]={0};
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,12);
|
||||
cdata[0]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,13);
|
||||
cdata[1]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,14);
|
||||
cdata[2]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,15);
|
||||
cdata[3]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
if (true)
|
||||
{
|
||||
m_OutMessage.Format(_T("[Err Pos]%02X %02X %02X %02X.\r\n"),cdata[0],cdata[1],cdata[2],cdata[3]);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_OutMessage.Format(_T("[Err Pos]%d %d %d.\r\n"),cdata[0]*256+cdata[1],cdata[2]*256+cdata[3],((cdata[0]*256+cdata[1])-(cdata[2]*256+cdata[3])));
|
||||
}
|
||||
|
||||
CString strOutput;
|
||||
m_edit_RepeTest.GetWindowText(strOutput);
|
||||
strOutput += m_OutMessage;
|
||||
BYTE cdata[4]={0};
|
||||
if (abs(m_pSO7_Proto->g_machine.x._pos_fixed._long_)>5)//X
|
||||
{
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(2,12);
|
||||
cdata[0]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(2,13);
|
||||
cdata[1]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(2,14);
|
||||
cdata[2]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(2,15);
|
||||
cdata[3]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
m_OutMessage.Format(_T("[Err X](%02X) %02X %02X %02X.\r\n"),cdata[0],cdata[1],cdata[2],cdata[3]);
|
||||
strOutput += m_OutMessage;
|
||||
}
|
||||
if (abs(m_pSO7_Proto->g_machine.y._pos_fixed._long_)>5)//Y
|
||||
{
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,12);
|
||||
cdata[0]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,13);
|
||||
cdata[1]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,14);
|
||||
cdata[2]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(1,15);
|
||||
cdata[3]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
m_OutMessage.Format(_T("[Err Y](%02X) %02X %02X %02X.\r\n"),cdata[0],cdata[1],cdata[2],cdata[3]);
|
||||
strOutput += m_OutMessage;
|
||||
}
|
||||
if (abs(m_pSO7_Proto->g_machine.z._pos_fixed._long_)>5)//Z
|
||||
{
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(3,12);
|
||||
cdata[0]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(3,13);
|
||||
cdata[1]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(3,14);
|
||||
cdata[2]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_DATA_FROM_FPGA(3,15);
|
||||
cdata[3]=static_cast<BYTE>(m_pSO7_Proto->g_machine.FPGAData);
|
||||
m_OutMessage.Format(_T("[Err Z](%02X) %02X %02X %02X.\r\n"),cdata[0],cdata[1],cdata[2],cdata[3]);
|
||||
strOutput += m_OutMessage;
|
||||
}
|
||||
OutputWithScroll(strOutput,m_edit_RepeTest);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -255,7 +255,22 @@ BOOL CSO7_UtilDlg::OnInitDialog()
|
||||
((CComboBox *)GetDlgItem(IDC_COMBO_RWDATA_ADDR))->ResetContent();
|
||||
for(int i=0;i<16;i++)
|
||||
{
|
||||
csTmp.Format(_T("%d"),i);
|
||||
if (i==9)
|
||||
{
|
||||
csTmp=_T("9-Flag");
|
||||
}
|
||||
else if (i==10)
|
||||
{
|
||||
csTmp=_T("10-Trigger");
|
||||
}
|
||||
else if (i==11)
|
||||
{
|
||||
csTmp=_T("11-AccErr");
|
||||
}
|
||||
else
|
||||
{
|
||||
csTmp.Format(_T("%d"),i);
|
||||
}
|
||||
((CComboBox *)GetDlgItem(IDC_COMBO_RWDATA_ADDR))->InsertString(i,csTmp);
|
||||
}
|
||||
((CComboBox *)GetDlgItem(IDC_COMBO_RWDATA_ADDR))->SetCurSel(10);
|
||||
|
||||
@@ -104,6 +104,12 @@ void CSo7_Util_ImageDll::OnBnClickedButtonImagedll2laserCalculate()
|
||||
|
||||
MY3DPoint Top_Pos[4];
|
||||
MY3DPoint Bottom_Pos[4];
|
||||
for (int i=0;i<4;i++)
|
||||
{
|
||||
Bottom_Pos[i].x=0.0;
|
||||
Bottom_Pos[i].y=0.0;
|
||||
Bottom_Pos[i].z=0.0;
|
||||
}
|
||||
double error[MAX_POINT]={0.0};
|
||||
double dis=0.0;
|
||||
int m_nStep=4;
|
||||
@@ -173,6 +179,13 @@ void CSo7_Util_ImageDll::OnBnClickedButtonImagedll2laserCalculate()
|
||||
cTempValue=T2A(str);
|
||||
|
||||
m_pSo7_Interface->Pro_Face_Du(Top_Pos,m_nStep,coe,error,dis);
|
||||
MY3DPoint PntPos;
|
||||
PntPos.x=Bottom_Pos[0].z;
|
||||
PntPos.y=Bottom_Pos[1].z;
|
||||
PntPos.z=Bottom_Pos[2].z;
|
||||
double dResult=m_pSo7_Interface->PointToFace_1(coe,Bottom_Pos[0]);
|
||||
str.Format(_T("%.4f"),dResult);
|
||||
GetDlgItem(IDC_EDIT_IMAGEDLL_2LASER_MEASURED_VALUE)->SetWindowTextW(str);
|
||||
m_pSo7_Interface->Pro_Face_Du(Bottom_Pos,m_nStep,coe,error,dis);
|
||||
|
||||
}
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user