新增输出口控制。

This commit is contained in:
TAO Cheng
2014-05-23 18:08:07 +08:00
parent 53b685cd6d
commit 2ce93d14fa
9 changed files with 71 additions and 11 deletions
@@ -4570,3 +4570,7 @@ Usb Port Initialized.
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Construct Cso7_Proto.
@@ -32,7 +32,7 @@ enum EHOME_MACHINE_MODE
enum EIO_PORT
{
INPORT_J2=0,//Effective bit:0-5
OUTPORT_J1,//Effective bit:0-2
OUTPORT_J1,//Effective bit:0-5
OUTPORT_J3,//Effective bit:0-5
LIMIT_SWITCH_J4//Effective bit:0-5
};
@@ -45,7 +45,7 @@ BEGIN
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
COMBOBOX IDC_COMBO_OUTPORT_NUMBER,304,189,39,75,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
CONTROL "开启",IDC_CHECK_SO7_OUT_PORT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,348,191,27,10
PUSHBUTTON "设置输出状态",IDC_BUTTON_SET_OUT_PORT,378,188,61,14
CONTROL "First",IDC_RADIO_SPEED_GEAR1,"Button",BS_AUTORADIOBUTTON | WS_GROUP,170,195,30,10
@@ -44,6 +44,7 @@ IMPLEMENT_DYNAMIC(CSO7_UtilDlg, CDialog)
m_ZsignalPosZ=0;
m_bEnProbe=false;
m_ReadAxisIntervalTime=150;
m_IOAddr=0;
}
CSO7_UtilDlg::~CSO7_UtilDlg()
@@ -196,15 +197,15 @@ BOOL CSO7_UtilDlg::OnInitDialog()
CString csTmp=_T("");
((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->ResetContent();
int iComboxIndex(0);
csTmp.Format(_T("WO-%d"),iComboxIndex+1);
((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->InsertString(iComboxIndex++,csTmp);
csTmp.Format(_T("WO-%d"),iComboxIndex+1);
((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->InsertString(iComboxIndex++,csTmp);
csTmp.Format(_T("WO-%d"),iComboxIndex+1);
((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->InsertString(iComboxIndex++,csTmp);
for (int i=iComboxIndex;i<iComboxIndex+6;i++)
{
csTmp.Format(_T("O-%d"),i-iComboxIndex+1);
csTmp.Format(_T("WO-J1-%d"),i-iComboxIndex+1);
((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->InsertString(i,csTmp);
}
iComboxIndex=6;
for (int i=iComboxIndex;i<iComboxIndex+6;i++)
{
csTmp.Format(_T("O-J3-%d"),i-iComboxIndex+1);
((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->InsertString(i,csTmp);
}
@@ -887,7 +888,7 @@ void CSO7_UtilDlg::OnBnClickedButtonSetOutPort()
m_pSO7_Proto->_send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_M_LASE_OFF,0);
}
}
else if(iSelAddr==3)
else if(iSelAddr==6)
{
if (((CButton *)GetDlgItem(IDC_CHECK_SO7_OUT_PORT))->GetCheck())
{
@@ -908,13 +909,16 @@ void CSO7_UtilDlg::OnBnClickedButtonSetOutPort()
{
case 1:
case 2:
case 3:
case 4:
case 5:
{
m_SetIOStatusAddr=static_cast<char>(iSelAddr);
break;
}
default:
{
m_SetIOStatusAddr=10+1+static_cast<char>(iSelAddr-4);
m_SetIOStatusAddr=10+static_cast<char>(iSelAddr-6);
break;
}
}
@@ -1225,24 +1229,28 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7Readdatafromfpga()
void CSO7_UtilDlg::OnBnClickedRadioReadLimitSwitch()
{
m_ReadIOStatusAddr=ESO7_CONTROLLER_LIMIT_SWITCH_ADDR;
m_IOAddr=LIMIT_SWITCH_J4;
UpdateIOAddrCaption(0);
}
//================================================================================================
void CSO7_UtilDlg::OnBnClickedRadioReadInputPort()
{
m_ReadIOStatusAddr=ESO7_CONTROLLER_INPUT_PORT_ADDR;
m_IOAddr=INPORT_J2;
UpdateIOAddrCaption(1);
}
//================================================================================================
void CSO7_UtilDlg::OnBnClickedRadioReadOutputPort()
{
m_ReadIOStatusAddr=ESO7_CONTROLLER_WOUTPUT_PORT_ADDR;
m_IOAddr=OUTPORT_J1;
UpdateIOAddrCaption(1);
}
//================================================================================================
void CSO7_UtilDlg::OnBnClickedRadioReadOutputPort2()
{
m_ReadIOStatusAddr=ESO7_CONTROLLER_OUTPUT_PORT_ADDR;
m_IOAddr=OUTPORT_J3;
UpdateIOAddrCaption(1);
}
@@ -1310,6 +1318,7 @@ void CSO7_UtilDlg::UpdateIOStatus()
COLORREF ColorOFF=RGB(240,240,240);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_INPUT_PORT_STATUS(m_ReadIOStatusAddr);
m_IOStatus[m_IOAddr]=static_cast<BYTE>(m_pSO7_Proto->g_machine.InPortStatus);
if (m_pSO7_Proto->g_machine.InPortStatus&HBIT0)
{
((CMFCButton*)GetDlgItem(IDC_MFCBUTTON_STATUS_IN_PORT1))->SetWindowTextW(StrON);
@@ -66,6 +66,8 @@ public:
char m_HomeMode;
bool m_bEnProbe;
INT m_ReadAxisIntervalTime;
BYTE m_IOStatus[4];
INT m_IOAddr;
void UpdateIOStatus();
void UpdateIOAddrCaption(int _type=0);
void TestZSignal();
@@ -142,6 +142,10 @@ int _tmain(int argc, _TCHAR* argv[])
printf("Machine_GetDIO:[LIMIT_SWITCH_J4] 0X%02X.--",bDISts);
ShowMessage(status);
bDISts=0;
status=Machine_SetDO(OUTPORT_J1,bDISts);
printf("Machine_SetDO:[OUTPORT_J1] 0X00.--");
ShowMessage(status);
bDISts=0;
status=Machine_GetDIO(OUTPORT_J1,bDISts);
printf("Machine_GetDIO:[OUTPORT_J1] 0X%02X.--",bDISts);
@@ -155,6 +159,11 @@ int _tmain(int argc, _TCHAR* argv[])
printf("Machine_GetDIO:[OUTPORT_J1] 0X%02X.--",bDISts);
ShowMessage(status);
bDISts=0;
status=Machine_SetDO(OUTPORT_J3,bDISts);
printf("Machine_SetDO:[OUTPORT_J3] 0X00.--");
ShowMessage(status);
bDISts=0;
status=Machine_GetDIO(OUTPORT_J3,bDISts);
printf("Machine_GetDIO:[OUTPORT_J3] 0X%02X.--",bDISts);