82 lines
1.2 KiB
C++
82 lines
1.2 KiB
C++
#include "StdAfx.h"
|
|
#include "Keyence_Laser.h"
|
|
|
|
|
|
|
|
CKeyence_Laser::CKeyence_Laser()
|
|
{
|
|
}
|
|
|
|
CKeyence_Laser::~CKeyence_Laser()
|
|
{
|
|
|
|
}
|
|
|
|
|
|
void CKeyence_Laser::KeyenceLaserInit(void)
|
|
{
|
|
m_hLkif=LoadLibrary(_T("LkIF.dll"));
|
|
if(m_hLkif)
|
|
{
|
|
m_pGetCalcData=(pLKIF_GetCalcData)GetProcAddress(m_hLkif,"LKIF_GetCalcData");
|
|
|
|
}
|
|
|
|
}
|
|
void CKeyence_Laser::Get_KeyenceLaserData(float *LaserValue1,float *LaserValue2)
|
|
{
|
|
*LaserValue1=10;
|
|
*LaserValue2=10;
|
|
LKIF_FLOATVALUE GetVal1,GetVal2;
|
|
if((*m_pGetCalcData)(&GetVal1,&GetVal2)!=1)
|
|
{
|
|
return ;
|
|
}
|
|
switch(GetVal1.FloatResult)
|
|
{
|
|
case LKIF_FLOATRESULT_RANGEOVER_P:
|
|
{
|
|
*LaserValue1=50;
|
|
break;
|
|
}
|
|
case LKIF_FLOATRESULT_RANGEOVER_N:
|
|
{
|
|
*LaserValue1=-50;
|
|
break;
|
|
}
|
|
case LKIF_FLOATRESULT_WAITING:
|
|
{
|
|
*LaserValue1=0;
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
*LaserValue1=GetVal1.Value;
|
|
break;
|
|
}
|
|
}
|
|
|
|
switch(GetVal2.FloatResult)
|
|
{
|
|
case LKIF_FLOATRESULT_RANGEOVER_P:
|
|
{
|
|
*LaserValue2=50;
|
|
break;
|
|
}
|
|
case LKIF_FLOATRESULT_RANGEOVER_N:
|
|
{
|
|
*LaserValue2=-50;
|
|
break;
|
|
}
|
|
case LKIF_FLOATRESULT_WAITING:
|
|
{
|
|
*LaserValue2=0;
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
*LaserValue2=GetVal2.Value;
|
|
break;
|
|
}
|
|
}
|
|
} |