diff --git a/PcDmis/Base/Interfac/Msi/Hsi/ART/ART_PCI8622.cpp b/PcDmis/Base/Interfac/Msi/Hsi/ART/ART_PCI8622.cpp index 0e5644b..6cbd3f6 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/ART/ART_PCI8622.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/ART/ART_PCI8622.cpp @@ -382,7 +382,7 @@ BOOL CART_PCI8622::GetData(double (*_Data)[HALF_SIZE_WORDS],int* _DataNumber) { ADData = ((ADBuffer[m_SegmentID][Index])); // ½«Ô­Âëת»»Îªµçѹֵ - dVolt = static_cast(((m_AD_LSB_MAX/m_AD_LSB_RANGE) * ADData - m_AD_LSB_HALF)); + dVolt = static_cast(((m_AD_LSB_MAX/m_AD_LSB_RANGE) * (ADData&0xFFFF) - m_AD_LSB_HALF)); _Data[nADChannel][_DataNumber[nADChannel]]=dVolt; _DataNumber[nADChannel]+=1; nADChannel++; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Animatics/Animatics_Proto.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Animatics/Animatics_Proto.cpp index ac61bf3..bbdc1f5 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Animatics/Animatics_Proto.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Animatics/Animatics_Proto.cpp @@ -5,6 +5,22 @@ #include "math.h" +#define HBIT0 0X0001 +#define HBIT1 0X0002 +#define HBIT2 0X0004 +#define HBIT3 0X0008 +#define HBIT4 0X0010 +#define HBIT5 0X0020 +#define HBIT6 0X0040 +#define HBIT7 0X0080 +#define HBIT8 0X0100 +#define HBIT9 0X0200 +#define HBIT10 0X0400 +#define HBIT11 0X0800 +#define HBIT12 0X1000 +#define HBIT13 0X2000 +#define HBIT14 0X4000 +#define HBIT15 0X8000 #define MAX_IN_BUFF_SIZE 1024 //***** Static Data ***** diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Animatics/Animatics_Proto.h b/PcDmis/Base/Interfac/Msi/Hsi/Animatics/Animatics_Proto.h index 2c80c1c..611ddba 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Animatics/Animatics_Proto.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Animatics/Animatics_Proto.h @@ -23,22 +23,6 @@ using namespace INTEGMOTORINTERFACELib; #define THREAD_RUNNING_STATE 0 #define THREAD_PAUSED 1 #define THREAD_EXIT -1 -#define HBIT0 0X0001 -#define HBIT1 0X0002 -#define HBIT2 0X0004 -#define HBIT3 0X0008 -#define HBIT4 0X0010 -#define HBIT5 0X0020 -#define HBIT6 0X0040 -#define HBIT7 0X0080 -#define HBIT8 0X0100 -#define HBIT9 0X0200 -#define HBIT10 0X0400 -#define HBIT11 0X0800 -#define HBIT12 0X1000 -#define HBIT13 0X2000 -#define HBIT14 0X4000 -#define HBIT15 0X8000 #pragma pack(push) diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp index 284d3e9..99afd18 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp @@ -4271,6 +4271,179 @@ SSI_STATUS_MOTION CSO7_Proto::so7_light_set_lamp_state(double dTopLightPercent,d }; +//================================================================== +SSI_STATUS_MOTION CSO7_Proto::so7_GetDIO(int Channel,BYTE& bDISts) +{ + char Addr(0); + switch(Channel) + { + case INPORT_J2: + { + Addr=ESO7_CONTROLLER_INPUT_PORT_ADDR; + break; + } + case OUTPORT_J1: + { + Addr=ESO7_CONTROLLER_WOUTPUT_PORT_ADDR; + break; + } + case OUTPORT_J3: + { + Addr=ESO7_CONTROLLER_OUTPUT_PORT_ADDR; + break; + } + case LIMIT_SWITCH_J4: + { + Addr=ESO7_CONTROLLER_LIMIT_SWITCH_ADDR; + break; + } + default: + { + Addr=-1; + break; + } + } + if (Addr>=0) + { + _send_cmd_SO7_CMD_READ_INPUT_PORT_STATUS(Addr); + bDISts=static_cast(g_machine.InPortStatus); + return SSI_STATUS_MOTION_NORMAL; + } + else + { + bDISts=0; + return SSI_STATUS_MOTION_INVALID_PARAMETERS; + } +} +//================================================================== +SSI_STATUS_MOTION CSO7_Proto::so7_SetDO(int Channel,BYTE bDOSts) +{ + char cSetIOStatusAddr(0); + char cSetValue(0); + switch(Channel) + { + case OUTPORT_J1: + { + if (bDOSts&HBIT0) + { + _send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_M_LASE_ON,0); + } + else + { + _send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_M_LASE_OFF,0); + } + Sleep(5); + if (bDOSts&HBIT1) + { + cSetIOStatusAddr=1; + cSetValue=1; + } + else + { + cSetIOStatusAddr=1; + cSetValue=0; + } + _send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue); + Sleep(5); + if (bDOSts&HBIT2) + { + cSetIOStatusAddr=2; + cSetValue=1; + } + else + { + cSetIOStatusAddr=2; + cSetValue=0; + } + _send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue); + Sleep(5); + break; + } + case OUTPORT_J3: + { + if (bDOSts&HBIT0) + { + _send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_M_PROBE_OFF,0); + Sleep(5); + _send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_LASE_TIMMER_ON,0); + } + else + { + _send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_M_PROBE_ON,0); + Sleep(5); + _send_cmd_SO7_CMD_COMMON_COMMAND(CT_MOTOR,CT_LASE_TIMMER_OFF,0); + } + Sleep(5); + if (bDOSts&HBIT1) + { + cSetIOStatusAddr=11; + cSetValue=1; + } + else + { + cSetIOStatusAddr=11; + cSetValue=0; + } + _send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue); + Sleep(5); + if (bDOSts&HBIT2) + { + cSetIOStatusAddr=12; + cSetValue=1; + } + else + { + cSetIOStatusAddr=12; + cSetValue=0; + } + _send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue); + Sleep(5); + if (bDOSts&HBIT3) + { + cSetIOStatusAddr=13; + cSetValue=1; + } + else + { + cSetIOStatusAddr=13; + cSetValue=0; + } + _send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue); + Sleep(5); + if (bDOSts&HBIT4) + { + cSetIOStatusAddr=14; + cSetValue=1; + } + else + { + cSetIOStatusAddr=14; + cSetValue=0; + } + _send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue); + Sleep(5); + if (bDOSts&HBIT5) + { + cSetIOStatusAddr=15; + cSetValue=1; + } + else + { + cSetIOStatusAddr=15; + cSetValue=0; + } + _send_cmd_SO7_CMD_COMMON_COMMAND_DATA(CT_DATA,CT_WRITE_IO_DAT,cSetIOStatusAddr,cSetValue); + Sleep(5); + break; + } + default: + { + break; + } + } + return SSI_STATUS_MOTION_NORMAL; +} + //********************************************************************************// //*******************************************************************************// @@ -4287,7 +4460,10 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_MOVE_X(char SpeedGear) *(ep_buff[EP_02_CMD_IDX]._buffer+2) = SpeedGear; TRACE1("[MOVE_X]:%d\n",static_cast(SpeedGear)); - + if (g_machine.s_machine_config.motion.m_DebugOutputEnable>=1) + { + g_pLogger->SendAndFlushWithTime(_T("Jog X:%d.\n"),SpeedGear); + } ep_buff[EP_02_CMD_IDX]._size = 0x03; ep_buff[EP_81_DATA_IDX]._size = 0x03; @@ -4308,7 +4484,10 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_MOVE_Y(char SpeedGear) *(ep_buff[EP_02_CMD_IDX]._buffer+2) = SpeedGear; TRACE1("[MOVE_Y]:%d\n",static_cast(SpeedGear)); - + if (g_machine.s_machine_config.motion.m_DebugOutputEnable>=1) + { + g_pLogger->SendAndFlushWithTime(_T("Jog Y:%d.\n"),SpeedGear); + } ep_buff[EP_02_CMD_IDX]._size = 0x03; ep_buff[EP_81_DATA_IDX]._size = 0x03; @@ -4329,7 +4508,10 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_MOVE_Z(char SpeedGear) *(ep_buff[EP_02_CMD_IDX]._buffer+2) = SpeedGear; TRACE1("[MOVE_Z]:%d\n",static_cast(SpeedGear)); - + if (g_machine.s_machine_config.motion.m_DebugOutputEnable>=1) + { + g_pLogger->SendAndFlushWithTime(_T("Jog Z:%d.\n"),SpeedGear); + } ep_buff[EP_02_CMD_IDX]._size = 0x03; ep_buff[EP_81_DATA_IDX]._size = 0x03; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h index da93cd1..4b85c7e 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h @@ -57,6 +57,15 @@ #define EIGHT_SEGS 8 #define FIVE_RINGS 5 +#define HBIT0 0X01 +#define HBIT1 0X02 +#define HBIT2 0X04 +#define HBIT3 0X08 +#define HBIT4 0X10 +#define HBIT5 0X20 +#define HBIT6 0X40 +#define HBIT7 0X80 + const long MAX_INTENSITY = 0x3FF; #define MAXLIGHTVALUE 255 #define MINLIGHTVALUE 1 @@ -453,6 +462,9 @@ public: SSI_STATUS_MOTION so7_light_set_light(); SSI_STATUS_MOTION so7_light_set_lamp_state(double dTopLightPercent,double dBottomLightPercent,double dCoaxialLightPercent,double dReservedLightPercent,double dRingLightPercent,char cOuterRingLightSwitch,char cInnerRingLightSwitch); + SSI_STATUS_MOTION so7_GetDIO(int Channel,BYTE& bDISts); + SSI_STATUS_MOTION so7_SetDO(int Channel,BYTE bDOSts); + SSI_STATUS_MOTION _send_cmd_SO7_CMD_MOVE_X(char SpeedGear); SSI_STATUS_MOTION _send_cmd_SO7_CMD_MOVE_Y(char SpeedGear); SSI_STATUS_MOTION _send_cmd_SO7_CMD_MOVE_Z(char SpeedGear); 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 8074332..c4acbf2 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log @@ -4565,3 +4565,4 @@ Destruct Cso7_Proto. Usb Port Initialized. Usb Port Initialized. Usb Port Initialized. +Usb Port Initialized. diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.cpp index 2f905f0..04dbc74 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.cpp @@ -461,6 +461,45 @@ EXP_IMP SSI_STATUS_MOTION Illumination_SetLampState(double dTopLightPercent,doub return SSI_STATUS_MOTION_NORMAL; } } + +//==============================IO================================================ +EXP_IMP SSI_STATUS_MOTION Machine_GetDIO(EIO_PORT Channel,BYTE& bDISts) +{ + if (!g_bOfflineOnly) + { + if (m_pSO7_Proto) + { + return m_pSO7_Proto->so7_GetDIO(static_cast(Channel),bDISts); + } + else + { + return SSI_STATUS_MACHINE_UNINITIALIZED; + } + } + else + { + return SSI_STATUS_MOTION_NORMAL; + } +} +EXP_IMP SSI_STATUS_MOTION Machine_SetDO(EIO_PORT Channel,BYTE bDOSts) +{ + if (!g_bOfflineOnly) + { + if (m_pSO7_Proto) + { + return m_pSO7_Proto->so7_SetDO(static_cast(Channel),bDOSts); + } + else + { + return SSI_STATUS_MACHINE_UNINITIALIZED; + } + } + else + { + return SSI_STATUS_MOTION_NORMAL; + } +} +//==============================CMD================================================ EXP_IMP SSI_STATUS_MOTION SEND_SYS_COMMAND(char Cmd,char SubCmd,char Type,char Data) { if (!g_bOfflineOnly) 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 34aeac2..e06b26f 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.h @@ -29,6 +29,13 @@ enum EHOME_MACHINE_MODE HOME_R=30, HOME_TOATAL=255 }; +enum EIO_PORT +{ + INPORT_J2=0,//Effective bit:0-5 + OUTPORT_J1,//Effective bit:0-2 + OUTPORT_J3,//Effective bit:0-5 + LIMIT_SWITCH_J4//Effective bit:0-5 +}; enum SSI_STATUS_MOTION { SSI_STATUS_MOTION_NORMAL = 0, @@ -71,6 +78,9 @@ extern "C" //==============================Illumination======================================= //Range value:0.0-100.0 EXP_IMP SSI_STATUS_MOTION Illumination_SetLampState(double dTopLightPercent,double dBottomLightPercent,double dCoaxialLightPercent,double dReservedLightPercent,double dRingLightPercent,char cOuterRingLightSwitch,char cInnerRingLightSwitch); + //==============================IO================================================ + EXP_IMP SSI_STATUS_MOTION Machine_GetDIO(EIO_PORT Channel,BYTE& bDISts); + EXP_IMP SSI_STATUS_MOTION Machine_SetDO(EIO_PORT Channel,BYTE bDOSts); //==============================CMD================================================ EXP_IMP SSI_STATUS_MOTION SEND_SYS_COMMAND(char Cmd,char SubCmd,char Type,char Data); 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 e12db99..94ae5ea 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/MachineInterfaceDll/MachineInterfaceDll.vcxproj b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.vcxproj index 3f4a3b1..9b3cbc2 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.vcxproj +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.vcxproj @@ -57,6 +57,10 @@ true ..\..\..\..\..\..\..\ThirdParty\UsbSupport\LibUsb_Win\Lib\Msvc\libusb.lib;%(AdditionalDependencies) + + xcopy "$(OutDir)\MachineInterfaceDll.dll" ..\Debug\MachineInterface\*.* /D /F /Y +xcopy "$(OutDir)\MachineInterfaceDll.lib" ..\Debug\MachineInterface\*.* /D /F /Y + diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.vcxproj.user b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.vcxproj.user index 896ef3b..6edece1 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.vcxproj.user +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/MachineInterfaceDll/MachineInterfaceDll.vcxproj.user @@ -1,8 +1,7 @@  - - + ..\Debug\MachineInterface\HoleEdgeInspect.exe WindowsLocalDebugger \ No newline at end of file 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 d244be6..0b45695 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 @@ -25,15 +25,6 @@ #include "SO7_UtilDlg.h" // CSO7_UtilDlg ¶Ô»°¿ò -#define HBIT0 0X01 -#define HBIT1 0X02 -#define HBIT2 0X04 -#define HBIT3 0X08 -#define HBIT4 0X10 -#define HBIT5 0X20 -#define HBIT6 0X40 -#define HBIT7 0X80 - extern CPSerial* m_pSO7_PCDSerial; extern CSO7_Proto* m_pSO7_Proto; extern CXBOXController* XBoxPlayer; 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 d14645c..2dd81fe 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 a151e49..8048302 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Win32TestDll/Win32TestDll.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Win32TestDll/Win32TestDll.cpp @@ -11,102 +11,163 @@ int _tmain(int argc, _TCHAR* argv[]) SSI_STATUS_MOTION status=Machine_Startup(false,HOME_NONE); printf("Machine_Startup:"); ShowMessage(status); + printf("Test Module[1-4]:"); + printf("\n"); + printf("1. Motion\n"); + printf("2. Illumination\n"); + printf("3. IO\n"); + printf("4. ALL\n"); + LONG TestModule(0); + printf("Please Select Test Module[1-4]:"); + scanf_s("%d", &TestModule); + //================================================================================= //===============================Motion============================================ - bool bHomed(false); - status=Motion_IsHomedXYZ(bHomed); - printf("Motion_IsHomedXYZ:"); - ShowMessage(status); - if (!bHomed) + if (TestModule==1 || TestModule==4) { - status=Motion_DCCHomeXYZ(HOME_XYZ); + bool bHomed(false); + status=Motion_IsHomedXYZ(bHomed); printf("Motion_IsHomedXYZ:"); ShowMessage(status); - do + if (!bHomed) { - Sleep(20); - status=Motion_IsHomedXYZ(bHomed); + status=Motion_DCCHomeXYZ(HOME_XYZ); printf("Motion_IsHomedXYZ:"); ShowMessage(status); - } while (!bHomed); - } - status=Motion_Jog(MACHINE_AXIS_X,3); - printf("Motion_Jog:"); - ShowMessage(status); - Sleep(3000); - status=Motion_Stop(); - printf("Motion_Stop:"); - ShowMessage(status); + do + { + Sleep(20); + status=Motion_IsHomedXYZ(bHomed); + printf("Motion_IsHomedXYZ:"); + ShowMessage(status); + } while (!bHomed); + } + status=Motion_Jog(MACHINE_AXIS_X,3); + printf("Motion_Jog:"); + ShowMessage(status); + Sleep(3000); + status=Motion_Stop(); + printf("Motion_Stop:"); + ShowMessage(status); - status=Motion_Jog(MACHINE_AXIS_Y,3); - printf("Motion_Jog:"); - ShowMessage(status); - Sleep(3000); - status=Motion_Stop(); - printf("Motion_Stop:"); - ShowMessage(status); + status=Motion_Jog(MACHINE_AXIS_Y,3); + printf("Motion_Jog:"); + ShowMessage(status); + Sleep(3000); + status=Motion_Stop(); + printf("Motion_Stop:"); + ShowMessage(status); - status=Motion_Jog(MACHINE_AXIS_Z,-3); - printf("Motion_Jog:"); - ShowMessage(status); - Sleep(3000); - status=Motion_Stop(); - printf("Motion_Stop:"); - ShowMessage(status); + status=Motion_Jog(MACHINE_AXIS_Z,-3); + printf("Motion_Jog:"); + ShowMessage(status); + Sleep(3000); + status=Motion_Stop(); + printf("Motion_Stop:"); + ShowMessage(status); - double PositionX,PositionY,PositionZ; - status=Motion_GetPositionXYZ(PositionX,PositionY,PositionZ); - printf("Motion_GetPositionXYZ:%.4f,%.4f.%.4f;\r\n",PositionX,PositionY,PositionZ); - PositionX=0.0; - PositionY=0.0; - PositionZ=0.0; - printf("Motion_SetPositionXYZ:%.4f,%.4f.%.4f;\r\n",PositionX,PositionY,PositionZ); - status=Motion_SetPositionXYZ(PositionX,PositionY,PositionZ,true); + double PositionX,PositionY,PositionZ; + status=Motion_GetPositionXYZ(PositionX,PositionY,PositionZ); + printf("Motion_GetPositionXYZ:%.4f,%.4f.%.4f;\r\n",PositionX,PositionY,PositionZ); + PositionX=0.0; + PositionY=0.0; + PositionZ=0.0; + printf("Motion_SetPositionXYZ:%.4f,%.4f.%.4f;\r\n",PositionX,PositionY,PositionZ); + status=Motion_SetPositionXYZ(PositionX,PositionY,PositionZ,true); - status=Motion_GetPositionXYZ(PositionX,PositionY,PositionZ); - printf("Motion_GetPositionXYZ:%.4f,%.4f.%.4f;\r\n",PositionY,PositionX,PositionZ); - - //status=Motion_IsFinishedXYZ(bool &bFinished); - status=Motion_Jog(MACHINE_AXIS_X,-3); - printf("Motion_Jog:"); - ShowMessage(status); - Sleep(3000); - status=Motion_Stop(); - printf("Motion_Stop:"); - ShowMessage(status); - status=Motion_SetSpeedXYZ(MACHINE_AXIS_X,3,20,20,20,3,0.01); - printf("Motion_SetSpeedXYZ:"); - ShowMessage(status); - status=Motion_Jog(MACHINE_AXIS_X,3); - printf("Motion_Jog:"); - ShowMessage(status); - Sleep(3000); - status=Motion_Stop(); - printf("Motion_Stop:"); - ShowMessage(status); + status=Motion_GetPositionXYZ(PositionX,PositionY,PositionZ); + printf("Motion_GetPositionXYZ:%.4f,%.4f.%.4f;\r\n",PositionY,PositionX,PositionZ); - //===================================Rotary Table================================== - //Motion_DCCHomeR(); - //Motion_IsHomedR(bool &bHomed); - ////Units:Rad - //Motion_GetPositionR(double& dPos); - //Motion_SetPositionR(double dAbsolutePos,bool bWait); - //Motion_IsFinishedR(bool &bFinished); - //==============================Illumination======================================= - //Range value:0.0-100.0 - status=Illumination_SetLampState(0,100,0,0,0,0,0); - printf("Illumination_SetLampState:"); - ShowMessage(status); - Sleep(1000); - status=Illumination_SetLampState(100,0,0,0,0,0,0); - printf("Illumination_SetLampState:"); - ShowMessage(status); - Sleep(1000); - status=Illumination_SetLampState(100,100,0,0,0,0,0); - printf("Illumination_SetLampState:"); - ShowMessage(status); - Sleep(1000); + //status=Motion_IsFinishedXYZ(bool &bFinished); + status=Motion_Jog(MACHINE_AXIS_X,-3); + printf("Motion_Jog:"); + ShowMessage(status); + Sleep(3000); + status=Motion_Stop(); + printf("Motion_Stop:"); + ShowMessage(status); + status=Motion_SetSpeedXYZ(MACHINE_AXIS_X,3,20,20,20,3,0.01); + printf("Motion_SetSpeedXYZ:"); + ShowMessage(status); + status=Motion_Jog(MACHINE_AXIS_X,3); + printf("Motion_Jog:"); + ShowMessage(status); + Sleep(3000); + status=Motion_Stop(); + printf("Motion_Stop:"); + ShowMessage(status); + //===================================Rotary Table================================== + //Motion_DCCHomeR(); + //Motion_IsHomedR(bool &bHomed); + ////Units:Rad + //Motion_GetPositionR(double& dPos); + //Motion_SetPositionR(double dAbsolutePos,bool bWait); + //Motion_IsFinishedR(bool &bFinished); + } + if (TestModule==2 || TestModule==4) + { + //==============================Illumination======================================= + //Range value:0.0-100.0 + status=Illumination_SetLampState(0,100,0,0,0,0,0); + printf("Illumination_SetLampState:"); + ShowMessage(status); + Sleep(1000); + status=Illumination_SetLampState(100,0,0,0,0,0,0); + printf("Illumination_SetLampState:"); + ShowMessage(status); + Sleep(1000); + status=Illumination_SetLampState(100,100,0,0,0,0,0); + printf("Illumination_SetLampState:"); + ShowMessage(status); + Sleep(1000); + } + //==============================IO================================================ + if (TestModule==3 || TestModule==4) + { + BYTE bDISts(0); + bDISts=0; + status=Machine_GetDIO(INPORT_J2,bDISts); + printf("Machine_GetDIO:[INPORT_J2] 0X%02X.--",bDISts); + ShowMessage(status); + + bDISts=0; + status=Machine_GetDIO(LIMIT_SWITCH_J4,bDISts); + printf("Machine_GetDIO:[LIMIT_SWITCH_J4] 0X%02X.--",bDISts); + ShowMessage(status); + printf("Get limit switch status again. Press any key...\r\n"); + _getch(); + bDISts=0; + status=Machine_GetDIO(LIMIT_SWITCH_J4,bDISts); + printf("Machine_GetDIO:[LIMIT_SWITCH_J4] 0X%02X.--",bDISts); + ShowMessage(status); + + bDISts=0; + status=Machine_GetDIO(OUTPORT_J1,bDISts); + printf("Machine_GetDIO:[OUTPORT_J1] 0X%02X.--",bDISts); + ShowMessage(status); + bDISts=255; + status=Machine_SetDO(OUTPORT_J1,bDISts); + printf("Machine_SetDO:[OUTPORT_J1] 0XFF.--"); + ShowMessage(status); + bDISts=0; + status=Machine_GetDIO(OUTPORT_J1,bDISts); + printf("Machine_GetDIO:[OUTPORT_J1] 0X%02X.--",bDISts); + ShowMessage(status); + + bDISts=0; + status=Machine_GetDIO(OUTPORT_J3,bDISts); + printf("Machine_GetDIO:[OUTPORT_J3] 0X%02X.--",bDISts); + ShowMessage(status); + bDISts=255; + status=Machine_SetDO(OUTPORT_J3,bDISts); + printf("Machine_SetDO:[OUTPORT_J3] 0XFF.--"); + ShowMessage(status); + bDISts=0; + status=Machine_GetDIO(OUTPORT_J3,bDISts); + printf("Machine_GetDIO:[OUTPORT_J3] 0X%02X.--",bDISts); + ShowMessage(status); + } //==============================CMD================================================ //SEND_SYS_COMMAND(char Cmd,char SubCmd,char Type,char Data); status=Machine_Shutdown();