📄 iplfunctest.cpp
字号:
{
m_LspdEn = ! m_LspdEn;
}
void CIPLFuncTest::OnLspd2axis()
{
m_LspdType = 1;
}
void CIPLFuncTest::OnLspd3axis()
{
m_LspdType = 3;
}
void CIPLFuncTest::OnCheckBpiplIntEn()
{
m_BpiplIEn = ! m_BpiplIEn;
}
void CIPLFuncTest::OnCheckCiplIntEn()
{
m_CiplIEn = ! m_CiplIEn;
}
void CIPLFuncTest::OnButtonClear()
{
delete m_bp1_pArray2;
delete m_bp1_pArray1;
delete m_bp2_pArray2;
delete m_bp2_pArray1;
delete m_bp3_pArray2;
delete m_bp3_pArray1;
delete m_bp4_pArray2;
delete m_bp4_pArray1;
m_bp1_pArray2 = new m_BP1Array;
m_bp1_pArray1 = new m_BP1Array;
m_bp2_pArray2 = new m_BP2Array;
m_bp2_pArray1 = new m_BP2Array;
m_bp1_pArray1 = m_bp1_pArray2;
m_bp2_pArray1 = m_bp2_pArray2;
if (m_Ax3En)
{
m_bp3_pArray2 = new m_BP3Array;
m_bp3_pArray1 = new m_BP3Array;
m_bp3_pArray1 = m_bp3_pArray2;
}
if (m_Ax4En)
{
m_bp4_pArray2 = new m_BP4Array;
m_bp4_pArray1 = new m_BP4Array;
m_bp4_pArray1 = m_bp4_pArray2;
}
}
void CIPLFuncTest::OnButtonAx5()
{
int m_Array1,m_Array2,m_Array3,m_Array4,m_Array12,m_Array22,m_Array32,m_Array42;
m_Array1 = m_Array2 = m_Array3 = m_Array4 = m_Array12 = m_Array22 = m_Array32 = m_Array42 =0;
UpdateData();
m_Array1 = m_strBP1;
m_Array2 = m_strBP2;
m_Array3 = m_strBP3;
m_Array4 = m_strBP4;
m_Array12 = m_strBP12;
m_Array22 = m_strBP22;
m_Array32 = m_strBP32;
m_Array42 = m_strBP42;
m_BP1Array* m_p1Array;
m_BP2Array* m_p2Array;
m_BP3Array* m_p3Array;
m_BP4Array* m_p4Array;
m_p1Array = new m_BP1Array;
m_p2Array = new m_BP2Array;
m_p3Array = new m_BP3Array;
m_p4Array = new m_BP4Array;
m_p1Array->m_number1 = m_Array1;
m_p1Array->m_number2 = m_Array12;
m_p2Array->m_number1 = m_Array2;
m_p2Array->m_number2 = m_Array22;
if (m_number == 0)
{
m_bp1_pArray2 = m_p1Array;
m_bp2_pArray2 = m_p2Array;
m_bp1_pArray2->next = NULL;
m_bp2_pArray2->next = NULL;
m_bp1_pArray1 = m_bp1_pArray2;
m_bp2_pArray1 = m_bp2_pArray2;
if (m_Ax3En)
{
m_p3Array->m_number1 = m_Array3;
m_p3Array->m_number2 = m_Array32;
m_bp3_pArray2 = m_p3Array;
m_bp3_pArray2->next = NULL;
m_bp3_pArray1 = m_bp3_pArray2;
}
if (m_Ax4En)
{
m_p4Array->m_number1 = m_Array4;
m_p4Array->m_number2 = m_Array42;
m_bp4_pArray2 = m_p4Array;
m_bp4_pArray2->next = NULL;
m_bp4_pArray1 = m_bp4_pArray2;
}
}
else
{
m_bp1_pArray2->next = m_p1Array;
m_bp2_pArray2->next = m_p2Array;
m_bp1_pArray2 = m_p1Array;
m_bp2_pArray2 = m_p2Array;
m_bp1_pArray2->next = NULL;
m_bp2_pArray2->next = NULL;
if (m_Ax3En)
{
m_p3Array->m_number1 = m_Array3;
m_p3Array->m_number2 = m_Array32;
m_bp3_pArray2->next = m_p3Array;
m_bp3_pArray2 = m_p3Array;
m_bp3_pArray2->next = NULL;
}
if (m_Ax4En)
{
m_p4Array->m_number1 = m_Array4;
m_p4Array->m_number2 = m_Array42;
m_bp4_pArray2->next = m_p4Array;
m_bp4_pArray2 = m_p4Array;
m_bp4_pArray2->next = NULL;
}
}
m_number++;
delete m_p1Array;
delete m_p2Array;
delete m_p3Array;
delete m_p4Array;
}
void CIPLFuncTest::OnButtonStart()
{
CString str;
CString str2;
int i;
int m_WR5_LowByte;
int NewVsacc;
int m_WR5;
m_CiplCurrentSeg = 1;
m_strTXDataCOM1.Empty();
int m_Lspd = m_LspdEn? m_LspdType : 0;
if(ChipSel==2)
{
m_WR5_LowByte = chip.GetWR5() & 0x00ff;
m_WR5 =
(m_BpiplIEn <<15) +
(m_CiplIEn <<14) +
(m_CmdStepEn <<13) +
(m_PlsStepEn <<12) +
(m_Lspd << 8) +
m_WR5_LowByte;
}
else
{
m_WR5 =
(m_BpiplIEn <<15) +
(m_CiplIEn <<14) +
(m_Ax4En <<13) +
(m_CmdStepEn <<12) +
(m_PlsStepEn <<11) +
(m_Lspd << 8) +
(m_AxisSel[3]<< 6) +
(m_AxisSel[2]<< 4) +
(m_AxisSel[1]<< 2) +
m_AxisSel[0] ;
}
WriteReg( 5, m_WR5 );
// LP,EP,CP,CM
for(i=0;i<4;i++)
{
if(m_LP_EN[i])
{
WriteParam ( LP_ADDR, m_LP[i] ,m_AxisSel[i]);
WriteParam ( EP_ADDR, m_LP[i] ,m_AxisSel[i]);
}
SetSLMTP( m_CP_EN[i], m_AxisSel[i] );
if(m_CP_EN[i])
{
WriteParam ( CP_ADDR, m_CP[i] ,m_AxisSel[i]);
}
SetSLMTM( m_CM_EN[i], m_AxisSel[i] );
if(m_CM_EN[i])
{
WriteParam ( CM_ADDR, m_CM[i] ,m_AxisSel[i]);
}
}
WriteParam ( AO_ADDR, m_AO ,m_AxisSel[0] );
SendDriveCommand( 0x3C, 0, 0, 0, 0 ); // DS_Disable
if(m_CiplCurrentSeg==m_CiplSegCount) // Last segment
{
SendDriveCommand( 0x3B, 0, 0, 0, 0 ); // DS_Enable
}
if(m_AccType==ACC_TYPE_FULL_S)
{
NewVsacc = 0;
}
else if(m_Vsacc<((m_SV+m_V)/2))
{
NewVsacc = m_Vsacc;
}
else
{
NewVsacc = 0;
}
if(m_IplType==IPL_TYPE_LINE)
{
if(m_AccType==ACC_TYPE_FULL_S || m_AccType==ACC_TYPE_PART_S)
{
if(m_Ax4En)
{
start_sr_line4(m_AxisSel, m_P1, m_P2, m_P3, m_P4, m_SV, m_V, m_AccTime, m_DecTime, NewVsacc, m_Vsdec );
}
else if(m_Ax3En)
{
start_sr_line3(m_AxisSel, m_P1, m_P2, m_P3, m_SV, m_V, m_AccTime, m_DecTime, NewVsacc, m_Vsdec );
}
else
{
start_sr_line2(m_AxisSel, m_P1, m_P2, m_SV, m_V, m_AccTime, m_DecTime, NewVsacc, m_Vsdec );
}
}
else if(m_AccType==ACC_TYPE_T)
{
if(m_Ax4En)
{
start_tr_line4(m_AxisSel, m_P1, m_P2, m_P3, m_P4, m_SV, m_V, m_AccTime, m_DecTime);
}
else if(m_Ax3En)
{
start_tr_line3(m_AxisSel, m_P1, m_P2, m_P3, m_SV, m_V, m_AccTime, m_DecTime);
}
else
{
start_tr_line2(m_AxisSel, m_P1, m_P2, m_SV, m_V, m_AccTime, m_DecTime);
}
}
else if(m_AccType==ACC_TYPE_CV)
{
if(m_Ax4En)
{
start_tr_line4(m_AxisSel, m_P1, m_P2, m_P3, m_P4, m_V, m_V, m_AccTime, m_DecTime);
}
else if(m_Ax3En)
{
start_tr_line3(m_AxisSel, m_P1, m_P2, m_P3, m_V, m_V, m_AccTime, m_DecTime);
}
else
{
start_tr_line2(m_AxisSel, m_P1, m_P2, m_V, m_V, m_AccTime, m_DecTime);
}
}
}
else if(m_IplType==IPL_TYPE_ARC)
{
if(m_AccType==ACC_TYPE_FULL_S || m_AccType==ACC_TYPE_PART_S)
{
start_sr_arc2( m_AxisSel, m_C1, m_C2, m_P1, m_P2, m_ArcType, m_SV, m_V, m_AccTime, m_DecTime, NewVsacc, m_Vsdec );
}
else if(m_AccType==ACC_TYPE_T)
{
start_tr_arc2( m_AxisSel, m_C1, m_C2, m_P1, m_P2, m_ArcType, m_SV, m_V, m_AccTime, m_DecTime);
}
else if(m_AccType==ACC_TYPE_CV)
{
start_tr_arc2( m_AxisSel, m_C1, m_C2, m_P1, m_P2, m_ArcType, m_V, m_V, m_AccTime, m_DecTime);
}
}
else if(m_IplType==IPL_TYPE_BP)
{
if(m_AccType==ACC_TYPE_FULL_S || m_AccType==ACC_TYPE_PART_S)
{
}
else if(m_AccType==ACC_TYPE_T)
{
}
else if(m_AccType==ACC_TYPE_CV)
{
if(m_Ax4En)
{
start_c1r_bit4(m_AxisSel, m_bp1_pArray1, m_bp2_pArray1, m_bp3_pArray1, m_bp4_pArray1, m_V);
}
else if(m_Ax3En)
{
start_c1r_bit3(m_AxisSel, m_bp1_pArray1, m_bp2_pArray1, m_bp3_pArray1,m_V);
}
else
{
start_c1r_bit2(m_AxisSel,m_bp1_pArray1,m_bp2_pArray1,m_number);
}
}
}
m_ComPort.WriteToPort((LPCTSTR)m_strTXDataCOM1);
}
void CIPLFuncTest::OnKillfocusEditPAx1()
{
m_P1 = GetDlgItemInt(IDC_EDIT_P_AX1);
}
void CIPLFuncTest::OnKillfocusEditPAx2()
{
m_P2 = GetDlgItemInt(IDC_EDIT_P_AX2);
}
void CIPLFuncTest::OnKillfocusEditPAx3()
{
m_P3 = GetDlgItemInt(IDC_EDIT_P_AX3);
}
void CIPLFuncTest::OnKillfocusEditPAx4()
{
m_P4 = GetDlgItemInt(IDC_EDIT_P_AX4);
}
void CIPLFuncTest::OnKillfocusEditCAx1()
{
m_C1 = GetDlgItemInt(IDC_EDIT_C_AX1);
}
void CIPLFuncTest::OnKillfocusEditCAx2()
{
m_C2 = GetDlgItemInt(IDC_EDIT_C_AX2);
}
void CIPLFuncTest::OnIpltypeLn()
{
m_IplType = IPL_TYPE_LINE;
GetDlgItem(IDC_EDIT_P_AX1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT_P_AX2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC_P1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC_P2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_CHECK_AX3)->EnableWindow(TRUE);
GetDlgItem(IDC_CHECK_AX4)->EnableWindow(TRUE);
if(m_Ax3En)
{
GetDlgItem(IDC_EDIT_P_AX3)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC_P3 )->ShowWindow(SW_SHOW);
GetDlgItem(IDC_BUTTON_AX3)->ShowWindow(SW_SHOW);
}
else
{
GetDlgItem(IDC_EDIT_P_AX3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_P3 )->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON_AX3)->ShowWindow(SW_HIDE);
}
if(m_Ax4En)
{
GetDlgItem(IDC_EDIT_P_AX4)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC_P4 )->ShowWindow(SW_SHOW);
GetDlgItem(IDC_BUTTON_AX4)->ShowWindow(SW_SHOW);
}
else
{
GetDlgItem(IDC_EDIT_P_AX4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_P4 )->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON_AX4)->ShowWindow(SW_HIDE);
}
// ARC
GetDlgItem(IDC_BUTTON_AX5 )->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_C1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_C2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_C_AX1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_C_AX2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ARCTYPE_CW)->EnableWindow(FALSE);
GetDlgItem(IDC_ARCTYPE_CCW)->EnableWindow(FALSE);
// BP
GetDlgItem(IDC_STATIC_BP1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_BP2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_BP3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_BP4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_BP1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_BP2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_BP3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_BP4)->ShowWindow(SW_HIDE);
// ACC
GetDlgItem(IDC_ACCTYPE_T)->EnableWindow(TRUE);
GetDlgItem(IDC_ACCTYPE_S)->EnableWindow(TRUE);
GetDlgItem(IDC_ACCTYPE_S2)->EnableWindow(TRUE);
GetDlgItem(IDC_CHECK_AUTO_DEC)->EnableWindow(TRUE);
}
void CIPLFuncTest::OnIpltypeArc()
{
m_IplType = IPL_TYPE_ARC;
GetDlgItem(IDC_BUTTON_AX5 )->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_P_AX1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT_P_AX2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT_P_AX3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_P_AX4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_P1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC_P2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC_P3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_P4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_C1)-> ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC_C2)-> ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT_C_AX1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT_C_AX2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATIC_BP1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_BP2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_BP3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_BP4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_BP1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_BP2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_BP3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_BP4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_CHECK_AX3)->EnableWindow(FALSE);
GetDlgItem(IDC_CHECK_AX4)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_AX3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON_AX4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ARCTYPE_CW)->EnableWindow(TRUE);
GetDlgItem(IDC_ARCTYPE_CCW)->EnableWindow(TRUE);
GetDlgItem(IDC_ACCTYPE_T)->EnableWindow(TRUE);
GetDlgItem(IDC_ACCTYPE_S)->EnableWindow(TRUE);
GetDlgItem(IDC_ACCTYPE_S2)->EnableWindow(TRUE);
CheckDlgButton(IDC_CHECK_AUTO_DEC, BST_UNCHECKED);
OnCheckAutoDec();
GetDlgItem(IDC_CHECK_AUTO_DEC)->EnableWindow(FALSE);
}
void CIPLFuncTest::OnIpltypeBp()
{
m_IplType = IPL_TYPE_BP;
// LN
GetDlgItem(IDC_EDIT_P_AX1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_P_AX2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_P_AX3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_P_AX4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_P1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_P2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_P3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_P4)->ShowWindow(SW_HIDE);
// ARC
GetDlgItem(IDC_STATIC_C1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_C2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_C_AX1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_C_AX2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_ARCTYPE_CW)->EnableWindow(FALSE);
GetDlgItem(IDC_ARCTYPE_CCW)->EnableWindow(FALSE);
// BP
// GetDlgItem(IDC_STATIC_BP1)->ShowWindow(SW_SHOW);
// GetDlgItem(IDC_STATIC_BP2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT_BP1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT_BP2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT_BP5)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT_BP6)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_CHECK_AX3)->EnableWindow(TRUE);
GetDlgItem(IDC_CHECK_AX4)->EnableWindow(TRUE);
if(m_Ax3En)
{
GetDlgItem(IDC_EDIT_BP7 )->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT_BP3 )->ShowWindow(SW_SHOW);
// GetDlgItem(IDC_STATIC_BP3)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_BUTTON_AX3)->ShowWindow(SW_SHOW);
}
else
{
GetDlgItem(IDC_EDIT_BP7 )->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_BP3 )->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_BP3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON_AX3)->ShowWindow(SW_HIDE);
}
if(m_Ax4En)
{
GetDlgItem(IDC_EDIT_BP8 )->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT_BP4 )->ShowWindow(SW_SHOW);
// GetDlgItem(IDC_STATIC_BP4)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_BUTTON_AX4)->ShowWindow(SW_SHOW);
}
else
{
GetDlgItem(IDC_EDIT_BP8 )->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_BP4 )->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_BP4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_BUTTON_AX4)->ShowWindow(SW_HIDE);
}
GetDlgItem(IDC_BUTTON_AX5 )->ShowWindow(SW_SHOW);
// Only allow constant velocity
CheckDlgButton(IDC_ACCTYPE_CV, BST_CHECKED);
CheckDlgButton(IDC_ACCTYPE_T, BST_UNCHECKED);
CheckDlgButton(IDC_ACCTYPE_S, BST_UNCHECKED);
CheckDlgButton(IDC_ACCTYPE_S2, BST_UNCHECKED);
OnAcctypeCv();
GetDlgItem(IDC_ACCTYPE_T)->EnableWindow(FALSE);
GetDlgItem(IDC_ACCTYPE_S)->EnableWindow(FALSE);
GetDlgItem(IDC_ACCTYPE_S2)->EnableWindow(FALSE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -