打开预留函数,方便定位Metus调用情况

This commit is contained in:
zhengxuan.zhang
2022-11-01 11:50:21 +08:00
parent 320f16e6fb
commit 196419beba
6 changed files with 106 additions and 54 deletions
+1
View File
@@ -377,6 +377,7 @@ HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_SUPPORTED(UINT& Types)
}
#pragma endregion
#define USE_Motion_API
#ifdef USE_Motion_API
#pragma region 后续考虑
+21 -21
View File
@@ -430,28 +430,28 @@ HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_DIO(UINT IOChannel, UINT& _Status);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_DIO(UINT IOChannel, UINT _Status);
HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_SUPPORTED(UINT &Types);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SPEED_XYZ(double &Speed);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_XYZ(double Speed);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ACCELERATION_XYZ(double &AccelX, double &AccelY, double &AccelZ);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_ACCELERATION_XYZ(double AccelX, double AccelY, double AccelZ);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SPEED_R(double &Speed);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_R(double Speed);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ACCELERATION_R(double &AccelR);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_ACCELERATION_R(double AccelR);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SCALE_RESOLUTION(double &ScaleX, double &ScaleY, double &ScaleZ);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SCALE_RESOLUTION(double ScaleX, double ScaleY, double ScaleZ);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_DEADBAND(double &DeadbandX, double &DeadbandY, double &DeadbandZ, double &DeadbandR);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_REFRESH_DEADBAND(double &Deadband);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITIONPROBE(UINT AxisTypes, double &PositionX, double &PositionY, double &PositionZ, double &PositionA);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ENCODER_XYZ(long *lEncVal);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_XYZ_CACHE(UINT AxisTypes, HSI_MOTION_MOVE_TYPE eType, int DataCount, Point *CacheData);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_R(UINT AxisTypes, double &PositionR, double &Time);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_R(UINT AxisTypes, double PositionR, HSI_MOTION_AXIS_R_MOVE_TYPE DirectionType, bool bWait);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_PLAN_SCAN(double *pdStartPosX, double *pdStartPosY, double *pdStartPosZ, double *pdEndPosX, double *pdEndPosY, double *pdEndPosZ, double *pdStepDis, bool *pbTrig, int iCount);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SPEED_XYZ(double &Speed);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_XYZ(double Speed);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ACCELERATION_XYZ(double &AccelX, double &AccelY, double &AccelZ);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_ACCELERATION_XYZ(double AccelX, double AccelY, double AccelZ);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SPEED_R(double &Speed);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SPEED_R(double Speed);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ACCELERATION_R(double &AccelR);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_ACCELERATION_R(double AccelR);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_SCALE_RESOLUTION(double &ScaleX, double &ScaleY, double &ScaleZ);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_SCALE_RESOLUTION(double ScaleX, double ScaleY, double ScaleZ);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_DEADBAND(double &DeadbandX, double &DeadbandY, double &DeadbandZ, double &DeadbandR);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_REFRESH_DEADBAND(double &Deadband);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITIONPROBE(UINT AxisTypes, double &PositionX, double &PositionY, double &PositionZ, double &PositionA);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_ENCODER_XYZ(long *lEncVal);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_XYZ_CACHE(UINT AxisTypes, HSI_MOTION_MOVE_TYPE eType, int DataCount, Point *CacheData);
HSI_API HSI_STATUS WINAPI HSI_MOTION_GET_POSITION_R(UINT AxisTypes, double &PositionR, double &Time);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_POSITION_R(UINT AxisTypes, double PositionR, HSI_MOTION_AXIS_R_MOVE_TYPE DirectionType, bool bWait);
HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_PLAN_SCAN(double *pdStartPosX, double *pdStartPosY, double *pdStartPosZ, double *pdEndPosX, double *pdEndPosY, double *pdEndPosZ, double *pdStepDis, bool *pbTrig, int iCount);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_SET_DATA(UINT AxisTypes, HSI_SCAN_MOTION_TYPE eType, UINT lTrigNumber, double* dTrigDis);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_START();
//HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_STOP();
HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_SET_DATA(UINT AxisTypes, HSI_SCAN_MOTION_TYPE eType, UINT lTrigNumber, double* dTrigDis);
HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_START();
HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_STOP();
//HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_SUPPORTED_EX(UINT AxisTypes, UINT &Types);
+67 -3
View File
@@ -92,7 +92,7 @@ void ErrorsHandler()
{
ErrorStr[Received] = '\0';
printf("Motion Error: %d [%s]\n", ErrorCode, ErrorStr);
g_pLogger->SendAndFlushWithTime(L"[ACS Motion] Motion Error, {%s}\n", ErrorStr);
g_pLogger->SendAndFlushWithTime(L"[ACS Motion] Motion Error %s\n",ErrorStr);
}
}
else
@@ -1843,7 +1843,7 @@ HSI_STATUS HSI_Motion::JogOld(UINT AxisTypes, double Speed)
HSI_STATUS HSI_Motion::Jog(UINT AxisTypes, double Speed)
{
auto rStatus = HSI_STATUS_NORMAL;
g_pLogger->SendAndFlushWithTime(L"[Jog] aixs: [%d] speed:[%d]\n", AxisTypes, Speed);
g_pLogger->SendAndFlushWithTime(L"[Jog] aixs: [%d] speed:[%lf]\n", AxisTypes, Speed);
if (g_pHSI_Motion)
{
if (m_DeviceType != 3) //·ÇתÅÌÉ豸
@@ -4671,7 +4671,13 @@ HSI_STATUS HSI_Motion::GetDIO(UINT IOChannel, UINT& _Status)
return rStatus;
}
//===========================================================================
HSI_STATUS HSI_Motion::SetDIO(UINT IOChannel, UINT _Status)
/**
* \brief
* \param IOChannel
* \param _Status
* \return
*/
HSI_STATUS HSI_Motion::SetDIOOld(UINT IOChannel, UINT _Status)
{
auto rStatus = HSI_STATUS_NORMAL;
if (g_pHSI_Motion)
@@ -4724,7 +4730,65 @@ HSI_STATUS HSI_Motion::SetDIO(UINT IOChannel, UINT _Status)
}
return rStatus;
}
HSI_STATUS HSI_Motion::SetDIO(UINT IOChannel, UINT _Status)
{
auto rStatus = HSI_STATUS_NORMAL;
if (g_pHSI_Motion)
{
if (m_bISUseMoreLights > 0 && (m_ForStatus != _Status))
{
if (m_Led8MotionFlag[m_selectedIndex])
{
m_ForStatus = _Status;
IOdata[0] = 0x02;
IOdata[1] = 0x02;
IOdata[2] = 0x01;
IOdata[6] = 0x04;
IOdata[7] = 0xff;
IOdata[8] = 0xff;
IOdata[9] = 0xff;
IOdata[10] = 0xff;
IOdata[14] = _Status & 0xff;
IOSend++;
}
else
{
m_ForStatus = _Status;
IOdata[0] = 0x02;
IOdata[1] = 0x02;
IOdata[2] = 0x01;
IOdata[3] = 0x36;
IOdata[4] = 0x04;
IOdata[7] = 0xff;
IOdata[8] = 0xff;
IOdata[9] = 0xff;
IOdata[10] = 0xff;
IOdata[11] = (_Status >> 24) & 0xff;
IOdata[12] = (_Status >> 16) & 0xff;
IOdata[13] = (_Status >> 8) & 0xff;
IOdata[14] = _Status & 0xff;
IOSend++;
}
}
if ((IOChannel == HSI_MOTION_OUTPUT_CH1)/* && (m_ForStatus != _Status)*/)
{
m_ForStatus = _Status;
m_cSendData[0] = CT_PORT;
m_cSendData[1] = 0x02;
m_cSendData[2] = (_Status >> 8) & 0xff;
m_cSendData[3] = _Status & 0xff;
m_WriteByte = Send_Command(0, (const char*)m_cSendData, m_SendDataLength);
Sleep(5);
}
}
//-----------TEST Begin------------------
_Status = 0;
//-----------TEST End------------------
return rStatus;
}
//===========================================================================
HSI_STATUS HSI_Motion::GetAxisStatus(int* _Status)
{
+15 -28
View File
@@ -28,39 +28,28 @@ enum E_SO7_MOTION_TYPE
enum E_EF3_HOME_STATUS
{
E_EF3_HOME_NONE,
//0表示从未回过回原点
E_EF3_HOME_ING,
//1表示正在回原点
E_EF3_HOME_FINISHED,
//2表示已经回过原点
E_EF3_HOME_NONE,//0表示从未回过回原点
E_EF3_HOME_ING,//1表示正在回原点
E_EF3_HOME_FINISHED,//2表示已经回过原点
};
enum FUN_CMD //第一级指令
{
CT_MOTOR = 0x01,
//MOTOR
CT_LIGHT,
//LIGHT
CT_PORT,
//PORT
CT_ORDER,
//ORDER
CT_SOFTSTOP,
//STOP
CT_GLUEDISPENSER,
//点胶
CT_MOTOR = 0x01,//MOTOR
CT_LIGHT,//LIGHT
CT_PORT,//PORT
CT_ORDER,//ORDER
CT_SOFTSTOP,//STOP
CT_GLUEDISPENSER,//点胶
CT_TURNTABLE,
};
enum MOTOR_CMD //第二级指令
{
CT_MOTOR_SET = 0x01,
CT_START_JOG_POS,
//
CT_START_JOG_POS,//
CT_START_JOG_NEG,
CT_START_POSITION,
//_POS,
CT_START_POSITION,//_POS,
CT_STOP,
CT_GOHOME,
CT_TRIGGER_DATA,
@@ -74,12 +63,11 @@ enum MOTOR_CMD //
CT_GLUEDISPENSER_SET,
CT_GLUEDISPENSER_CLEAR,
CT_GLUEDISPENSER_START,
CT_GLUEDISPENSER_STOP,
//转盘时启用
CT_GLUEDISPENSER_STOP,//转盘时启用
CT_RTSET,
CT_BINSDATA,
CT_RTSTOP,
// CT_MOTOR_UPDATE, // up date all the aixs
CT_RTSTOP,//
CT_MOTOR_UPDATE, // up date all the aixs
};
enum MOTOR_START_POSOTION //
@@ -286,6 +274,7 @@ public:
* \return
*/
HSI_STATUS SetDIO(UINT IOChannel, UINT _Status);
HSI_STATUS SetDIOOld(UINT IOChannel, UINT _Status);
HSI_STATUS GetAxisStatus(int* _Status);
HSI_STATUS GetAppPath(CString& Path);
/**
@@ -645,8 +634,6 @@ private:
};
extern HSI_Motion* g_pHSI_Motion;
extern void ErrorsHandler(const char* ErrorMessage, BOOL fCloseComm); //ACS 错误打印
#endif
+2 -2
View File
@@ -12,5 +12,5 @@
#define HSI_VERSION_REVNUM
#define HSI_VERSION_BUILD_DATE _T(__DATE__ )
#define HSI_VERSION_BUILD_TIME _T(__TIME__ )
#define HSI_FILE_DESCRIPTION "2022.10.21 / 18:06 "
#define HSI_FILE_CSDESCRIPTION _T("2022.10.21 / 18:06 ")
#define HSI_FILE_DESCRIPTION "2022.11.01 / 11:45 "
#define HSI_FILE_CSDESCRIPTION _T("2022.11.01 / 11:45 ")
Binary file not shown.