新增输出口控制。

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
@@ -4363,6 +4363,42 @@ SSI_STATUS_MOTION CSO7_Proto::so7_SetDO(int Channel,BYTE bDOSts)
} }
_send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue); _send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue);
Sleep(5); Sleep(5);
if (bDOSts&HBIT3)
{
cSetIOStatusAddr=3;
cSetValue=1;
}
else
{
cSetIOStatusAddr=3;
cSetValue=0;
}
_send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue);
Sleep(5);
if (bDOSts&HBIT4)
{
cSetIOStatusAddr=4;
cSetValue=1;
}
else
{
cSetIOStatusAddr=4;
cSetValue=0;
}
_send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue);
Sleep(5);
if (bDOSts&HBIT5)
{
cSetIOStatusAddr=5;
cSetValue=1;
}
else
{
cSetIOStatusAddr=5;
cSetValue=0;
}
_send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue);
Sleep(5);
break; break;
} }
case OUTPORT_J3: case OUTPORT_J3:
@@ -4570,3 +4570,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.
Usb Port Initialized.
Usb Port Initialized.
Usb Port Initialized.
@@ -32,7 +32,7 @@ enum EHOME_MACHINE_MODE
enum EIO_PORT enum EIO_PORT
{ {
INPORT_J2=0,//Effective bit:0-5 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 OUTPORT_J3,//Effective bit:0-5
LIMIT_SWITCH_J4//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 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 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 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 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 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 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_ZsignalPosZ=0;
m_bEnProbe=false; m_bEnProbe=false;
m_ReadAxisIntervalTime=150; m_ReadAxisIntervalTime=150;
m_IOAddr=0;
} }
CSO7_UtilDlg::~CSO7_UtilDlg() CSO7_UtilDlg::~CSO7_UtilDlg()
@@ -196,15 +197,15 @@ BOOL CSO7_UtilDlg::OnInitDialog()
CString csTmp=_T(""); CString csTmp=_T("");
((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->ResetContent(); ((CComboBox *)GetDlgItem(IDC_COMBO_OUTPORT_NUMBER))->ResetContent();
int iComboxIndex(0); 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++) 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); ((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); 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()) if (((CButton *)GetDlgItem(IDC_CHECK_SO7_OUT_PORT))->GetCheck())
{ {
@@ -908,13 +909,16 @@ void CSO7_UtilDlg::OnBnClickedButtonSetOutPort()
{ {
case 1: case 1:
case 2: case 2:
case 3:
case 4:
case 5:
{ {
m_SetIOStatusAddr=static_cast<char>(iSelAddr); m_SetIOStatusAddr=static_cast<char>(iSelAddr);
break; break;
} }
default: default:
{ {
m_SetIOStatusAddr=10+1+static_cast<char>(iSelAddr-4); m_SetIOStatusAddr=10+static_cast<char>(iSelAddr-6);
break; break;
} }
} }
@@ -1225,24 +1229,28 @@ void CSO7_UtilDlg::OnBnClickedButtonSo7Readdatafromfpga()
void CSO7_UtilDlg::OnBnClickedRadioReadLimitSwitch() void CSO7_UtilDlg::OnBnClickedRadioReadLimitSwitch()
{ {
m_ReadIOStatusAddr=ESO7_CONTROLLER_LIMIT_SWITCH_ADDR; m_ReadIOStatusAddr=ESO7_CONTROLLER_LIMIT_SWITCH_ADDR;
m_IOAddr=LIMIT_SWITCH_J4;
UpdateIOAddrCaption(0); UpdateIOAddrCaption(0);
} }
//================================================================================================ //================================================================================================
void CSO7_UtilDlg::OnBnClickedRadioReadInputPort() void CSO7_UtilDlg::OnBnClickedRadioReadInputPort()
{ {
m_ReadIOStatusAddr=ESO7_CONTROLLER_INPUT_PORT_ADDR; m_ReadIOStatusAddr=ESO7_CONTROLLER_INPUT_PORT_ADDR;
m_IOAddr=INPORT_J2;
UpdateIOAddrCaption(1); UpdateIOAddrCaption(1);
} }
//================================================================================================ //================================================================================================
void CSO7_UtilDlg::OnBnClickedRadioReadOutputPort() void CSO7_UtilDlg::OnBnClickedRadioReadOutputPort()
{ {
m_ReadIOStatusAddr=ESO7_CONTROLLER_WOUTPUT_PORT_ADDR; m_ReadIOStatusAddr=ESO7_CONTROLLER_WOUTPUT_PORT_ADDR;
m_IOAddr=OUTPORT_J1;
UpdateIOAddrCaption(1); UpdateIOAddrCaption(1);
} }
//================================================================================================ //================================================================================================
void CSO7_UtilDlg::OnBnClickedRadioReadOutputPort2() void CSO7_UtilDlg::OnBnClickedRadioReadOutputPort2()
{ {
m_ReadIOStatusAddr=ESO7_CONTROLLER_OUTPUT_PORT_ADDR; m_ReadIOStatusAddr=ESO7_CONTROLLER_OUTPUT_PORT_ADDR;
m_IOAddr=OUTPORT_J3;
UpdateIOAddrCaption(1); UpdateIOAddrCaption(1);
} }
@@ -1310,6 +1318,7 @@ void CSO7_UtilDlg::UpdateIOStatus()
COLORREF ColorOFF=RGB(240,240,240); COLORREF ColorOFF=RGB(240,240,240);
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_INPUT_PORT_STATUS(m_ReadIOStatusAddr); 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) if (m_pSO7_Proto->g_machine.InPortStatus&HBIT0)
{ {
((CMFCButton*)GetDlgItem(IDC_MFCBUTTON_STATUS_IN_PORT1))->SetWindowTextW(StrON); ((CMFCButton*)GetDlgItem(IDC_MFCBUTTON_STATUS_IN_PORT1))->SetWindowTextW(StrON);
@@ -66,6 +66,8 @@ public:
char m_HomeMode; char m_HomeMode;
bool m_bEnProbe; bool m_bEnProbe;
INT m_ReadAxisIntervalTime; INT m_ReadAxisIntervalTime;
BYTE m_IOStatus[4];
INT m_IOAddr;
void UpdateIOStatus(); void UpdateIOStatus();
void UpdateIOAddrCaption(int _type=0); void UpdateIOAddrCaption(int _type=0);
void TestZSignal(); void TestZSignal();
@@ -142,6 +142,10 @@ int _tmain(int argc, _TCHAR* argv[])
printf("Machine_GetDIO:[LIMIT_SWITCH_J4] 0X%02X.--",bDISts); printf("Machine_GetDIO:[LIMIT_SWITCH_J4] 0X%02X.--",bDISts);
ShowMessage(status); ShowMessage(status);
bDISts=0;
status=Machine_SetDO(OUTPORT_J1,bDISts);
printf("Machine_SetDO:[OUTPORT_J1] 0X00.--");
ShowMessage(status);
bDISts=0; bDISts=0;
status=Machine_GetDIO(OUTPORT_J1,bDISts); status=Machine_GetDIO(OUTPORT_J1,bDISts);
printf("Machine_GetDIO:[OUTPORT_J1] 0X%02X.--",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); printf("Machine_GetDIO:[OUTPORT_J1] 0X%02X.--",bDISts);
ShowMessage(status); ShowMessage(status);
bDISts=0;
status=Machine_SetDO(OUTPORT_J3,bDISts);
printf("Machine_SetDO:[OUTPORT_J3] 0X00.--");
ShowMessage(status);
bDISts=0; bDISts=0;
status=Machine_GetDIO(OUTPORT_J3,bDISts); status=Machine_GetDIO(OUTPORT_J3,bDISts);
printf("Machine_GetDIO:[OUTPORT_J3] 0X%02X.--",bDISts); printf("Machine_GetDIO:[OUTPORT_J3] 0X%02X.--",bDISts);