打开预留函数,方便定位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 #pragma endregion
#define USE_Motion_API
#ifdef USE_Motion_API #ifdef USE_Motion_API
#pragma region 后续考虑 #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_SET_DIO(UINT IOChannel, UINT _Status);
HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_SUPPORTED(UINT &Types); 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_GET_SPEED_XYZ(double &Speed);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_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_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_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_GET_SPEED_R(double &Speed);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_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_GET_ACCELERATION_R(double &AccelR);
//HSI_API HSI_STATUS WINAPI HSI_MOTION_SET_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_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_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_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_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_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_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_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_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_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_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_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_START();
//HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_STOP(); HSI_API HSI_STATUS WINAPI HSI_MOTION_DCC_SCAN_STOP();
//HSI_API HSI_STATUS WINAPI HSI_MOTION_IS_SUPPORTED_EX(UINT AxisTypes, UINT &Types); //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'; ErrorStr[Received] = '\0';
printf("Motion Error: %d [%s]\n", ErrorCode, ErrorStr); 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 else
@@ -1843,7 +1843,7 @@ HSI_STATUS HSI_Motion::JogOld(UINT AxisTypes, double Speed)
HSI_STATUS HSI_Motion::Jog(UINT AxisTypes, double Speed) HSI_STATUS HSI_Motion::Jog(UINT AxisTypes, double Speed)
{ {
auto rStatus = HSI_STATUS_NORMAL; 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 (g_pHSI_Motion)
{ {
if (m_DeviceType != 3) //·ÇתÅÌÉ豸 if (m_DeviceType != 3) //·ÇתÅÌÉ豸
@@ -4671,7 +4671,13 @@ HSI_STATUS HSI_Motion::GetDIO(UINT IOChannel, UINT& _Status)
return rStatus; 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; auto rStatus = HSI_STATUS_NORMAL;
if (g_pHSI_Motion) if (g_pHSI_Motion)
@@ -4724,7 +4730,65 @@ HSI_STATUS HSI_Motion::SetDIO(UINT IOChannel, UINT _Status)
} }
return rStatus; 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) 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 enum E_EF3_HOME_STATUS
{ {
E_EF3_HOME_NONE, E_EF3_HOME_NONE,//0表示从未回过回原点
//0表示从未回过回原点 E_EF3_HOME_ING,//1表示正在回原点
E_EF3_HOME_ING, E_EF3_HOME_FINISHED,//2表示已经回过原点
//1表示正在回原点
E_EF3_HOME_FINISHED,
//2表示已经回过原点
}; };
enum FUN_CMD //第一级指令 enum FUN_CMD //第一级指令
{ {
CT_MOTOR = 0x01, CT_MOTOR = 0x01,//MOTOR
//MOTOR CT_LIGHT,//LIGHT
CT_LIGHT, CT_PORT,//PORT
//LIGHT CT_ORDER,//ORDER
CT_PORT, CT_SOFTSTOP,//STOP
//PORT CT_GLUEDISPENSER,//点胶
CT_ORDER,
//ORDER
CT_SOFTSTOP,
//STOP
CT_GLUEDISPENSER,
//点胶
CT_TURNTABLE, CT_TURNTABLE,
}; };
enum MOTOR_CMD //第二级指令 enum MOTOR_CMD //第二级指令
{ {
CT_MOTOR_SET = 0x01, CT_MOTOR_SET = 0x01,
CT_START_JOG_POS, CT_START_JOG_POS,//
//
CT_START_JOG_NEG, CT_START_JOG_NEG,
CT_START_POSITION, CT_START_POSITION,//_POS,
//_POS,
CT_STOP, CT_STOP,
CT_GOHOME, CT_GOHOME,
CT_TRIGGER_DATA, CT_TRIGGER_DATA,
@@ -74,12 +63,11 @@ enum MOTOR_CMD //
CT_GLUEDISPENSER_SET, CT_GLUEDISPENSER_SET,
CT_GLUEDISPENSER_CLEAR, CT_GLUEDISPENSER_CLEAR,
CT_GLUEDISPENSER_START, CT_GLUEDISPENSER_START,
CT_GLUEDISPENSER_STOP, CT_GLUEDISPENSER_STOP,//转盘时启用
//转盘时启用
CT_RTSET, CT_RTSET,
CT_BINSDATA, CT_BINSDATA,
CT_RTSTOP, CT_RTSTOP,//
// CT_MOTOR_UPDATE, // up date all the aixs CT_MOTOR_UPDATE, // up date all the aixs
}; };
enum MOTOR_START_POSOTION // enum MOTOR_START_POSOTION //
@@ -286,6 +274,7 @@ public:
* \return * \return
*/ */
HSI_STATUS SetDIO(UINT IOChannel, UINT _Status); HSI_STATUS SetDIO(UINT IOChannel, UINT _Status);
HSI_STATUS SetDIOOld(UINT IOChannel, UINT _Status);
HSI_STATUS GetAxisStatus(int* _Status); HSI_STATUS GetAxisStatus(int* _Status);
HSI_STATUS GetAppPath(CString& Path); HSI_STATUS GetAppPath(CString& Path);
/** /**
@@ -645,8 +634,6 @@ private:
}; };
extern HSI_Motion* g_pHSI_Motion; extern HSI_Motion* g_pHSI_Motion;
extern void ErrorsHandler(const char* ErrorMessage, BOOL fCloseComm); //ACS 错误打印 extern void ErrorsHandler(const char* ErrorMessage, BOOL fCloseComm); //ACS 错误打印
#endif #endif
+2 -2
View File
@@ -12,5 +12,5 @@
#define HSI_VERSION_REVNUM #define HSI_VERSION_REVNUM
#define HSI_VERSION_BUILD_DATE _T(__DATE__ ) #define HSI_VERSION_BUILD_DATE _T(__DATE__ )
#define HSI_VERSION_BUILD_TIME _T(__TIME__ ) #define HSI_VERSION_BUILD_TIME _T(__TIME__ )
#define HSI_FILE_DESCRIPTION "2022.10.21 / 18:06 " #define HSI_FILE_DESCRIPTION "2022.11.01 / 11:45 "
#define HSI_FILE_CSDESCRIPTION _T("2022.10.21 / 18:06 ") #define HSI_FILE_CSDESCRIPTION _T("2022.11.01 / 11:45 ")
Binary file not shown.