Files
2013-07-11 22:08:30 +08:00

92 lines
3.9 KiB
C++

// 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);
// Program Change
typedef BOOL (WINAPI* pLKIF_SETPROGRAMNO)(IN int ProgramNo);
// Set Scaling
typedef BOOL (WINAPI* pLKIF_SetScaling)(IN int OutNo,IN int HeadNo,IN int InputValue1,IN int OutputValue1,IN int InputValue2,IN int OutputValue2);
typedef BOOL (WINAPI* pLKIF_GetScaling)(IN int OutNo,IN int HeadNo,OUT int *InputValue1,OUT int *OutputValue1,OUT int *InputValue2,OUT int *OutputValue2);
typedef BOOL (WINAPI* pLKIF_SetDisplayUnit)(IN int OutNo,IN LKIF_DISPLAYUNIT DisplayUnit);
typedef BOOL (WINAPI* pLKIF_GetDisplayUnit)(IN int OutNo,OUT LKIF_DISPLAYUNIT *DisplayUnit);
typedef BOOL (WINAPI* pLKIF_SetPanel)(IN int OutNo);
// Set Measurement Mode
typedef BOOL (WINAPI* pLKIF_SetMeasureMode)(IN int HeadNo,IN LKIF_MEASUREMODE MeasureMode);
typedef BOOL (WINAPI* pLKIF_SetCalcMethod)(IN int OutNo,IN LKIF_CALCMETHOD CalcMethod,LKIF_CALCTARGET CalcTarget);
typedef BOOL (WINAPI* pLKIF_SetMutualInterferencePrevention)(IN BOOL IsOn);
//======================================================================================
class CKeyence_Laser
{
protected:
int m_iSetOutNo;
int m_NeedStorageDataNumber;
LKIF_STORAGECYCLE m_StorageCycle;
HMODULE m_hLkif;
int m_ProgramNO;
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;
pLKIF_SetScaling m_pSetScaling;
pLKIF_GetScaling m_pGetScaling;
pLKIF_SetDisplayUnit m_pSetDisplayUnit;
pLKIF_GetDisplayUnit m_pGetDisplayUnit;
pLKIF_SetPanel m_pSetPanel;
pLKIF_SetMeasureMode m_pSetMeasureMode;
pLKIF_SetCalcMethod m_pSetCalcMethod;
pLKIF_SetMutualInterferencePrevention m_pSetMutualInterferencePrevention;
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);
BOOL SetOutValueScaling(double _CalibVal);
BOOL SetProgram(char _MeasureMode);
BOOL GetOutValueScaling(double* _CalibratedScale);
};
#endif