#include "StdAfx.h" #include #include #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); }