新增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);
|
||||
};
|
||||
@@ -0,0 +1,602 @@
|
||||
// protocol for control SevenOcean's Machine
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
#ifndef EF8000_INTERFACE_H_INCLUDED_
|
||||
#define EF8000_INTERFACE_H_INCLUDED_
|
||||
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
#include "DLL.h"
|
||||
|
||||
|
||||
#pragma pack(push)
|
||||
#pragma pack(16)
|
||||
/*
|
||||
struct PointDB
|
||||
{
|
||||
double _x;
|
||||
double _y;
|
||||
PointDB()
|
||||
{
|
||||
_x=0.0;
|
||||
_y=0.0;
|
||||
}
|
||||
|
||||
PointDB(double x,double y)
|
||||
{
|
||||
_x=x;
|
||||
_y=y;
|
||||
}
|
||||
|
||||
PointDB operator-(PointDB& pot)
|
||||
{
|
||||
PointDB temp;
|
||||
temp._x=_x-pot._x;
|
||||
temp._y=_y-pot._y;
|
||||
return temp;
|
||||
}
|
||||
|
||||
PointDB operator+(PointDB& pot)
|
||||
{
|
||||
PointDB temp;
|
||||
temp._x=_x+pot._x;
|
||||
temp._y=_y+pot._y;
|
||||
return temp;
|
||||
}
|
||||
|
||||
PointDB operator/(double div)
|
||||
{
|
||||
PointDB temp;
|
||||
temp._x=_x/div;
|
||||
temp._y=_y/div;
|
||||
return temp;
|
||||
}
|
||||
|
||||
PointDB operator*(double mul)
|
||||
{
|
||||
PointDB temp;
|
||||
temp._x=_x*mul;
|
||||
temp._y=_y*mul;
|
||||
return temp;
|
||||
}
|
||||
bool operator==(PointDB& pot) { return _x==pot._x&&_y==pot._y; }
|
||||
PointDB operator=(PointDB pot) { _x=pot._x; _y=pot._y; return (*this); }
|
||||
double length()
|
||||
{
|
||||
return sqrt(_x*_x+_y*_y);
|
||||
}
|
||||
};
|
||||
|
||||
typedef struct light_value
|
||||
{
|
||||
char top_value;
|
||||
char bom_value;
|
||||
char fan_value;
|
||||
char bom1_value;
|
||||
char bom2_value;
|
||||
char fan1_switch;
|
||||
char fan2_switch;
|
||||
}g_light2;
|
||||
|
||||
typedef struct Dev_Info
|
||||
{
|
||||
//CWnd * m_cWnd;
|
||||
HWND g_USB_hWnd;
|
||||
HWND g_hWnd_Display;//显示主窗口
|
||||
HWND g_hWnd_Msg;//消息主窗口
|
||||
int g_Card_Num;
|
||||
int g_Card_No;
|
||||
int g_Switch_No;//显示通道
|
||||
int g_Width;
|
||||
int g_Height;
|
||||
// BYTE pBuf[640*480*2];
|
||||
int g_Sharpness; //锐度
|
||||
int g_Saturation;//饱和度
|
||||
int g_Hue;//色度
|
||||
int g_Contrast;//对比度
|
||||
int g_Brightness;//亮度
|
||||
char g_Picture_Type;//0-bmp,1-jpg
|
||||
char StrFileName[50];
|
||||
int cap_xa;
|
||||
int cap_ya;
|
||||
int cap_xb;
|
||||
int cap_yb;
|
||||
int disp_xa;
|
||||
int disp_ya;
|
||||
int disp_xb;
|
||||
int disp_yb;
|
||||
char IOin;
|
||||
char IOout;
|
||||
|
||||
BYTE RD_Usb_Dat[64];
|
||||
BYTE WR_Usb_Dat[64];
|
||||
BYTE User_Dat[250];
|
||||
unsigned long RD_Usb_Dat_Length;
|
||||
unsigned long WR_Usb_Dat_Length;
|
||||
char MoveX_Value;
|
||||
char MoveY_Value;
|
||||
char MoveZ_Value;
|
||||
char MoveV_Value;
|
||||
double MoveToX_Value;
|
||||
double MoveToY_Value;
|
||||
double MoveToZ_Value;
|
||||
char MoveToV_Value;
|
||||
double MaxisX;
|
||||
double MaxisY;
|
||||
double MaxisZ;
|
||||
int Fan_Light_Size;
|
||||
int Top_Light_Size;
|
||||
int Bottom_Light_Size;
|
||||
char Light_Value[14];
|
||||
char Light_Switch;
|
||||
int light_size_value;
|
||||
|
||||
BYTE *pBit;
|
||||
int startX;
|
||||
int startY;
|
||||
int nWidth;
|
||||
int nHeight;
|
||||
double coorX;
|
||||
double coorY;
|
||||
int coorX_Off;
|
||||
int coorY_Off;
|
||||
double ValueZ;
|
||||
char rect_flag;
|
||||
int bar_type;
|
||||
int bar_num;
|
||||
|
||||
char g_type;
|
||||
char g_mode;
|
||||
char g_base;
|
||||
char g_fresh;
|
||||
char g_start;
|
||||
char g_hold;
|
||||
float g_slow;
|
||||
float g_precision;
|
||||
char get_xy_flag_num;
|
||||
char draw_num;
|
||||
int bar_dir;
|
||||
int Dog_Cmd;
|
||||
int User_Dat_Len;
|
||||
int MaxisX_Dir;
|
||||
int MaxisY_Dir;
|
||||
int MaxisZ_Dir;
|
||||
char Face_Flag;
|
||||
//double Get_Axis_Z[SET_FACE_NUM];
|
||||
//double Get_Image_Value[SET_FACE_NUM];
|
||||
int g_Face_Index;
|
||||
double Org_AbsX;
|
||||
double Org_AbsY;
|
||||
double Org_AbsZ;
|
||||
|
||||
|
||||
|
||||
double g_Bar_Scalex;
|
||||
double g_Bar_Scaley;
|
||||
|
||||
double g_Bar_Orgx;
|
||||
double g_Bar_Orgy;
|
||||
|
||||
double g_Bar_curx;
|
||||
double g_Bar_cury;
|
||||
|
||||
double MaxisX1;
|
||||
double MaxisY1;
|
||||
double MaxisZ1;
|
||||
double MaxisX_Scale;
|
||||
double MaxisY_Scale;
|
||||
double MaxisZ_Scale;
|
||||
|
||||
double g_Bar_dirx;
|
||||
double g_Bar_diry;
|
||||
|
||||
int Bar_fresh_flag;
|
||||
|
||||
char Usb_Cmd;
|
||||
char m_Usb_Cmd;
|
||||
char m_Usb_type;
|
||||
double m_Usb_dat;
|
||||
|
||||
double g_Bar_LineScaleX;
|
||||
double g_Bar_LineScaleY;
|
||||
double ResultVZ;
|
||||
|
||||
char Diy_Face_Flag;
|
||||
double Diy_x;
|
||||
double Diy_y;
|
||||
|
||||
double Face_Long_Dis;
|
||||
double Face_Short_Dis;
|
||||
double Face_Long_Step;
|
||||
double Face_Short_Step;
|
||||
|
||||
int Mdat1;
|
||||
int Mdat2;
|
||||
int Mdat3;
|
||||
int Mdat4;
|
||||
int Mdat5;
|
||||
int Mdat6;
|
||||
|
||||
int Mdat;
|
||||
char value;
|
||||
|
||||
long Max_ToV;
|
||||
int Min_ToV;
|
||||
int g_Rule_Type;//1,旧板,2-新板
|
||||
unsigned long g_Axis_V;
|
||||
long Org_AbsV;
|
||||
int BarCode_Width;
|
||||
int BarCode_Height;
|
||||
|
||||
double XT_scale;
|
||||
double XM_scale;
|
||||
double XB_scale;
|
||||
|
||||
double YL_scale;
|
||||
double YM_scale;
|
||||
double YR_scale;
|
||||
|
||||
char Enable_Face_flag;
|
||||
char g_Check_BarCode_Flag ;
|
||||
//FP g_BarCode_List[BAR_CODE_WIDTH*BAR_CODE_HEIGHT];
|
||||
// vector <FP> g_BarCode_List;
|
||||
|
||||
g_light2 g_light1;
|
||||
char g_sys_reset_flag;
|
||||
char Adc_Num;
|
||||
int Adc_Value[10];
|
||||
char Adc_No;
|
||||
int g_Adc_Value;
|
||||
|
||||
int motor_type;
|
||||
|
||||
double motor_ScaleX;
|
||||
double motor_ScaleY;
|
||||
double motor_ScaleZ;
|
||||
|
||||
char motor_check_flag;
|
||||
char g_video_type;
|
||||
|
||||
char bar_XY_type;//barcode XY 读数坐标对换
|
||||
|
||||
char Set_Current_Flag;
|
||||
//video_80M g_video_80M;
|
||||
|
||||
|
||||
char m_Aeen;
|
||||
BYTE m_AeTarget;
|
||||
int m_BGain;
|
||||
char m_bColorCorrect;
|
||||
BYTE m_Contrast;
|
||||
int m_ExpTime;
|
||||
int m_AnalogGain;
|
||||
BYTE m_Gamma;
|
||||
int m_GGain;
|
||||
int m_RGain;
|
||||
BYTE m_Saturation;
|
||||
BYTE m_FrameSpeed;
|
||||
UINT m_StrobleDelay;
|
||||
UINT m_StrobleDuration;
|
||||
UINT m_TriggerDelay;
|
||||
char m_Mode;
|
||||
char m_Save_Mode;
|
||||
UINT m_RawTime;
|
||||
|
||||
double m_Motor_Dx;
|
||||
double m_Motor_Dy;
|
||||
double m_Motor_Dz;
|
||||
int m_Motor_Plus_Num;
|
||||
char m_face_mode;
|
||||
char g_M_Count_Flag;
|
||||
char Get_Plc_Dat;
|
||||
char Set_Plc_Dat;
|
||||
|
||||
double g_ProbeX;
|
||||
double g_ProbeY;
|
||||
double g_ProbeZ;
|
||||
char g_video_type1;
|
||||
int g_Cap_Image;
|
||||
double g_Angle;
|
||||
char g_Debug_Video;
|
||||
int bar_Len_Type;
|
||||
int g_BarY_dir;
|
||||
float g_Lase1;
|
||||
float g_Lase2;
|
||||
char g_BarCode_Dir_Flag;
|
||||
|
||||
int g_HOff1;// = 1192;
|
||||
int g_VOff1;
|
||||
int g_HOff2;// = 1192;
|
||||
int g_VOff2;
|
||||
int g_Add_Pic_Flag;
|
||||
int Lase_USB_Type;
|
||||
int g_OScreen_Flag;
|
||||
|
||||
bool g_Mon;
|
||||
bool g_MirrorV;
|
||||
bool g_MirrorH;
|
||||
char g_M1k_Mode;
|
||||
int BarCodeX;
|
||||
int BarCodeY;
|
||||
int RunBar_Mode;
|
||||
|
||||
float Axis_X;
|
||||
float Axis_Y;
|
||||
|
||||
float Bar_Ofx;
|
||||
float Bar_Ofy;
|
||||
float Bar_X;
|
||||
float Bar_Y;
|
||||
|
||||
int Bar_Filter_Mode;
|
||||
int g_Set_Area_Flag;
|
||||
PointDB g_Set_Areas[5];
|
||||
int gFrameKey;
|
||||
|
||||
float Bar_Scale_Unit;
|
||||
int g_ITO_Flag;
|
||||
int g_face_flag;
|
||||
|
||||
int g_Nav_Flag;
|
||||
int g_Video_Input_Mode;
|
||||
int gAutoZoomFlag;
|
||||
|
||||
Dev_Info()
|
||||
{
|
||||
g_hWnd_Display = NULL;
|
||||
g_hWnd_Msg = NULL;
|
||||
g_Card_Num = 0;
|
||||
g_Card_No = 0;
|
||||
g_Switch_No = 0;
|
||||
g_Width = 640;
|
||||
g_Height = 480;
|
||||
g_Sharpness = 0;
|
||||
g_Saturation = 0;
|
||||
g_Hue = 0;
|
||||
g_Contrast = 0;
|
||||
g_Picture_Type = 0;
|
||||
|
||||
cap_xa = 0;
|
||||
cap_ya = 0;
|
||||
cap_xb = 640;
|
||||
cap_yb = 480;
|
||||
|
||||
disp_xa = 0;
|
||||
disp_ya = 0;
|
||||
disp_xb = 640;
|
||||
disp_yb = 480;
|
||||
|
||||
IOin = 0;
|
||||
IOout = 0;
|
||||
RD_Usb_Dat_Length=0;
|
||||
WR_Usb_Dat_Length=0;
|
||||
MoveX_Value=0;
|
||||
MoveY_Value=0;
|
||||
MoveZ_Value=0;
|
||||
MoveV_Value=0;
|
||||
MoveToX_Value=0;
|
||||
MoveToY_Value=0;
|
||||
MoveToZ_Value=0;
|
||||
MoveToV_Value=0;
|
||||
MaxisX=0;
|
||||
MaxisY=0;
|
||||
MaxisZ=0;
|
||||
Fan_Light_Size=0;
|
||||
Top_Light_Size=0;
|
||||
Bottom_Light_Size=0;
|
||||
Light_Switch=0;
|
||||
light_size_value=0;
|
||||
|
||||
pBit=NULL;
|
||||
startX=0;
|
||||
startY=0;
|
||||
nWidth=0;
|
||||
nHeight=0;
|
||||
coorX=0;
|
||||
coorY=0;
|
||||
coorX_Off=0;
|
||||
coorY_Off=0;
|
||||
ValueZ=0;
|
||||
rect_flag=0;
|
||||
bar_type=2;
|
||||
bar_num=10;
|
||||
|
||||
g_mode=1;
|
||||
g_base=10;
|
||||
g_fresh=10;
|
||||
g_start=100;
|
||||
g_hold=10;
|
||||
g_slow=1;
|
||||
g_precision=(float)0.005;
|
||||
get_xy_flag_num=3;
|
||||
draw_num=0;
|
||||
bar_dir=0;
|
||||
Dog_Cmd=0;
|
||||
User_Dat_Len=0;
|
||||
MaxisX_Dir=1;
|
||||
MaxisY_Dir=1;
|
||||
MaxisZ_Dir=1;
|
||||
Face_Flag=0;
|
||||
g_Face_Index=150;
|
||||
Org_AbsX=0;
|
||||
Org_AbsY=0;
|
||||
Org_AbsZ=0;
|
||||
|
||||
g_Bar_Scalex=0.00242209;
|
||||
g_Bar_Scaley=0.00247525;
|
||||
g_Bar_Orgx=0;
|
||||
g_Bar_Orgy=0;
|
||||
g_Bar_curx=0;
|
||||
g_Bar_cury=0;
|
||||
|
||||
MaxisX1=0;
|
||||
MaxisY1=0;
|
||||
|
||||
g_Bar_dirx=1;
|
||||
g_Bar_diry=-1;
|
||||
Bar_fresh_flag=0;
|
||||
|
||||
Usb_Cmd=0;
|
||||
m_Usb_Cmd=0;
|
||||
m_Usb_type=0;
|
||||
m_Usb_dat=0;
|
||||
|
||||
MaxisX_Scale=0.5;
|
||||
MaxisY_Scale=0.5;
|
||||
MaxisZ_Scale=0.5;
|
||||
|
||||
g_Bar_LineScaleX=1;
|
||||
g_Bar_LineScaleY=1;
|
||||
ResultVZ=0;
|
||||
Diy_Face_Flag=0;
|
||||
Diy_x = 0;
|
||||
Diy_y = 0;
|
||||
|
||||
Face_Long_Dis = 0;
|
||||
Face_Short_Dis = 0;
|
||||
Face_Long_Step = 0;
|
||||
Face_Short_Step = 0;
|
||||
|
||||
Mdat1 = 0;
|
||||
Mdat2 = 0;
|
||||
Mdat3 = 0;
|
||||
Mdat4 = 0;
|
||||
Mdat5 = 0;
|
||||
Mdat6 = 0;
|
||||
|
||||
Mdat = 0;
|
||||
value = 0;
|
||||
|
||||
Max_ToV = 2800;
|
||||
Min_ToV = 10;
|
||||
g_Rule_Type = 2;
|
||||
g_Axis_V = 0;
|
||||
Org_AbsV = 0;
|
||||
BarCode_Width = 600;
|
||||
BarCode_Height = 500;
|
||||
|
||||
XT_scale = 1;
|
||||
XM_scale = 1;
|
||||
XB_scale = 1;
|
||||
|
||||
YL_scale = 1;
|
||||
YM_scale = 1;
|
||||
YR_scale = 1;
|
||||
Enable_Face_flag = 0;
|
||||
g_Check_BarCode_Flag = 0;
|
||||
g_sys_reset_flag = 0;
|
||||
Adc_Num = 0;
|
||||
Adc_No = 0;
|
||||
g_Adc_Value = 0;
|
||||
motor_type = 0;
|
||||
|
||||
motor_ScaleX = 0.001;
|
||||
motor_ScaleY = 0.001;
|
||||
motor_ScaleZ = 0.001;
|
||||
|
||||
motor_check_flag = 0;
|
||||
g_video_type = 0;
|
||||
|
||||
bar_XY_type = 1;
|
||||
Set_Current_Flag = 0;
|
||||
|
||||
m_Aeen=0;
|
||||
m_AeTarget=1;
|
||||
m_BGain=1;
|
||||
m_bColorCorrect=0;
|
||||
m_Contrast=1;
|
||||
m_ExpTime=1;
|
||||
m_AnalogGain=5;
|
||||
m_Gamma=5;
|
||||
m_GGain=10;
|
||||
m_RGain=10;
|
||||
m_Saturation=1;
|
||||
m_FrameSpeed=5;
|
||||
m_StrobleDelay=5;
|
||||
m_StrobleDuration=5;
|
||||
m_TriggerDelay=5;
|
||||
m_Mode=3;
|
||||
m_Save_Mode=0;
|
||||
m_RawTime=1;
|
||||
|
||||
m_Motor_Dx=1.5;
|
||||
m_Motor_Dy=1.5;
|
||||
m_Motor_Dz=1.5;
|
||||
m_Motor_Plus_Num=10000;
|
||||
m_face_mode = 1;
|
||||
g_M_Count_Flag=0;
|
||||
g_video_type1=1;
|
||||
g_Cap_Image=0;
|
||||
g_Angle=0;
|
||||
g_Debug_Video=0;
|
||||
bar_Len_Type=0;
|
||||
g_BarY_dir=1;
|
||||
g_Lase1=0;
|
||||
g_Lase2=0;
|
||||
g_BarCode_Dir_Flag=0;
|
||||
|
||||
g_HOff1 = 1192;
|
||||
g_VOff1 = 1134;
|
||||
|
||||
g_HOff2 = 1192;
|
||||
g_VOff2 = 1134;
|
||||
g_Add_Pic_Flag=0;
|
||||
Lase_USB_Type=0;
|
||||
g_OScreen_Flag=0;
|
||||
g_MirrorV=0;
|
||||
g_MirrorH=0;
|
||||
g_M1k_Mode=0;
|
||||
g_Mon=0;
|
||||
|
||||
BarCodeX=0;
|
||||
BarCodeY=0;
|
||||
RunBar_Mode=0;
|
||||
Bar_Filter_Mode=0;
|
||||
g_Set_Area_Flag=0;
|
||||
gFrameKey=10;
|
||||
Bar_Scale_Unit=0.5;
|
||||
g_ITO_Flag=0;
|
||||
g_face_flag=0;
|
||||
g_Nav_Flag=0;
|
||||
g_Video_Input_Mode=0;
|
||||
gAutoZoomFlag=0;
|
||||
|
||||
};
|
||||
}g_Dev_Info;
|
||||
*/
|
||||
enum FileHandleMode
|
||||
{
|
||||
fmOpenRead=0,
|
||||
fmOpenWrite,
|
||||
fmOpenReadWrite
|
||||
};
|
||||
|
||||
//======================================================================================
|
||||
class CEF8000_Interface
|
||||
{
|
||||
public:
|
||||
BYTE Set_Speed[15][4];
|
||||
double slow_dis[15];
|
||||
double g_precision[3];
|
||||
Dev_Info Image_Info;
|
||||
|
||||
public:
|
||||
CEF8000_Interface();
|
||||
~CEF8000_Interface();
|
||||
BOOL SaveSpeedParameter(CString _FileName);
|
||||
BOOL OpenSpeedParameter(CString _FileName);
|
||||
|
||||
protected:
|
||||
FILE* FileOpen(const CString filename,const int Mode);
|
||||
int FileSeek(FILE * _Handle, long _Offset, int _Origin);
|
||||
int FileRead(FILE * _Handle, void *_Buffer, int _Count);
|
||||
int FileWrite(FILE * _Handle, const void *_Buffer, int _Count);
|
||||
int FileClose(FILE * _Handle);
|
||||
|
||||
};
|
||||
|
||||
#pragma pack(pop)
|
||||
#endif
|
||||
@@ -218,7 +218,11 @@ void CSO7_Proto::_process_rcv_transfer_data(int iEP)
|
||||
break;
|
||||
case CT_READ_AXISV:
|
||||
_process_SO7_CMD_READ_V_DATA();
|
||||
break;
|
||||
case CT_READ_IO_DAT:
|
||||
_process_SO7_CMD_READ_INPUT_PORT_STATUS();
|
||||
break;
|
||||
|
||||
default:
|
||||
TRACE1("_process_rcv_transfer_data() : Unknown ep_buff[EP_02_CMD_IDX]._save_send_cmd : %X \r\n", ep_buff[EP_02_CMD_IDX]._save_send_cmd);
|
||||
TRACE1("_process_rcv_transfer_data() : Unknown ep_buff[EP_81_DATA_IDX]._buffer[0] : %X \r\n", ep_buff[EP_81_DATA_IDX]._buffer[0]);
|
||||
@@ -506,6 +510,7 @@ CSO7_Proto::CSO7_Proto()
|
||||
g_machine.s_machine_config._dXYZSpeed=50;
|
||||
g_machine.InterruptFlag[0]=0;
|
||||
g_machine.InterruptFlag[1]=0;
|
||||
g_machine.InPortStatus=0;
|
||||
so7_motion_reset_controller_parameter();
|
||||
m_bHomingActive = false;
|
||||
g_pLogger = new CLogger(_T("\\UtilityDebug.Log"));
|
||||
@@ -3956,6 +3961,25 @@ SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_OPEN_KEYENCE_LASER()
|
||||
ReleaseMutex(g_hEP02_Serial_Mutex);
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
//==============================================================
|
||||
SSI_STATUS_MOTION CSO7_Proto::_send_cmd_SO7_CMD_READ_INPUT_PORT_STATUS(char AddrType)
|
||||
{
|
||||
WaitForSingleObject(g_hEP02_Serial_Mutex, INFINITE);
|
||||
memset(ep_buff[EP_02_CMD_IDX]._buffer, 0x00, MAX_BUFF_SIZE);
|
||||
|
||||
*(ep_buff[EP_02_CMD_IDX]._buffer) = CT_DATA;
|
||||
*(ep_buff[EP_02_CMD_IDX]._buffer+1) = CT_READ_IO_DAT;
|
||||
*(ep_buff[EP_02_CMD_IDX]._buffer+2)=AddrType;
|
||||
|
||||
ep_buff[EP_02_CMD_IDX]._size = 0x03;
|
||||
ep_buff[EP_82_DATA_IDX]._size = 0x01;
|
||||
|
||||
g_hEP02_Thread_State=THREAD_RUNNING_STATE1;
|
||||
g_hEP8x_Thread_State=THREAD_RUNNING_STATE2;
|
||||
_do_single_threaded_usb_comm(EP_02_CMD_IDX);
|
||||
ReleaseMutex(g_hEP02_Serial_Mutex);
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
|
||||
//==============================================================
|
||||
SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_MOVE_X()
|
||||
@@ -4210,3 +4234,10 @@ SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_READ_INTERRUPT_MESSAGE()
|
||||
g_machine.InterruptFlag[1]=*(ep_buff[EP_81_DATA_IDX]._buffer+1);
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
//==============================================================
|
||||
SSI_STATUS_MOTION CSO7_Proto::_process_SO7_CMD_READ_INPUT_PORT_STATUS()
|
||||
{
|
||||
g_machine.InPortStatus=0;
|
||||
g_machine.InPortStatus=*(ep_buff[EP_82_DATA_IDX]._buffer);
|
||||
return SSI_STATUS_MOTION_NORMAL;
|
||||
}
|
||||
@@ -59,7 +59,6 @@
|
||||
const long MAX_INTENSITY = 0x3FF;
|
||||
#define MAXLIGHTVALUE 256
|
||||
|
||||
|
||||
#pragma pack(push)
|
||||
#pragma pack(1)
|
||||
//****************************************************************************************************
|
||||
@@ -197,6 +196,7 @@ struct struct_so7_machine
|
||||
char Sys_Reset_Flag;
|
||||
char cVerNumber;
|
||||
char InterruptFlag[2];
|
||||
char InPortStatus;
|
||||
int _motor_pulse_num;
|
||||
|
||||
struct s_so7_axis x;
|
||||
@@ -398,6 +398,7 @@ public:
|
||||
SSI_STATUS_MOTION _send_cmd_SO7_CMD_READ_INTERRUPT_MESSAGE();
|
||||
SSI_STATUS_MOTION _send_cmd_SO7_CMD_READ_ZOOM_MOTION_STATUS();
|
||||
SSI_STATUS_MOTION _send_cmd_SO7_CMD_OPEN_KEYENCE_LASER();
|
||||
SSI_STATUS_MOTION _send_cmd_SO7_CMD_READ_INPUT_PORT_STATUS(char AddrType);
|
||||
|
||||
static SSI_STATUS_MOTION _process_SO7_CMD_MOVE_X();
|
||||
static SSI_STATUS_MOTION _process_SO7_CMD_MOVE_Y();
|
||||
@@ -427,6 +428,7 @@ public:
|
||||
static SSI_STATUS_MOTION _process_SO7_CMD_READ_SPEED_PRECISIONZ();
|
||||
static SSI_STATUS_MOTION _process_SO7_CMD_READ_INTERRUPT_MESSAGE();
|
||||
static SSI_STATUS_MOTION _process_SO7_CMD_READ_ZOOM_MOTION_STATUS();
|
||||
static SSI_STATUS_MOTION _process_SO7_CMD_READ_INPUT_PORT_STATUS();
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user