新增LKG5000的ethernet通信。

This commit is contained in:
TAO Cheng
2014-02-25 10:45:01 +08:00
parent 4e781a690f
commit 5b6de3f176
15 changed files with 351 additions and 84 deletions
@@ -33,7 +33,8 @@ void CKeyence_Laser_LK_H::KeyenceLaserInit(void)
m_hLkif=(HMODULE)LoadLibrary(GetAppPath()+_T("\\LKIF2.dll"));
if(m_hLkif)
{
m_pGetCalcDataMulti=(pLKIF2_GetCalcDataMulti)GetProcAddress(m_hLkif,"LKIF2_GetCalcDataMulti");
m_pGetCalcDataMulti=(pLKIF2_GetCalcDataMulti)GetProcAddress(m_hLkif,"LKIF2_GetCalcDataMulti");
m_pOpenDeviceETHER=(pLKIF2_OpenDeviceETHER)GetProcAddress(m_hLkif,"LKIF2_OpenDeviceETHER");
m_pOpenDeviceUsb=(pLKIF2_OpenDeviceUsb)GetProcAddress(m_hLkif,"LKIF2_OpenDeviceUsb");
m_pCloseDevice=(pLKIF2_CloseDevice)GetProcAddress(m_hLkif,"LKIF2_CloseDevice");
@@ -54,7 +55,6 @@ void CKeyence_Laser_LK_H::KeyenceLaserInit(void)
m_pDataStorageGetStatus=(pLKIF2_DataStorageGetStatus)GetProcAddress(m_hLkif,"LKIF2_DataStorageGetStatus");
m_pSetDataStorage=(pLKIF2_SetDataStorage)GetProcAddress(m_hLkif,"LKIF2_SetDataStorage");
m_result = m_pOpenDeviceUsb();
}
else
{
@@ -62,6 +62,46 @@ void CKeyence_Laser_LK_H::KeyenceLaserInit(void)
}
}
}
//========================================
BOOL CKeyence_Laser_LK_H::OpenDeviceUsb(void)
{
BOOL ReturnStatus(FALSE);
m_result = m_pOpenDeviceUsb();
if (m_result==RC_OK)
{
ReturnStatus=TRUE;
}
else
{
ReturnStatus=FALSE;
}
return ReturnStatus;
}
//========================================
BOOL CKeyence_Laser_LK_H::OpenDeviceEthernet(IN_ADDR _IPAddr)
{
BOOL ReturnStatus(FALSE);
LKIF_OPENPARAM_ETHERNET paramEther;
paramEther.IPAddress = _IPAddr;
if(paramEther.IPAddress.S_un.S_addr == INADDR_NONE)
{
ReturnStatus=FALSE;
}
else
{
m_result = LKIF2_OpenDeviceETHER(&paramEther);
if (m_result==RC_OK)
{
ReturnStatus=TRUE;
}
else
{
ReturnStatus=FALSE;
}
}
return ReturnStatus;
}
//==============================================
/***********************************************
LaserValue1:为第一个OUT01值
@@ -12,6 +12,7 @@
#include "LKIF2.h"
typedef RC (WINAPI* pLKIF2_GetCalcDataMulti)(IN LKIF_OUTNO OutNo, OUT LKIF_FLOATVALUE_OUT * CalcData);
typedef RC (WINAPI* pLKIF2_OpenDeviceETHER)(LKIF_OPENPARAM_ETHERNET * OpenParam);
typedef RC (WINAPI* pLKIF2_OpenDeviceUsb)(void);
typedef RC (WINAPI* pLKIF2_CloseDevice)(void);
typedef RC (WINAPI* pLKIF2_SetNumOfUsedOut)(IN int NumOfUsedHeads);//rang2-12
@@ -54,6 +55,7 @@ public:
//»ñÈ¡Êý¾ÝµÄº¯ÊýÖ¸Õë
pLKIF2_GetCalcDataMulti m_pGetCalcDataMulti;
pLKIF2_OpenDeviceETHER m_pOpenDeviceETHER;
pLKIF2_OpenDeviceUsb m_pOpenDeviceUsb;
pLKIF2_CloseDevice m_pCloseDevice;
pLKIF2_SetNumOfUsedOut m_SetNumOfUsedOut;
@@ -77,7 +79,9 @@ public:
BOOL m_bIsStorage;
void KeyenceLaserInit(void);
void Get_KeyenceLaserData(float *LaserValue1,float *LaserValue2);
BOOL OpenDeviceUsb(void);
BOOL OpenDeviceEthernet(IN_ADDR _IPAddr);
BOOL StartStoreData(int _StorageOutNumber,int _NeedStorageDataNumber,int _SampleTime);
BOOL StopStoreData();
BOOL GetStoreDataStatus();