新增IO口状态的读取和速度参数保存为EF8000 DAT文件格式。

This commit is contained in:
TAO Cheng
2013-06-20 11:18:44 +08:00
parent d8d357c553
commit e842462af2
17 changed files with 1459 additions and 73 deletions
@@ -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);
};