新增导出XYZ工作台接口,新增导出灯光调节接口,完善debug信息输出。
This commit is contained in:
+463
-170
@@ -16,6 +16,469 @@
|
||||
CEF8000_Interface* m_pEF8000_Interface=NULL;
|
||||
CSO7_Proto* m_pSO7_Proto=NULL;
|
||||
bool g_bOfflineOnly(false);
|
||||
EMACHINE_AXIS ActiveAxis=MACHINE_AXIS_NONE;
|
||||
SSI_STATUS_MOTION LoadMotionParameter();
|
||||
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Machine_Startup(bool bOfflineOnly,EHOME_MACHINE_MODE cHomeMachineMode)
|
||||
{
|
||||
SSI_STATUS_MOTION rStatus=SSI_STATUS_MOTION_NORMAL;
|
||||
g_bOfflineOnly=bOfflineOnly;
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (!m_pSO7_Proto)
|
||||
{
|
||||
m_pSO7_Proto=new CSO7_Proto();
|
||||
}
|
||||
rStatus=m_pSO7_Proto->Load_So7_Config();
|
||||
if (rStatus==SSI_STATUS_MOTION_NORMAL)
|
||||
{
|
||||
rStatus=m_pSO7_Proto->Init_SO7Usb();
|
||||
if (rStatus==SSI_STATUS_MOTION_NORMAL)
|
||||
{
|
||||
m_pSO7_Proto->_start_machine();
|
||||
rStatus=LoadMotionParameter();
|
||||
if (rStatus==SSI_STATUS_MOTION_NORMAL)
|
||||
{
|
||||
m_pSO7_Proto->so7_motion_set_all_speed_para();
|
||||
m_pSO7_Proto->so7_motion_init_firmware_para();
|
||||
|
||||
switch (cHomeMachineMode)
|
||||
{
|
||||
case HOME_R:
|
||||
{
|
||||
m_pSO7_Proto->so7_motion_Dcc_Home_R();
|
||||
break;
|
||||
}
|
||||
case HOME_XYZ:
|
||||
case HOME_X:
|
||||
case HOME_Y:
|
||||
case HOME_Z:
|
||||
case HOME_XY:
|
||||
case HOME_XZ:
|
||||
case HOME_YZ:
|
||||
{
|
||||
m_pSO7_Proto->so7_motion_Dcc_HomeXYZ(static_cast<char>(cHomeMachineMode));
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return rStatus;
|
||||
}
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Machine_Shutdown()
|
||||
{
|
||||
if (m_pEF8000_Interface)
|
||||
{
|
||||
delete m_pEF8000_Interface;
|
||||
m_pEF8000_Interface=nullptr;
|
||||
}
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_STOP_MOVE_XYZ();
|
||||
Sleep(10);
|
||||
m_pSO7_Proto->so7_light_set_light_off();
|
||||
if(m_pSO7_Proto->g_machine.IsSupportReadInterrputMsg)
|
||||
{
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_GET_INTERRUPT_MSG_METHOD(E_GET_INTERRUPT_MSG_INTERRUPT);
|
||||
}
|
||||
m_pSO7_Proto->_shutdown_machine();
|
||||
m_pSO7_Proto->Exit_SO7Usb();
|
||||
delete m_pSO7_Proto;
|
||||
m_pSO7_Proto=nullptr;
|
||||
}
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
|
||||
/**************************Motion**********************************/
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_DCCHomeXYZ(EHOME_MACHINE_MODE cHomeMachineMode)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
return m_pSO7_Proto->so7_motion_Dcc_HomeXYZ(static_cast<char>(cHomeMachineMode));
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MACHINE_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsHomedXYZ(bool &bHomed)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
bHomed=m_pSO7_Proto->so7_motion_is_homed();
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MACHINE_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_GetPositionXYZ(double &PositionX, double &PositionY, double &PositionZ)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
return m_pSO7_Proto->so7_motion_get_position_xyz(PositionX,PositionY,PositionZ);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MACHINE_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetPositionXYZ(double PositionX, double PositionY, double PositionZ,bool bWait)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
return m_pSO7_Proto->so7_motion_set_position_xyz(PositionX,PositionY,PositionZ,bWait);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MACHINE_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsFinishedXYZ(bool &bFinished)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
return m_pSO7_Proto->so7_Motion_XYZ_IsMotionFinished(bFinished);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MACHINE_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetSpeedXYZ(EMACHINE_AXIS cAxis,char cSpeedGear,char Acce,char cHoldSpeed,char cStartSpeed,char cRefreshCycle,double dBufferDis)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
return m_pSO7_Proto->so7_motion_set_speed_xyz(cAxis,cSpeedGear,Acce,cRefreshCycle,cStartSpeed,cHoldSpeed,dBufferDis);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MACHINE_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
|
||||
//SpeedGear:1,2,3,4(Faster)
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_Jog(EMACHINE_AXIS cAxis,char cSpeedGear)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
if (abs(cSpeedGear)>4)
|
||||
{
|
||||
if (cSpeedGear>0)
|
||||
{
|
||||
cSpeedGear=4;
|
||||
}
|
||||
else
|
||||
{
|
||||
cSpeedGear=-4;
|
||||
}
|
||||
}
|
||||
if (abs(cSpeedGear)<1)
|
||||
{
|
||||
cSpeedGear=1;
|
||||
}
|
||||
ActiveAxis=cAxis;
|
||||
switch (cAxis)
|
||||
{
|
||||
case MACHINE_AXIS_X:
|
||||
{
|
||||
return m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_X(cSpeedGear);
|
||||
break;
|
||||
}
|
||||
case MACHINE_AXIS_Y:
|
||||
{
|
||||
return m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_Y(cSpeedGear);
|
||||
break;
|
||||
}
|
||||
case MACHINE_AXIS_Z:
|
||||
{
|
||||
return m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_Z(cSpeedGear);
|
||||
break;
|
||||
}
|
||||
case MACHINE_AXIS_ZOOM:
|
||||
{
|
||||
if (abs(cSpeedGear)==4)
|
||||
{
|
||||
if (cSpeedGear>0)
|
||||
{
|
||||
cSpeedGear=5;
|
||||
}
|
||||
else
|
||||
{
|
||||
cSpeedGear=-5;
|
||||
}
|
||||
}
|
||||
else if (abs(cSpeedGear)==3)
|
||||
{
|
||||
if (cSpeedGear>0)
|
||||
{
|
||||
cSpeedGear=5;
|
||||
}
|
||||
else
|
||||
{
|
||||
cSpeedGear=-5;
|
||||
}
|
||||
}
|
||||
else if (abs(cSpeedGear)==2)
|
||||
{
|
||||
if (cSpeedGear>0)
|
||||
{
|
||||
cSpeedGear=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
cSpeedGear=-1;
|
||||
}
|
||||
}
|
||||
else if (abs(cSpeedGear)==1)
|
||||
{
|
||||
if (cSpeedGear>0)
|
||||
{
|
||||
cSpeedGear=2;
|
||||
}
|
||||
else
|
||||
{
|
||||
cSpeedGear=-2;
|
||||
}
|
||||
}
|
||||
return m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_ZM(cSpeedGear);
|
||||
break;
|
||||
}
|
||||
case MACHINE_AXIS_R:
|
||||
{
|
||||
return m_pSO7_Proto->so7_motion_move_R(cSpeedGear);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
return SSI_STATUS_MOTION_INVALID_PARAMETERS;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MACHINE_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_Stop()
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
if (ActiveAxis==MACHINE_AXIS_ZOOM)
|
||||
{
|
||||
return m_pSO7_Proto->_send_cmd_SO7_CMD_STOP_V();
|
||||
}
|
||||
else
|
||||
{
|
||||
return m_pSO7_Proto->_send_cmd_SO7_CMD_STOP_MOVE_XYZ();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MACHINE_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
|
||||
/**************************Rotary Table****************************/
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_GetPositionR(double& dPos)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
return m_pSO7_Proto->so7_motion_get_position_R(dPos);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MACHINE_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetPositionR(double dAbsolutePos,bool bWait)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
return m_pSO7_Proto->so7_motion_set_position_R(dAbsolutePos,bWait);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MACHINE_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_DCCHomeR()
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
return m_pSO7_Proto->so7_motion_Dcc_Home_R();
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MACHINE_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsHomedR(bool &bHomed)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
return m_pSO7_Proto->so7_Motion_R_IsHomed(bHomed);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MACHINE_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsFinishedR(bool &bFinished)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
return m_pSO7_Proto->so7_Motion_R_IsMotionFInished(bFinished);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MACHINE_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
/*******************************************************************/
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Illumination_SetLampState(double dTopLightPercent,double dBottomLightPercent,double dCoaxialLightPercent,double dReservedLightPercent,double dRingLightPercent,char cOuterRingLightSwitch,char cInnerRingLightSwitch)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
return m_pSO7_Proto->so7_light_set_lamp_state(dTopLightPercent,dBottomLightPercent,dCoaxialLightPercent,dReservedLightPercent,dRingLightPercent,cOuterRingLightSwitch,cInnerRingLightSwitch);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MACHINE_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI SEND_SYS_COMMAND(char Cmd,char SubCmd,char Type,char Data)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
return m_pSO7_Proto->_send_cmd_SO7_CMD_COMMON_COMMAND_DATA(Cmd,SubCmd,Type,Data);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MACHINE_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
|
||||
//==================================================================
|
||||
SSI_STATUS_MOTION LoadMotionParameter()
|
||||
@@ -73,173 +536,3 @@ SSI_STATUS_MOTION LoadMotionParameter()
|
||||
return SSI_STATUS_MOTOR_DAT_FILE_NOT_FOUND;
|
||||
}
|
||||
}
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Machine_Startup(bool bOfflineOnly,bool bDCCHome)
|
||||
{
|
||||
SSI_STATUS_MOTION rStatus=SSI_STATUS_MOTION_NORMAL;
|
||||
g_bOfflineOnly=bOfflineOnly;
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (!m_pSO7_Proto)
|
||||
{
|
||||
m_pSO7_Proto=new CSO7_Proto();
|
||||
}
|
||||
rStatus=m_pSO7_Proto->Init_SO7Usb();
|
||||
if (rStatus==SSI_STATUS_MOTION_NORMAL)
|
||||
{
|
||||
m_pSO7_Proto->_start_machine();
|
||||
rStatus=m_pSO7_Proto->Load_So7_Config();
|
||||
if (rStatus==SSI_STATUS_MOTION_NORMAL)
|
||||
{
|
||||
rStatus=LoadMotionParameter();
|
||||
if (rStatus==SSI_STATUS_MOTION_NORMAL)
|
||||
{
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_GET_RESET_FLAG();
|
||||
if(m_pSO7_Proto->g_machine.IsSupportReadInterrputMsg)
|
||||
{
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_READ_FIRMWARE_VERSION_INFO();
|
||||
}
|
||||
if (bDCCHome)
|
||||
{
|
||||
m_pSO7_Proto->so7_motion_Dcc_Home_R();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return rStatus;
|
||||
}
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Machine_Sutdown()
|
||||
{
|
||||
if (m_pEF8000_Interface)
|
||||
{
|
||||
delete m_pEF8000_Interface;
|
||||
m_pEF8000_Interface=nullptr;
|
||||
}
|
||||
if (m_pSO7_Proto)
|
||||
{
|
||||
if(m_pSO7_Proto->g_machine.IsSupportReadInterrputMsg)
|
||||
{
|
||||
m_pSO7_Proto->_send_cmd_SO7_CMD_SET_GET_INTERRUPT_MSG_METHOD(E_GET_INTERRUPT_MSG_INTERRUPT);
|
||||
}
|
||||
m_pSO7_Proto->_shutdown_machine();
|
||||
m_pSO7_Proto->Exit_SO7Usb();
|
||||
delete m_pSO7_Proto;
|
||||
m_pSO7_Proto=nullptr;
|
||||
}
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_GetPositionR(double& dPos)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (!m_pSO7_Proto)
|
||||
{
|
||||
m_pSO7_Proto=new CSO7_Proto();
|
||||
}
|
||||
return m_pSO7_Proto->so7_motion_get_position_R(dPos);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetPositionR(double dAbsolutePos,bool bWait)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (!m_pSO7_Proto)
|
||||
{
|
||||
m_pSO7_Proto=new CSO7_Proto();
|
||||
}
|
||||
return m_pSO7_Proto->so7_motion_set_position_R(dAbsolutePos,bWait);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_DCCHome()
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (!m_pSO7_Proto)
|
||||
{
|
||||
m_pSO7_Proto=new CSO7_Proto();
|
||||
}
|
||||
return m_pSO7_Proto->so7_motion_Dcc_Home_R();
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsHomed(bool &bHomed)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (!m_pSO7_Proto)
|
||||
{
|
||||
m_pSO7_Proto=new CSO7_Proto();
|
||||
}
|
||||
return m_pSO7_Proto->so7_Motion_R_IsHomed(bHomed);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsFinished(bool &bFinished)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (!m_pSO7_Proto)
|
||||
{
|
||||
m_pSO7_Proto=new CSO7_Proto();
|
||||
}
|
||||
return m_pSO7_Proto->so7_Motion_R_IsMotionFInished(bFinished);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_JogR(char cSpeedGear)
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (!m_pSO7_Proto)
|
||||
{
|
||||
m_pSO7_Proto=new CSO7_Proto();
|
||||
}
|
||||
return m_pSO7_Proto->so7_motion_move_R(cSpeedGear);
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
//==================================================================
|
||||
extern "C" EXP_IMP SSI_STATUS_MOTION WINAPI Motion_StopR()
|
||||
{
|
||||
if (!g_bOfflineOnly)
|
||||
{
|
||||
if (!m_pSO7_Proto)
|
||||
{
|
||||
m_pSO7_Proto=new CSO7_Proto();
|
||||
}
|
||||
return m_pSO7_Proto->_send_cmd_SO7_CMD_STOP_MOVE_XYZ();
|
||||
}
|
||||
else
|
||||
{
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
}
|
||||
|
||||
+50
-10
@@ -6,6 +6,29 @@
|
||||
#define EXP_IMP __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
enum EMACHINE_AXIS
|
||||
{
|
||||
MACHINE_AXIS_NONE = 0,
|
||||
MACHINE_AXIS_X,
|
||||
MACHINE_AXIS_Y,
|
||||
MACHINE_AXIS_Z,
|
||||
MACHINE_AXIS_ZOOM,
|
||||
MACHINE_AXIS_R,
|
||||
MACHINE_AXIS_ALL = 5
|
||||
};
|
||||
enum EHOME_MACHINE_MODE
|
||||
{
|
||||
HOME_NONE,
|
||||
HOME_XYZ=1,
|
||||
HOME_X=10,
|
||||
HOME_Y,
|
||||
HOME_Z,
|
||||
HOME_XY=20,
|
||||
HOME_XZ,
|
||||
HOME_YZ,
|
||||
HOME_R=30,
|
||||
HOME_TOATAL=255
|
||||
};
|
||||
enum SSI_STATUS_MOTION
|
||||
{
|
||||
SSI_STATUS_MOTION_NORMAL = 0,
|
||||
@@ -15,23 +38,40 @@ enum SSI_STATUS_MOTION
|
||||
SSI_STATUS_MOTION_TIMEOUT,
|
||||
SSI_STATUS_SO7_CONFIG_FILE_NOT_FOUND,
|
||||
SSI_STATUS_MOTOR_DAT_FILE_NOT_FOUND,
|
||||
SSI_STATUS_MACHINE_UNINITIALIZED,
|
||||
SSI_STATUS_UNKNOWN_ERROR
|
||||
};
|
||||
|
||||
extern "C"
|
||||
{
|
||||
///////////////////////////////////////////////
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Machine_Startup(bool bOfflineOnly,bool bDCCHome);
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Machine_Sutdown();
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Machine_Startup(bool bOfflineOnly,EHOME_MACHINE_MODE cHomeMachineMode);
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Machine_Shutdown();
|
||||
//=================================================================================
|
||||
//===============================Motion============================================
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_DCCHomeXYZ(EHOME_MACHINE_MODE cHomeMachineMode);
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsHomedXYZ(bool &bHomed);
|
||||
//Units:mm
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_GetPositionXYZ(double &PositionX, double &PositionY, double &PositionZ);
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetPositionXYZ(double PositionX, double PositionY, double PositionZ,bool bWait);
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsFinishedXYZ(bool &bFinished);
|
||||
//SpeedGear:1,2,3,4(Faster)
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetSpeedXYZ(EMACHINE_AXIS cAxis,char cSpeedGear,char Acce,char cHoldSpeed,char cStartSpeed,char cRefreshCycle,double dBufferDis);
|
||||
|
||||
//SpeedGear:1,2,3,4(Faster)
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_Jog(EMACHINE_AXIS cAxis,char cSpeedGear);
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_Stop();
|
||||
//===================================Rotary Table==================================
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_DCCHomeR();
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsHomedR(bool &bHomed);
|
||||
//Units:Rad
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_GetPositionR(double& dPos);
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_SetPositionR(double dAbsolutePos,bool bWait);
|
||||
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_DCCHome();
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsHomed(bool &bHomed);
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsFinished(bool &bFinished);
|
||||
//SpeedGear:1,2,3,4(Faster)
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_JogR(char cSpeedGear);
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_StopR();
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Motion_IsFinishedR(bool &bFinished);
|
||||
//==============================Illumination=======================================
|
||||
//Range value:0.0-100.0
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI Illumination_SetLampState(double dTopLightPercent,double dBottomLightPercent,double dCoaxialLightPercent,double dReservedLightPercent,double dRingLightPercent,char cOuterRingLightSwitch,char cInnerRingLightSwitch);
|
||||
//==============================CMD================================================
|
||||
EXP_IMP SSI_STATUS_MOTION WINAPI SEND_SYS_COMMAND(char Cmd,char SubCmd,char Type,char Data);
|
||||
|
||||
}
|
||||
BIN
Binary file not shown.
+6
-2
@@ -80,23 +80,27 @@
|
||||
<None Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\MicroVu\logger.h" />
|
||||
<ClInclude Include="..\..\..\SevenOcean\EF8000_Interface.h" />
|
||||
<ClInclude Include="..\..\..\SevenOcean\SO7_Proto.h" />
|
||||
<ClInclude Include="..\logger.h" />
|
||||
<ClInclude Include="MachineInterfaceDll.h" />
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
<ClInclude Include="targetver.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\MicroVu\LOGGER.CPP" />
|
||||
<ClCompile Include="..\..\..\SevenOcean\EF8000_Interface.cpp" />
|
||||
<ClCompile Include="..\..\..\SevenOcean\SO7_Proto.cpp" />
|
||||
<ClCompile Include="..\LOGGER.CPP" />
|
||||
<ClCompile Include="MachineInterfaceDll.cpp" />
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="MachineInterfaceDll.rc" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
|
||||
+10
-2
@@ -33,7 +33,10 @@
|
||||
<ClInclude Include="..\..\..\SevenOcean\SO7_Proto.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\MicroVu\logger.h">
|
||||
<ClInclude Include="..\logger.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="resource.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
@@ -50,8 +53,13 @@
|
||||
<ClCompile Include="..\..\..\SevenOcean\SO7_Proto.cpp">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\MicroVu\LOGGER.CPP">
|
||||
<ClCompile Include="..\LOGGER.CPP">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="MachineInterfaceDll.rc">
|
||||
<Filter>资源文件</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LocalDebuggerCommand>E:\Tony\MachineInterfaceUtility\PcDmis\Base\Interfac\Msi\Hsi\Tools\UsbUtility\Debug\Win32TestDll.exe</LocalDebuggerCommand>
|
||||
<LocalDebuggerCommand>
|
||||
</LocalDebuggerCommand>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,14 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by MachineInterfaceDll.rc
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 101
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1001
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
Reference in New Issue
Block a user