// protocol for control SevenOcean's Machine // ////////////////////////////////////////////////////////////////////// #ifndef AFX_KEYENCE__LASER_H__B422904C_2CEB_495B_B7BD_B45AB30286DD__INCLUDED_ #define AFX_KEYENCE__LASER_H__B422904C_2CEB_495B_B7BD_B45AB30286DD__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "LkIF.h" //Get out DATA typedef BOOL (WINAPI* pLKIF_GetCalcData)(OUT LKIF_FLOATVALUE *CalcData1,OUT LKIF_FLOATVALUE *CalcData2); // Starting the Data Storage typedef BOOL (WINAPI* pLKIF_DataStorageStart)(void); // Stopping the Data Storage typedef BOOL (WINAPI* pLKIF_DataStorageStop)(void); // Initializing the Data Storage typedef BOOL (WINAPI* pLKIF_DataStorageInit)(void); // Outputting the Data Storage typedef BOOL (WINAPI* pLKIF_DataStorageGetData)(IN int OutNo,IN int NumOutBuffer,OUT LKIF_FLOATVALUE *OutBuffer,OUT int *NumReceived); // Data Storage Accumulation Status Output typedef BOOL (WINAPI* pLKIF_DataStorageGetStatus)(IN int OutNo,OUT BOOL *IsStorage,OUT int *NumStorageData); // Set Data Storage typedef BOOL (WINAPI* pLKIF_SetDataStorage)(IN LKIF_TARGETOUT TargetOut,IN int NumStorage,IN LKIF_STORAGECYCLE StorageCycle); // Program Change typedef BOOL (WINAPI* pLKIF_SETPROGRAMNO)(IN int ProgramNo); //====================================================================================== class CKeyence_Laser { protected: int m_iSetOutNo; int m_NeedStorageDataNumber; LKIF_STORAGECYCLE m_StorageCycle; HINSTANCE m_hLkif; public: CKeyence_Laser(); ~CKeyence_Laser(); //获取数据的函数指针 pLKIF_GetCalcData m_pGetCalcData; pLKIF_DataStorageStart m_pDataStorageStart; pLKIF_DataStorageStop m_pDataStorageStop; pLKIF_DataStorageInit m_pDataStorageInit; pLKIF_DataStorageGetData m_pDataStorageGetData; pLKIF_DataStorageGetStatus m_pDataStorageGetStatus; pLKIF_SetDataStorage m_pSetDataStorage; pLKIF_SETPROGRAMNO m_pSetProgramNo; int m_StoredDataNumber; BOOL m_bIsStorage; void KeyenceLaserInit(void); void Get_KeyenceLaserData(float *LaserValue1,float *LaserValue2); BOOL StartStoreData(int _NeedStorageDataNumber,int _SampleTime); BOOL StopStoreData(); BOOL GetStoreDataStatus(); BOOL GetStoredData(float *GetStorageData,int *GetStorageNumber); BOOL PauseScanAndGetData(float *GetStorageData,int *GetStorageNumber); BOOL SetProgramNO(int ProNO); }; #endif