新增IO口状态的读取和速度参数保存为EF8000 DAT文件格式。
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
#include "StdAfx.h"
|
||||
#include <WinDef.h>
|
||||
#include <WinBase.h>
|
||||
#include <math.h>
|
||||
#include "EF8000_Interface.h "
|
||||
|
||||
|
||||
CEF8000_Interface::CEF8000_Interface()
|
||||
{
|
||||
for (int j=0;j<15;j++)
|
||||
{
|
||||
for (int i=0;i<4;i++)
|
||||
{
|
||||
Set_Speed[j][i]=0;
|
||||
}
|
||||
}
|
||||
for (int i=0;i<15;i++)
|
||||
{
|
||||
slow_dis[i]=0.0;
|
||||
}
|
||||
for (int i=0;i<3;i++)
|
||||
{
|
||||
g_precision[i]=0.0;
|
||||
}
|
||||
}
|
||||
|
||||
CEF8000_Interface::~CEF8000_Interface()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
BOOL CEF8000_Interface::SaveSpeedParameter(CString _FileName)
|
||||
{
|
||||
FILE* iFileHandle=NULL;
|
||||
iFileHandle=FileOpen(_FileName,fmOpenWrite);
|
||||
if (iFileHandle)
|
||||
{
|
||||
FileSeek(iFileHandle,0,0);
|
||||
FileWrite(iFileHandle,&Set_Speed,sizeof(Set_Speed));
|
||||
FileWrite(iFileHandle,&slow_dis,sizeof(slow_dis));
|
||||
FileWrite(iFileHandle,&g_precision,sizeof(g_precision));
|
||||
FileWrite(iFileHandle,&Image_Info.m_Motor_Dx,sizeof(Image_Info.m_Motor_Dx));
|
||||
FileWrite(iFileHandle,&Image_Info.m_Motor_Dy,sizeof(Image_Info.m_Motor_Dy));
|
||||
FileWrite(iFileHandle,&Image_Info.m_Motor_Dz,sizeof(Image_Info.m_Motor_Dz));
|
||||
FileWrite(iFileHandle,&Image_Info.m_Motor_Plus_Num,sizeof(Image_Info.m_Motor_Plus_Num));
|
||||
FileClose(iFileHandle);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
BOOL CEF8000_Interface::OpenSpeedParameter(CString _FileName)
|
||||
{
|
||||
FILE* iFileHandle=NULL;
|
||||
iFileHandle=FileOpen(_FileName,fmOpenRead);
|
||||
if (iFileHandle)
|
||||
{
|
||||
FileSeek(iFileHandle,0,0);
|
||||
FileRead(iFileHandle,&Set_Speed,sizeof(Set_Speed));
|
||||
FileRead(iFileHandle,&slow_dis,sizeof(slow_dis));
|
||||
FileRead(iFileHandle,&g_precision,sizeof(g_precision));
|
||||
FileRead(iFileHandle,&Image_Info.m_Motor_Dx,sizeof(Image_Info.m_Motor_Dx));
|
||||
FileRead(iFileHandle,&Image_Info.m_Motor_Dy,sizeof(Image_Info.m_Motor_Dy));
|
||||
FileRead(iFileHandle,&Image_Info.m_Motor_Dz,sizeof(Image_Info.m_Motor_Dz));
|
||||
FileRead(iFileHandle,&Image_Info.m_Motor_Plus_Num,sizeof(Image_Info.m_Motor_Plus_Num));
|
||||
FileClose(iFileHandle);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
//=============================================================
|
||||
FILE* CEF8000_Interface::FileOpen(const CString filename,const int Mode)
|
||||
{
|
||||
CString fileMode(_T("rb"));
|
||||
switch (Mode)
|
||||
{
|
||||
case fmOpenRead: fileMode =_T("rb"); break;
|
||||
case fmOpenWrite: fileMode =_T("wb"); break;
|
||||
case fmOpenReadWrite:fileMode =_T("wb+"); break;
|
||||
}
|
||||
FILE *FileStream = _tfopen(filename, fileMode);
|
||||
return FileStream;
|
||||
|
||||
};
|
||||
//===========================================================
|
||||
int CEF8000_Interface::FileSeek(FILE * _Handle, long _Offset, int _Origin)
|
||||
{
|
||||
return fseek(_Handle,_Offset,_Origin);
|
||||
};
|
||||
|
||||
//===========================================================
|
||||
int CEF8000_Interface::FileRead(FILE * _Handle, void *_Buffer, int _Count)
|
||||
{
|
||||
size_t t(0);
|
||||
t= fread(_Buffer,_Count,1,_Handle);
|
||||
return _Count;
|
||||
};
|
||||
|
||||
//===========================================================
|
||||
int CEF8000_Interface::FileWrite(FILE * _Handle, const void *_Buffer, int _Count)
|
||||
{
|
||||
fwrite(_Buffer,_Count,1,_Handle);
|
||||
return _Count;
|
||||
};
|
||||
//===========================================================
|
||||
int CEF8000_Interface::FileClose(FILE * _Handle)
|
||||
{
|
||||
return fclose(_Handle);
|
||||
};
|
||||
Reference in New Issue
Block a user