增加触发脉冲测试功能。

This commit is contained in:
TAO Cheng
2014-05-20 22:24:31 +08:00
parent a5a196de5b
commit 53b685cd6d
9 changed files with 276 additions and 62 deletions
@@ -345,10 +345,14 @@ enum PRO_DATA
CT_READ_SEQ_NUMBER,
CT_WRITE_SEQ_NUMBER,
CT_READ_TRIG_PULSE_PARA,
CT_WRITE_TRIG_PULSE_PARA,
CT_START_TRIG_PULSE,
CT_STOP_TRIG_PULSE,
CT_DATA_TOTAL=255
};
enum EHOME_MODE
{
CT_HOME_XYZ=1,
@@ -361,7 +365,6 @@ enum EHOME_MODE
CT_HOME_TOATAL=255
};
enum E_GET_INTERRUPT_MSG_METHOD
{
E_GET_INTERRUPT_MSG_INTERRUPT=0,
@@ -380,5 +383,17 @@ enum E_INTERRUPT_MSG
EMSG_PROBE_1,
EMSG_FINISHED_TYPE_TOATAL=20
};
enum E_DIS_TRIG_PULSE_METHOD
{
E_DIS_TRIG_PULSE_EQDIS=0,
E_DIS_TRIG_PULSE_SPEC_LOCA,
E_DIS_TRIG_PULSE_TOTAL=255
};
enum E_ACTIVE_AXIS
{
E_ACTIVE_AXIS_NONE=0,
E_ACTIVE_AXIS_X,
E_ACTIVE_AXIS_Y,
E_ACTIVE_AXIS_Z
};
#endif
@@ -246,6 +246,12 @@ void CSO7_Proto::_process_rcv_transfer_data(int iEP)
case CT_READ_SEQ_NUMBER:
_process_SO7_CMD_GET_SEQ_NUMBER();
break;
case CT_READ_TRIG_PULSE_PARA:
_process_SO7_CMD_READ_TRIG_PULSE_PARA();
break;
case CT_WRITE_TRIG_PULSE_PARA:
_process_SO7_CMD_WRITE_TRIG_PULSE_PARA();
break;
default:
TRACE1("_process_rcv_transfer_data() : Unknown ep_buff[EP_02_CMD_IDX]._save_send_cmd : %X \r\n", ep_buff[EP_02_CMD_IDX]._save_send_cmd);
@@ -5751,6 +5757,106 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_GET_SEQ_NUMBER()
ReleaseMutex(g_hEP02_Serial_Mutex);
return SSI_STATUS_MOTION_NORMAL;
}
//==============================================================
SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_READ_TRIG_PULSE_PARA(short ParaIndex)
{
WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE);
memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE);
char cBuff(0);
*(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA;
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_READ_TRIG_PULSE_PARA;
cBuff = (ParaIndex>>8) & 0x0ff;
*(ep_buff[EP_02_CMD_IDX]._buffer+2) = cBuff;
cBuff = ParaIndex & 0x0ff;
*(ep_buff[EP_02_CMD_IDX]._buffer+3) = cBuff;
ep_buff[EP_02_CMD_IDX]._size = 0x04;
ep_buff[EP_82_DATA_IDX]._size = 0x08;
g_hEP02_Thread_State=THREAD_RUNNING_STATE1;
g_hEP8x_Thread_State=THREAD_RUNNING_STATE2;
_do_single_threaded_usb_comm(EP_02_CMD_IDX);
ReleaseMutex(g_hEP02_Serial_Mutex);
return SSI_STATUS_MOTION_NORMAL;
}
//==============================================================
SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_WRITE_TRIG_PULSE_PARA(char ActiveAxis,char TrigMode,short StartIndex,short ParaNumber,short* Para)
{
WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE);
memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE);
char cBuff(0);
*(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA;
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_WRITE_TRIG_PULSE_PARA;
*(ep_buff[EP_02_CMD_IDX]._buffer+2) = ActiveAxis;
*(ep_buff[EP_02_CMD_IDX]._buffer+3) = TrigMode;
cBuff = (StartIndex>>8) & 0x0ff;
*(ep_buff[EP_02_CMD_IDX]._buffer+4) = cBuff;
cBuff = StartIndex & 0x0ff;
*(ep_buff[EP_02_CMD_IDX]._buffer+5) = cBuff;
cBuff = (ParaNumber>>8) & 0x0ff;
*(ep_buff[EP_02_CMD_IDX]._buffer+6) = cBuff;
cBuff = ParaNumber & 0x0ff;
*(ep_buff[EP_02_CMD_IDX]._buffer+7) = cBuff;
int j=8;
for (short i=0;i<ParaNumber;i++)
{
cBuff = (Para[i]>>8) & 0x0ff;
*(ep_buff[EP_02_CMD_IDX]._buffer+j) = cBuff;
j++;
cBuff = Para[i] & 0x0ff;
*(ep_buff[EP_02_CMD_IDX]._buffer+j) = cBuff;
j++;
}
ep_buff[EP_02_CMD_IDX]._size = j;
ep_buff[EP_82_DATA_IDX]._size = 0x02;
g_hEP02_Thread_State=THREAD_RUNNING_STATE1;
g_hEP8x_Thread_State=THREAD_RUNNING_STATE2;
_do_single_threaded_usb_comm(EP_02_CMD_IDX);
ReleaseMutex(g_hEP02_Serial_Mutex);
return SSI_STATUS_MOTION_NORMAL;
}
//==============================================================
SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_TRIG_PULSE_START()
{
WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE);
memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE);
*(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA;
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_START_TRIG_PULSE;
*(ep_buff[EP_02_CMD_IDX]._buffer+2)=0;
ep_buff[EP_02_CMD_IDX]._size = 0x03;
ep_buff[EP_81_DATA_IDX]._size = 0x00;
g_hEP02_Thread_State=THREAD_RUNNING_STATE2;
_do_single_threaded_usb_comm(EP_02_CMD_IDX);
ReleaseMutex(g_hEP02_Serial_Mutex);
return SSI_STATUS_MOTION_NORMAL;
}
//==============================================================
SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_TRIG_PULSE_STOP()
{
WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE);
memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE);
*(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA;
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_STOP_TRIG_PULSE;
*(ep_buff[EP_02_CMD_IDX]._buffer+2)=0;
ep_buff[EP_02_CMD_IDX]._size = 0x03;
ep_buff[EP_81_DATA_IDX]._size = 0x00;
g_hEP02_Thread_State=THREAD_RUNNING_STATE2;
_do_single_threaded_usb_comm(EP_02_CMD_IDX);
ReleaseMutex(g_hEP02_Serial_Mutex);
return SSI_STATUS_MOTION_NORMAL;
}
//==============================================================
SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_MOVE_X()
{
@@ -6104,4 +6210,44 @@ SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_GET_SEQ_NUMBER()
{
g_machine.SEQ_NUMBER=*(ep_buff[EP_82_DATA_IDX]._buffer);
return SSI_STATUS_MOTION_NORMAL;
}
//==============================================================
SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_READ_TRIG_PULSE_PARA()
{
int index(0);
g_machine.TrigPara.TrigPulseActiveAxis=*(ep_buff[EP_82_DATA_IDX]._buffer+index);
index++;
g_machine.TrigPara.TrigPulseMethod=*(ep_buff[EP_82_DATA_IDX]._buffer+index);
index++;
g_machine.TrigPara.TrigTotalNo._char_[1]=*(ep_buff[EP_82_DATA_IDX]._buffer+index);
index++;
g_machine.TrigPara.TrigTotalNo._char_[0]=*(ep_buff[EP_82_DATA_IDX]._buffer+index);
g_machine.TrigPara.TrigTotalNo._char_[2]=0;
g_machine.TrigPara.TrigTotalNo._char_[3]=0;
index++;
g_machine.TrigPara.TrigCurIndex._char_[1]=*(ep_buff[EP_82_DATA_IDX]._buffer+index);
index++;
g_machine.TrigPara.TrigCurIndex._char_[0]=*(ep_buff[EP_82_DATA_IDX]._buffer+index);
g_machine.TrigPara.TrigCurIndex._char_[2]=0;
g_machine.TrigPara.TrigCurIndex._char_[3]=0;
index++;
g_machine.TrigPara.TrigCurPara._char_[1]=*(ep_buff[EP_82_DATA_IDX]._buffer+index);
index++;
g_machine.TrigPara.TrigCurPara._char_[0]=*(ep_buff[EP_82_DATA_IDX]._buffer+index);
g_machine.TrigPara.TrigCurPara._char_[2]=0;
g_machine.TrigPara.TrigCurPara._char_[3]=0;
index++;
return SSI_STATUS_MOTION_NORMAL;
}
//==============================================================
SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_WRITE_TRIG_PULSE_PARA()
{
int index(0);
g_machine.TrigPara.TrigTotalNo._char_[1]=*(ep_buff[EP_82_DATA_IDX]._buffer+index);
index++;
g_machine.TrigPara.TrigTotalNo._char_[0]=*(ep_buff[EP_82_DATA_IDX]._buffer+index);
g_machine.TrigPara.TrigTotalNo._char_[2]=0;
g_machine.TrigPara.TrigTotalNo._char_[3]=0;
index++;
return SSI_STATUS_MOTION_NORMAL;
}
@@ -221,6 +221,28 @@ typedef struct s_so7_xyzzm
double dFromMM;
double dToMM;
} SO7AXISMOVE;
typedef struct s_so7_trigger_pulse
{
char TrigPulseActiveAxis;
char TrigPulseMethod;
union
{
long _long_;
char _char_[4];
}TrigTotalNo;
union
{
long _long_;
char _char_[4];
}TrigCurIndex;
union
{
long _long_;
char _char_[4];
}TrigCurPara;
} SO7TRIGPULSE;
//--------------------------------------------------------------------
//
//--------------------------------------------------------------------
@@ -285,7 +307,7 @@ struct struct_so7_machine
struct s_so7_axis y;
struct s_so7_axis z;
struct s_so7_axis zm;
struct s_so7_trigger_pulse TrigPara;
};
#define SEVENOCEAN_VID 0x4532
@@ -517,6 +539,10 @@ public:
SSI_STATUS_MOTION _send_cmd_SO7_CMD_SET_CONSTANT_SPEED(int iSpeed,char axis_type,char xyz_gear);
SSI_STATUS_MOTION _send_cmd_SO7_CMD_SET_SEQ_NUMBER();
SSI_STATUS_MOTION _send_cmd_SO7_CMD_GET_SEQ_NUMBER();
SSI_STATUS_MOTION _send_cmd_SO7_CMD_READ_TRIG_PULSE_PARA(short ParaIndex);
SSI_STATUS_MOTION _send_cmd_SO7_CMD_WRITE_TRIG_PULSE_PARA(char ActiveAxis,char TrigMode,short StartIndex,short ParaNumber,short* Para);
SSI_STATUS_MOTION _send_cmd_SO7_CMD_TRIG_PULSE_START();
SSI_STATUS_MOTION _send_cmd_SO7_CMD_TRIG_PULSE_STOP();
static SSI_STATUS_MOTION _process_SO7_CMD_MOVE_X();
@@ -556,7 +582,8 @@ public:
static SSI_STATUS_MOTION _process_SO7_CMD_READ_FIRMWARE_VERSION_INFO();
static SSI_STATUS_MOTION _process_SO7_CMD_GET_INTERRUPT_MSG(BYTE Type);
static SSI_STATUS_MOTION _process_SO7_CMD_GET_SEQ_NUMBER();
static SSI_STATUS_MOTION _process_SO7_CMD_READ_TRIG_PULSE_PARA();
static SSI_STATUS_MOTION _process_SO7_CMD_WRITE_TRIG_PULSE_PARA();
};
#endif
@@ -4566,3 +4566,7 @@ Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
@@ -38,11 +38,11 @@ BEGIN
CONTROL "输出口 (J3)",IDC_RADIO_READ_OUTPUT_PORT2,"Button",BS_AUTORADIOBUTTON,315,169,55,10
EDITTEXT IDC_EDIT_STATUS,247,270,199,117,ES_MULTILINE | ES_AUTOVSCROLL | ES_WANTRETURN | WS_VSCROLL
GROUPBOX "CMD",IDC_STATIC,102,12,193,116
CONTROL "Rel",IDC_RADIO_RELATIVE,"Button",BS_AUTORADIOBUTTON | WS_GROUP,139,144,27,8
CONTROL "Abs",IDC_RADIO_ABSOLUTE,"Button",BS_AUTORADIOBUTTON,140,158,28,8
EDITTEXT IDC_EDIT_POSITION,167,149,36,14,ES_AUTOHSCROLL
PUSHBUTTON "Go",IDC_BUTTON_GO,209,149,34,15
PUSHBUTTON "Home",IDC_BUTTON_HOME,261,149,34,15
CONTROL "µÈ¼ä¾à",IDC_RADIO_SO7_TRIGPULSE_EQDIS,"Button",BS_AUTORADIOBUTTON | WS_GROUP,140,142,41,8
CONTROL "Ö¸¶¨Î»ÒÆ",IDC_RADIO_SO7_TRIGPULSE_SPECLOCATION,"Button",BS_AUTORADIOBUTTON,140,158,42,8
EDITTEXT IDC_EDIT_SO7_TRIGPULSE_DIS,184,138,36,14,ES_AUTOHSCROLL
PUSHBUTTON "Start",IDC_BUTTON_SO7_TRIGPULSE_START,259,138,34,15
PUSHBUTTON "Stop",IDC_BUTTON_SO7_TRIGPULSE_STOP,259,156,34,15
CONTROL "连续读取",IDC_CHECK_CONTINUOUS_READ_IO_STATUS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,380,144,47,10
PUSHBUTTON "读取IO状态",IDC_BUTTON_SO7_READ_IN_PORT_STATUS,378,156,61,14
COMBOBOX IDC_COMBO_OUTPORT_NUMBER,314,189,29,34,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
@@ -161,7 +161,7 @@ BEGIN
PUSHBUTTON "◢",IDC_BUTTON_SO7_MOVE_XR_YB,122,233,25,12
PUSHBUTTON "◤",IDC_BUTTON_SO7_MOVE_XL_YF,71,207,25,12
PUSHBUTTON "◣",IDC_BUTTON_SO7_MOVE_XL_YB,71,233,25,12
GROUPBOX "Rotary",IDC_STATIC,135,129,163,44
GROUPBOX "Íâ´¥·¢",IDC_STATIC,135,129,163,44
CONTROL "ON",IDC_CHECK_SO7_TOP_LIGHT_ON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,366,28,26,10
CONTROL "ON",IDC_CHECK_SO7_BOTTOM_LIGHT_ON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,366,42,26,10
CONTROL "ON",IDC_CHECK_SO7_RING_LIGHT_ON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,366,56,26,10
@@ -175,6 +175,9 @@ BEGIN
LTEXT "SEQ NO.",IDC_STATIC,232,69,29,8
PUSHBUTTON "Set SEQ NO.",IDC_BUTTON_SO7_SET_SEQ_NUMBER,230,108,60,15,BS_MULTILINE
PUSHBUTTON "Set Ver NO.",IDC_BUTTON_SO7_SET_VER_NUMBER,230,45,60,15,BS_MULTILINE
PUSHBUTTON "Write",IDC_BUTTON_SO7_TRIGPULSE_WRITE_PARA,224,138,34,15
PUSHBUTTON "Read",IDC_BUTTON_SO7_TRIGPULSE_READ_PARA,224,156,34,15
EDITTEXT IDC_EDIT_SO7_TRIGPULSE_DIS2,184,155,36,14,ES_AUTOHSCROLL
END
IDD_SO7_UTIL_SEND_PARAMETER DIALOGEX 0, 0, 750, 480
@@ -66,7 +66,7 @@ void CSO7_UtilDlg::DoDataExchange(CDataExchange* pDX)
DDX_Text(pDX, IDC_EDIT_X_SCALE_COEFFICIENT, m_cs_XScaleCoeff);
DDX_Text(pDX, IDC_EDIT_Y_SCALE_COEFFICIENT, m_cs_YScaleCoeff);
DDX_Text(pDX, IDC_EDIT_Z_SCALE_COEFFICIENT, m_cs_ZScaleCoeff);
DDX_Text(pDX, IDC_EDIT_POSITION, m_Rotary_Edit_Position);
DDX_Text(pDX, IDC_EDIT_SO7_TRIGPULSE_DIS, m_Rotary_Edit_Position);
DDX_Control(pDX, IDC_BUTTON_SO7_MOVE_X_LEFT, m_Button_MoveX_Left);
DDX_Control(pDX, IDC_BUTTON_SO7_MOVE_X_RIGHT, m_Button_MoveX_Right);
@@ -126,8 +126,8 @@ BEGIN_MESSAGE_MAP(CSO7_UtilDlg, CDialog)
ON_BN_CLICKED(IDC_RADIO_READ_INPUT_PORT, &CSO7_UtilDlg::OnBnClickedRadioReadInputPort)
ON_BN_CLICKED(IDC_RADIO_READ_OUTPUT_PORT, &CSO7_UtilDlg::OnBnClickedRadioReadOutputPort)
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_TRIGPULSE_STOP, &CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseStop)
ON_BN_CLICKED(IDC_BUTTON_SO7_TRIGPULSE_START, &CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseStart)
ON_BN_CLICKED(IDC_CHECK_SO7_TOP_LIGHT_ON, &CSO7_UtilDlg::OnBnClickedCheckSo7TopLightOn)
ON_BN_CLICKED(IDC_CHECK_SO7_BOTTOM_LIGHT_ON, &CSO7_UtilDlg::OnBnClickedCheckSo7BottomLightOn)
ON_BN_CLICKED(IDC_CHECK_SO7_RING_LIGHT_ON, &CSO7_UtilDlg::OnBnClickedCheckSo7RingLightOn)
@@ -140,6 +140,8 @@ BEGIN_MESSAGE_MAP(CSO7_UtilDlg, CDialog)
ON_BN_CLICKED(IDC_BUTTON_SO7_SET_SEQ_NUMBER, &CSO7_UtilDlg::OnBnClickedButtonSo7SetSeqNumber)
ON_BN_CLICKED(IDC_BUTTON_SO7_SET_VER_NUMBER, &CSO7_UtilDlg::OnBnClickedButtonSo7SetVerNumber)
ON_BN_CLICKED(IDC_RADIO_READ_LIMIT_SWITCH, &CSO7_UtilDlg::OnBnClickedRadioReadLimitSwitch)
ON_BN_CLICKED(IDC_BUTTON_SO7_TRIGPULSE_WRITE_PARA, &CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseWritePara)
ON_BN_CLICKED(IDC_BUTTON_SO7_TRIGPULSE_READ_PARA, &CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseReadPara)
END_MESSAGE_MAP()
@@ -188,8 +190,8 @@ BOOL CSO7_UtilDlg::OnInitDialog()
m_ReadIOStatusAddr=ESO7_CONTROLLER_LIMIT_SWITCH_ADDR;
UpdateIOAddrCaption();
((CButton *)GetDlgItem(IDC_RADIO_RELATIVE))->SetCheck(true);
((CButton *)GetDlgItem(IDC_RADIO_ABSOLUTE))->SetCheck(false);
((CButton *)GetDlgItem(IDC_RADIO_SO7_TRIGPULSE_EQDIS))->SetCheck(true);
((CButton *)GetDlgItem(IDC_RADIO_SO7_TRIGPULSE_SPECLOCATION))->SetCheck(false);
CString csTmp=_T("");
((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->ResetContent();
@@ -348,8 +350,8 @@ void CSO7_UtilDlg::UpdateCtrlsStatus(bool _bEnable)
GetDlgItem(IDC_CHECK_SO7_COAXIAL_LIGHT_ON)->EnableWindow(_bEnable);
GetDlgItem(IDC_CHECK_SO7_SPARE_LIGHT_ON)->EnableWindow(_bEnable);
GetDlgItem(IDC_BUTTON_HOME)->EnableWindow(_bEnable);
GetDlgItem(IDC_BUTTON_GO)->EnableWindow(_bEnable);
GetDlgItem(IDC_BUTTON_SO7_TRIGPULSE_STOP)->EnableWindow(_bEnable);
GetDlgItem(IDC_BUTTON_SO7_TRIGPULSE_START)->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);
@@ -1510,49 +1512,60 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7CncProgram()
}
SetTimer(1,m_ReadAxisIntervalTime,NULL);
}
//=================================================
// Move one revolution 2**23
// When the rotary ֹͣ, take the curr pos - ref pos.
// g_machine.z._pos_fixed._char_[3]
//
void CSO7_UtilDlg::OnBnClickedButtonHome()
//======================================================
void CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseStart()
{
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
m_pSO7_Proto->_send_cmd_SO7_CMD_TRIG_PULSE_START();
}
//================================================
// Change Angle to scale
//
void CSO7_UtilDlg::OnBnClickedButtonGo()
//======================================================
void CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseStop()
{
m_pSO7_Proto->_send_cmd_SO7_CMD_TRIG_PULSE_STOP();
}
//======================================================
void CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseWritePara()
{
UpdateData(TRUE);
USES_CONVERSION;
const char* cMove_to_Rotary=T2A(m_Rotary_Edit_Position);
double dPos = atof(cMove_to_Rotary);
if (((CButton *)GetDlgItem(IDC_RADIO_RELATIVE))->GetCheck())
short TrigDis[2]={0};
char ActiveAxis(E_ACTIVE_AXIS_X);
char TrigMode(E_DIS_TRIG_PULSE_EQDIS);
short StartIndex(0);
short ParaNumber(0);
CString csText(_T(""));
GetDlgItem(IDC_EDIT_SO7_TRIGPULSE_DIS)->GetWindowText(csText);
const char* cTxt=T2A(csText);
TrigDis[0]= static_cast<short>(atoi(cTxt));
GetDlgItem(IDC_EDIT_SO7_TRIGPULSE_DIS2)->GetWindowText(csText);
cTxt=T2A(csText);
TrigDis[1] = static_cast<short>(atoi(cTxt));
if (((CButton *)GetDlgItem(IDC_RADIO_SO7_TRIGPULSE_SPECLOCATION))->GetCheck())
{
// m_pSO7_Proto->g_machine.z._pos_fixed._long_ = atoi(cMove_to_Z) - (m_pSO7_Proto->g_machine.z._scale_pos._long_-m_pSO7_Proto->g_machine.z._lSet_Zero_Pos);
dPos;
} else
TrigMode=E_DIS_TRIG_PULSE_SPEC_LOCA;
ParaNumber=2;
}
else
{
// m_pSO7_Proto->g_machine.z._pos_fixed._long_ = atoi(cMove_to_Z) - (m_pSO7_Proto->g_machine.z._scale_pos._long_-m_pSO7_Proto->g_machine.z._lSet_Zero_Pos);
};
m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_Z();
TrigMode=E_DIS_TRIG_PULSE_EQDIS;
ParaNumber=1;
}
m_pSO7_Proto->_send_cmd_SO7_CMD_WRITE_TRIG_PULSE_PARA(ActiveAxis,TrigMode,StartIndex,ParaNumber,TrigDis);
m_OutMessage.Format(_T("[Write Trig Para]:R TotalNo=%d"),m_pSO7_Proto->g_machine.TrigPara.TrigTotalNo);
OutputWithScroll(m_OutMessage,m_edMSG);
}
//======================================================
void CSO7_UtilDlg::OnBnClickedButtonSo7TrigpulseReadPara()
{
UpdateData(TRUE);
USES_CONVERSION;
short GetIndex(0);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_TRIG_PULSE_PARA(GetIndex);
m_OutMessage.Format(_T("[Read Trig Para]:R Axis=%d,Method=%d,TotalNo=%d,CurIndex=%d,CurPara=%d."),m_pSO7_Proto->g_machine.TrigPara.TrigPulseActiveAxis,
m_pSO7_Proto->g_machine.TrigPara.TrigPulseMethod,m_pSO7_Proto->g_machine.TrigPara.TrigTotalNo,
m_pSO7_Proto->g_machine.TrigPara.TrigCurIndex,m_pSO7_Proto->g_machine.TrigPara.TrigCurPara);
OutputWithScroll(m_OutMessage,m_edMSG);
}
@@ -116,8 +116,8 @@ public:
afx_msg void OnBnClickedRadioReadInputPort();
afx_msg void OnBnClickedRadioReadOutputPort();
afx_msg void OnBnClickedButtonMotionParameter();
afx_msg void OnBnClickedButtonHome();
afx_msg void OnBnClickedButtonGo();
afx_msg void OnBnClickedButtonSo7TrigpulseStop();
afx_msg void OnBnClickedButtonSo7TrigpulseStart();
afx_msg void OnBnClickedCheckSo7TopLightOn();
afx_msg void OnBnClickedCheckSo7BottomLightOn();
afx_msg void OnBnClickedCheckSo7RingLightOn();
@@ -130,4 +130,6 @@ public:
afx_msg void OnBnClickedButtonSo7SetSeqNumber();
afx_msg void OnBnClickedButtonSo7SetVerNumber();
afx_msg void OnBnClickedRadioReadLimitSwitch();
afx_msg void OnBnClickedButtonSo7TrigpulseWritePara();
afx_msg void OnBnClickedButtonSo7TrigpulseReadPara();
};
@@ -701,10 +701,10 @@
#define IDC_RADIO_KEYENCE_LASER_LK_G 1584
#define IDC_BUTTON3 1585
#define IDC_BUTTONIDC_BUTTON_TESA_STAR_MOVETO 1585
#define IDC_BUTTON_HOME 1585
#define IDC_BUTTON_SO7_TRIGPULSE_STOP 1585
#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_STORAGEDATA2 1585
#define IDC_BUTTON_INIT_SCAN_KEYENCE_LK_GLASER 1586
#define IDC_BUTTON_GO 1586
#define IDC_BUTTON_SO7_TRIGPULSE_START 1586
#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_STORAGEDATA1 1586
#define IDC_BUTTON_HOME2 1586
#define IDC_BUTTON_R2_HOME 1586
@@ -930,12 +930,12 @@
#define IDC_EDIT_SO7_PROGEAM_INTERCAL_TIME_PER_CNC 1822
#define IDC_CHECK_SO7_RING_LIGHT_SEG_ON1 1822
#define IDC_CHECK_SO7_RING_LIGHT_SEG_ON2 1823
#define IDC_EDIT_POSITION 1824
#define IDC_RADIO_RELATIVE 1825
#define IDC_EDIT_SO7_TRIGPULSE_DIS 1824
#define IDC_RADIO_SO7_TRIGPULSE_EQDIS 1825
#define IDC_EDIT_POSITION2 1825
#define IDC_EDIT_R1_TARGET_POSITION 1825
#define IDC_RADIO_ABS 1826
#define IDC_RADIO_ABSOLUTE 1826
#define IDC_RADIO_SO7_TRIGPULSE_SPECLOCATION 1826
#define IDC_EDIT_POSITION3 1826
#define IDC_EDIT_R2_CURRENT_POSITION 1826
#define IDC_KEYENCE_LKG5000_IPADDRESS1 1827
@@ -946,6 +946,7 @@
#define IDC_CHECK_SO7_SPARE_LIGHT_ON 1828
#define IDC_RADIO_R1_RELATIVE 1828
#define IDC_RADIO_R1_ABSOLUTE 1829
#define IDC_EDIT_SO7_TRIGPULSE_DIS2 1829
#define IDC_EDIT_KEYENCE_LKG5000_MSG 1830
#define IDC_RADIO_R2_RELATIVE 1830
#define IDC_BTN_KEYENCE_LKG5000_ETHERNET_START_SCAN 1831
@@ -982,6 +983,9 @@
#define IDC_RADIO_ART_PCI8622_MODE_NPTTRIG 1852
#define IDC_EDIT_ART_PCI8622_READ_TIMES 1853
#define IDC_EDIT_ART_PCI8622_GET_DATA_NUMBER 1854
#define IDC_BUTTON_SO7_TRIGPULSE_WRITE_PARA 1854
#define IDC_BUTTON5 1855
#define IDC_BUTTON_SO7_TRIGPULSE_READ_PARA 1855
#define IDC_BUTTON_DIY_EXIT_BUTTON 32740
#define ID_EDIT_SO7_CONFIG_MOTION 32741
@@ -991,7 +995,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 191
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1854
#define _APS_NEXT_CONTROL_VALUE 1855
#define _APS_NEXT_SYMED_VALUE 104
#endif
#endif