diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp index eb30386..771b230 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp @@ -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); 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; } case OUTPORT_J3: diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log index ca7d1ee..e832905 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log @@ -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. diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.h index e06b26f..494d3c8 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.h @@ -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 }; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.rc b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.rc index 94ae5ea..b39c6b2 100644 Binary files a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.rc and b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.rc differ diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc index 77b2d4a..1162a92 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc @@ -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 diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp index 83dea12..e8cad70 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp @@ -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;iInsertString(i,csTmp); + } + iComboxIndex=6; + for (int i=iComboxIndex;iInsertString(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(iSelAddr); break; } default: { - m_SetIOStatusAddr=10+1+static_cast(iSelAddr-4); + m_SetIOStatusAddr=10+static_cast(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(m_pSO7_Proto->g_machine.InPortStatus); if (m_pSO7_Proto->g_machine.InPortStatus&HBIT0) { ((CMFCButton*)GetDlgItem(IDC_MFCBUTTON_STATUS_IN_PORT1))->SetWindowTextW(StrON); diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h index b5d93cf..ea63921 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h @@ -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(); diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo index efa86a6..d47f539 100644 Binary files a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo and b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo differ diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Win32TestDll/Win32TestDll.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Win32TestDll/Win32TestDll.cpp index 8048302..d408404 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Win32TestDll/Win32TestDll.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Win32TestDll/Win32TestDll.cpp @@ -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);