Files
EF3-Interface/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Win32TestDll/Win32TestDll.cpp
T
2014-05-23 18:08:07 +08:00

241 lines
7.1 KiB
C++

// TestDll.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <conio.h>
#include "..\MachineInterfaceDll\MachineInterfaceDll.h"
void ShowMessage(SSI_STATUS_MOTION status);
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============================================
if (TestModule==1 || TestModule==4)
{
bool bHomed(false);
status=Motion_IsHomedXYZ(bHomed);
printf("Motion_IsHomedXYZ:");
ShowMessage(status);
if (!bHomed)
{
status=Motion_DCCHomeXYZ(HOME_XYZ);
printf("Motion_IsHomedXYZ:");
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_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);
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);
//===================================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_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);
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_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);
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();
printf("Machine_Shutdown:");
ShowMessage(status);
printf("Press any key to exit\r\n");
_getch();
return 0;
}
void ShowMessage(SSI_STATUS_MOTION status)
{
switch(status)
{
case SSI_STATUS_MOTION_NORMAL:
{
printf("SSI_STATUS_MOTION_NORMAL.\r\n");
break;
}
case SSI_STATUS_MOTION_DATALINK_ERROR:
{
printf("SSI_STATUS_MOTION_DATALINK_ERROR.\r\n");
break;
}
case SSI_STATUS_MOTION_LIMIT_REACHED:
{
printf("SSI_STATUS_MOTION_LIMIT_REACHED.\r\n");
break;
}
case SSI_STATUS_MOTION_INVALID_PARAMETERS:
{
printf("SSI_STATUS_MOTION_INVALID_PARAMETERS.\r\n");
break;
}
case SSI_STATUS_MOTION_TIMEOUT:
{
printf("SSI_STATUS_MOTION_TIMEOUT.\r\n");
break;
}
case SSI_STATUS_SO7_CONFIG_FILE_NOT_FOUND:
{
printf("SSI_STATUS_SO7_CONFIG_FILE_NOT_FOUND.\r\n");
break;
}
case SSI_STATUS_MOTOR_DAT_FILE_NOT_FOUND:
{
printf("SSI_STATUS_MOTOR_DAT_FILE_NOT_FOUND.\r\n");
break;
}
case SSI_STATUS_MACHINE_UNINITIALIZED:
{
printf("SSI_STATUS_MACHINE_UNINITIALIZED.\r\n");
break;
}
case SSI_STATUS_UNKNOWN_ERROR:
{
printf("SSI_STATUS_UNKNOWN_ERROR.\r\n");
break;
}
}
}