// protocol for control SevenOcean's Machine // ////////////////////////////////////////////////////////////////////// #ifndef SO7_INTERFACE_H_INCLUDED_ #define SO7_INTERFACE_H_INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 typedef int (WINAPI* pGetLaserStoredData) (float *GetStorageData,int *GetStorageNumber); // 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); //====================================================================================== class CSo7_Interface { protected: int m_iSetOutNo; int m_NeedStorageDataNumber; LKIF_STORAGECYCLE m_StorageCycle; HINSTANCE m_hImageDLL; public: CSo7_Interface(); ~CSo7_Interface(); //获取数据的函数指针 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; 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); }; #endif