75 lines
2.1 KiB
C++
75 lines
2.1 KiB
C++
#include "StdAfx.h"
|
|
#include <WinDef.h>
|
|
#include <WinBase.h>
|
|
#include "dll.h"
|
|
#include "So7_Interface.h "
|
|
|
|
#define MAX_STORAGE_DATA_SIZE 65536
|
|
|
|
CSo7_Interface::CSo7_Interface()
|
|
{
|
|
|
|
}
|
|
|
|
CSo7_Interface::~CSo7_Interface()
|
|
{
|
|
if(m_hImageDLL)
|
|
{
|
|
Pro_cmd(Exit_DLL,(LPARAM)&Image_Info);
|
|
Pro_cmd(VQUIT_DLL,(LPARAM)&Image_Info);
|
|
Pro_cmd(MCLOSE,(LPARAM)&Image_Info);
|
|
FreeLibrary(m_hImageDLL);
|
|
}
|
|
}
|
|
//========================================
|
|
void CSo7_Interface::InitDll(void)
|
|
{
|
|
m_hImageDLL=LoadLibrary(_T("Image.dll"));
|
|
if(m_hImageDLL)
|
|
{
|
|
Pro_cmd=(PRO_CMD)GetProcAddress(m_hImageDLL,"Pro_Cmd");
|
|
m_pGET_LASER_STORED_DATA=(GET_LASER_STORED_DATA)GetProcAddress(m_hImageDLL,"GetLaserStoredData");
|
|
m_pPAUSE_SCAN_AND_GET_LASER_DATA=(PAUSE_SCAN_AND_GET_LASER_DATA)GetProcAddress(m_hImageDLL,"PauseScanAndGetLaserData");
|
|
m_pGET_SCAN_LASER_STORAGE_STATUS=(GET_SCAN_LASER_STORAGE_STATUS)GetProcAddress(m_hImageDLL,"GetKeyenceStorageStatus");
|
|
|
|
Pro_cmd(VINIT_DLL,(LPARAM)&Image_Info);
|
|
Pro_cmd(MINIT_USB,(LPARAM)&Image_Info);
|
|
|
|
|
|
}
|
|
}
|
|
//========================================
|
|
void CSo7_Interface::StartStoreData(void)
|
|
{
|
|
Image_Info.gScanLaserPntsNumber=500;
|
|
Image_Info.gScanLaserPntsSampleTime=20;
|
|
Pro_cmd(START_SCAN_LASER_POINTS,(LPARAM)&Image_Info);
|
|
}
|
|
//========================================
|
|
void CSo7_Interface::StopStoreData(void)
|
|
{
|
|
Pro_cmd(STOP_SCAN_LASER_POINTS,(LPARAM)&Image_Info);
|
|
}
|
|
//========================================
|
|
void CSo7_Interface::GetStorageStatus(void)
|
|
{
|
|
int _bIsStorage(0),_StoredDataNumber(0);
|
|
Pro_cmd(GET_SCAN_LASER_STATUS,(LPARAM)&Image_Info);
|
|
_bIsStorage = Image_Info.gIsLaserStorage;
|
|
_StoredDataNumber= Image_Info.gLaserStoredNumber;
|
|
}
|
|
//========================================
|
|
void CSo7_Interface::GetStoredData(void)
|
|
{
|
|
float Laserval[1000];
|
|
int LaserNum(0);
|
|
m_pGET_LASER_STORED_DATA(Laserval,&LaserNum);
|
|
}
|
|
//========================================
|
|
void CSo7_Interface::PauseScanAndGetData(void)
|
|
{
|
|
float Laserval[1000];
|
|
int LaserNum(0);
|
|
m_pPAUSE_SCAN_AND_GET_LASER_DATA(Laserval,&LaserNum);
|
|
}
|