#pragma once #include "CUltraHead.h" #ifdef ULTRAHEAD_DIAGNOSIS_EXPORTS #define ULTRAHEAD_DIAGNOSIS_DLL_API __declspec(dllexport) #else #define ULTRAHEAD_DIAGNOSIS_DLL_API //__declspec(dllimport) #endif class ULTRAHEAD_DIAGNOSIS_DLL_API CUltraHeadDiagnosis { public: struct XY_ACCURACY_TEST { int nRepeatedNum = 0; int nTempId = 0; int nGrabDelay = 0; double dMovePosX = 0; double dMovePosY = 0; double dMovePosZ = 0; bool bMoveX = false; bool bMoveY = false; bool bMoveZ = false; int eSpeed = 2; //转为枚举 int acc = 0; //加速度 int dec = 0; //减速度 long lCurrBondIndex; bool bPickDie = true; bool bBondDie = true; bool bLookUpDie = true; }; private: CUltraHead* m_pCUltraHead = nullptr; vector m_vecConfig; XY_ACCURACY_TEST m_XY_AccuracyTestParam; HANDLE m_pRecvUltraNotice = NULL; HANDLE m_pRecvUltraDiagnosisNotice = NULL; LONG SetParam(); LONG GetParam(); LONG SetDataChangFunction(); void DataChangNotice(string strDbName, string strTableName); public: CUltraHeadDiagnosis(CUltraHead* pUltraHeade); ~CUltraHeadDiagnosis(); LONG BondHead_AccuracyTest(string cmd); LONG BondHead_PickBondTest(string cmd); long BondHead_PRAccuracyTest(); LONG BondHead_PickAndBond_Diagnosis(string cmd); long CreateAccuracyTestTemp(); void SetAccuracyTestTempId(int id) { m_XY_AccuracyTestParam.nTempId = id; SetParam(); } int GetAccuracyTestTempId() { return m_XY_AccuracyTestParam.nTempId;} };