|
@@ -13,11 +13,69 @@ using namespace std;
|
|
// 图像数据类型,指向内存中的图像二进制数据
|
|
// 图像数据类型,指向内存中的图像二进制数据
|
|
typedef unsigned char* ImageDataPtr;
|
|
typedef unsigned char* ImageDataPtr;
|
|
|
|
|
|
|
|
+typedef struct
|
|
|
|
+{
|
|
|
|
+ double x;
|
|
|
|
+ double y;
|
|
|
|
+}XY_DOUBLE_STRUCT;
|
|
|
|
+
|
|
|
|
+typedef struct
|
|
|
|
+{
|
|
|
|
+ long x;
|
|
|
|
+ long y;
|
|
|
|
+}XY_LONG_STRUCT;
|
|
|
|
+
|
|
|
|
+typedef struct
|
|
|
|
+{
|
|
|
|
+ double x;
|
|
|
|
+ double y;
|
|
|
|
+ double a; //角度
|
|
|
|
+}X_Y_ANGLE_STRUCT;
|
|
|
|
+
|
|
|
|
+enum DEVICE_STATUS
|
|
|
|
+{
|
|
|
|
+ IDLE,//停机待机
|
|
|
|
+ RUNING,//生产
|
|
|
|
+ CALIB,//校准
|
|
|
|
+ WARN,//报警
|
|
|
|
+ FAULT, //故障
|
|
|
|
+ DIAGNOSE//诊断
|
|
|
|
+};
|
|
|
|
+enum CONNECT_STATUS
|
|
|
|
+{
|
|
|
|
+ NO_CONNECT,//未连接
|
|
|
|
+ CONNECT_ING,//连接中
|
|
|
|
+ CONNECT_OK,//连接成功
|
|
|
|
+};
|
|
|
|
+typedef struct
|
|
|
|
+{
|
|
|
|
+ string name; //设备名称
|
|
|
|
+ string type; //设备类型
|
|
|
|
+ DEVICE_STATUS deveicStatus; //设备状态
|
|
|
|
+ string product; //产品批号
|
|
|
|
+ CONNECT_STATUS connectStatus; //连接状态
|
|
|
|
+}DEVICE_INFO_STRUCT;
|
|
|
|
+
|
|
|
|
+enum MATERIAL_TYPE
|
|
|
|
+{
|
|
|
|
+ MATERIAL_WAFER,//晶圆
|
|
|
|
+ MATERIAL_WAFFLE,//华夫盒
|
|
|
|
+ MATERIAL_BOX,//料盒
|
|
|
|
+ MATERIAL_BOND //载具物料
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+typedef struct
|
|
|
|
+{
|
|
|
|
+ int iCameraId; // 相机Id
|
|
|
|
+ string name; // 相机名称
|
|
|
|
+ MATERIAL_TYPE eType; //物料类型
|
|
|
|
+}CameraInfo;
|
|
|
|
+
|
|
enum ImageFormat
|
|
enum ImageFormat
|
|
{
|
|
{
|
|
GRAY8 = 0, // 灰度图,色值0~255 Format_Grayscale8
|
|
GRAY8 = 0, // 灰度图,色值0~255 Format_Grayscale8
|
|
RGB888, // 每个像素 24 位,顺序是 0xRRGGBB,没有 Alpha 通道 Format_RGB888
|
|
RGB888, // 每个像素 24 位,顺序是 0xRRGGBB,没有 Alpha 通道 Format_RGB888
|
|
- ARGB8888, // 带有 Alpha 通道的 32 位像素格式,顺序是 0xAARRGGBB
|
|
|
|
|
|
+ ARGB8888, // 带有 Alpha 通道的 32 位像素格式,顺序是 0xAARRGGBB
|
|
RGB32, // 每个像素 32 位,其中包含了 RGB 颜色信息,顺序通常是 0xAARRGGBB(最高字节为 Alpha 通道,但被忽略,因为 Alpha 通道总是视为 0xFF)
|
|
RGB32, // 每个像素 32 位,其中包含了 RGB 颜色信息,顺序通常是 0xAARRGGBB(最高字节为 Alpha 通道,但被忽略,因为 Alpha 通道总是视为 0xFF)
|
|
YUV422, // YUV4:2:2
|
|
YUV422, // YUV4:2:2
|
|
};
|
|
};
|
|
@@ -35,6 +93,93 @@ typedef struct
|
|
}ImageInfo;
|
|
}ImageInfo;
|
|
|
|
|
|
|
|
|
|
|
|
+enum PICK_DIE_STATUS {
|
|
|
|
+ DIE_EXIST,/*原来的*/
|
|
|
|
+ PICK_ING,/*正在取*/
|
|
|
|
+ NO_EXIST,/*已取走*/
|
|
|
|
+ SKIP_DIE,/*跳过的点*/
|
|
|
|
+ EDGE_DIE /*边缘无效*/
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+typedef struct
|
|
|
|
+{
|
|
|
|
+ int nDieMatrixId; //晶圆矩阵Id
|
|
|
|
+ int nDieRow; //固晶点在矩阵中所在行
|
|
|
|
+ int nDieCol; //固晶点在矩阵中所在列
|
|
|
|
+ int iDieIndex; //所在Point点ID
|
|
|
|
+ bool bDisable; //不可用点,等同于无效点
|
|
|
|
+ PICK_DIE_STATUS eStatus; //晶片状态
|
|
|
|
+ XY_DOUBLE_STRUCT stPosition; //程序设置的位置
|
|
|
|
+} WAFER_MATRIX_POINT_INFO_STRUCT;
|
|
|
|
+
|
|
|
|
+typedef struct _WAFFLE_MATRIX_POINT_STRUCT
|
|
|
|
+{
|
|
|
|
+ int nPackMatrixId; //华夫盒矩阵 Id 第个Id表示一种晶圆
|
|
|
|
+ int nPackRow; //华夫盒矩阵行数
|
|
|
|
+ int nPackCol; //华夫盒矩阵列数
|
|
|
|
+ int nDieMatrixId; //晶圆矩阵Id
|
|
|
|
+ int nDieRow; //固晶点在矩阵中所在行
|
|
|
|
+ int nDieCol; //固晶点在矩阵中所在列
|
|
|
|
+ int iDieIndex; //当前Point在pcb中的序号
|
|
|
|
+ bool bDisable; //不可用晶片
|
|
|
|
+ PICK_DIE_STATUS eStatus; //晶片状态
|
|
|
|
+ XY_DOUBLE_STRUCT stPosition; //程序设置的位置
|
|
|
|
+} WAFFLE_MATRIX_POINT_STRUCT; //固晶点
|
|
|
|
+
|
|
|
|
+typedef struct _BOND_INDEX_STRUCT
|
|
|
|
+{
|
|
|
|
+ //UINT iProductId = 1; //固晶点所在产品Id
|
|
|
|
+ int iPcbMatId = 1; //固晶点所在PCB Id
|
|
|
|
+ int iPcbRow = 1; //固晶点在PCB中所在行
|
|
|
|
+ int iPcbCol = 1; //固晶点在PCB中所在列
|
|
|
|
+ int iPtMatId = 1; //固晶点所在Pt矩阵Id
|
|
|
|
+ int iPtRow = 1; //固晶点在矩阵中所在行
|
|
|
|
+ int iPtCol = 1; //固晶点在矩阵中所在列
|
|
|
|
+ int iIndex = 1; //当前Point在整个Bond矩阵中的序号
|
|
|
|
+} BOND_MATRIX_POINT_INFO_STRUCT; //固晶点
|
|
|
|
+
|
|
|
|
+enum DIE_STATUS {
|
|
|
|
+ NO_PICK = 0, /*未取晶*/
|
|
|
|
+ WAF_PICK_DONE, /*已从晶片台取晶*/
|
|
|
|
+ TRANSFER_BOND_DONE, /*已将晶片放到中转台*/
|
|
|
|
+ TRANSFER_PICK_DONE, /*已从中转台取晶*/
|
|
|
|
+ LOOKUP_CALIB_DONE, /*已上视校准*/
|
|
|
|
+ BOND_DONE, /*已固晶*/
|
|
|
|
+ BOND_DEL /*不固晶点*/
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+//过程产生的关联数据
|
|
|
|
+typedef struct
|
|
|
|
+{
|
|
|
|
+ //流程过程中的状态数据,不保存到数据库中
|
|
|
|
+ DIE_STATUS bDieStatus; //固晶状态
|
|
|
|
+ bool bAlnStatus; //对点状态,是否已对点
|
|
|
|
+ bool bIsCheck; //是否固后检测完成
|
|
|
|
+
|
|
|
|
+ X_Y_ANGLE_STRUCT stLookUpOffset; //上视拍照偏差结果
|
|
|
|
+ XY_DOUBLE_STRUCT stSetBondPosition; //程序设置的固晶位置
|
|
|
|
+ XY_DOUBLE_STRUCT stAlnBondPosition; //对点后的固晶位置
|
|
|
|
+ XY_DOUBLE_STRUCT stAlnOffset; //固晶点对点偏移
|
|
|
|
+ double dAlnAngle; //对点角度
|
|
|
|
+ XY_DOUBLE_STRUCT stCheckOffset; //固后检测结果
|
|
|
|
+ double dCheckAngle; //固后检测角度
|
|
|
|
+} BOND_STATUS_STRUCT;
|
|
|
|
+
|
|
|
|
+typedef struct
|
|
|
|
+{
|
|
|
|
+ BOND_MATRIX_POINT_INFO_STRUCT stIndex;
|
|
|
|
+ BOND_STATUS_STRUCT stBondStatus;
|
|
|
|
+ //PROCESS_INFO_STRUCT stBondInfo;
|
|
|
|
+} POINT_INFO_STRUCT;
|
|
|
|
+
|
|
|
|
+typedef struct
|
|
|
|
+{
|
|
|
|
+ int iLayersTotal; //总层数
|
|
|
|
+ int iTopLev; //最上层高度
|
|
|
|
+ int iBottomLev; //最下层高度
|
|
|
|
+ XY_DOUBLE_STRUCT stPos; //料盒位置
|
|
|
|
+}MATERIAL_BOX_STRUCT;
|
|
|
|
+
|
|
typedef struct
|
|
typedef struct
|
|
{
|
|
{
|
|
int Lot; //批次号
|
|
int Lot; //批次号
|
|
@@ -50,14 +195,14 @@ typedef struct
|
|
int Theta_RefMin; //Theta方向参考范围小值
|
|
int Theta_RefMin; //Theta方向参考范围小值
|
|
int Theta_RefMax; //Theta方向参考范围大值
|
|
int Theta_RefMax; //Theta方向参考范围大值
|
|
long Time; //加工时间
|
|
long Time; //加工时间
|
|
-} CPK_LIST_STRUCT;
|
|
|
|
|
|
+} CPK_LIST_STRUCT;
|
|
|
|
|
|
typedef struct _CONFIG_BASE_STRUCT
|
|
typedef struct _CONFIG_BASE_STRUCT
|
|
{
|
|
{
|
|
int iGroupId;
|
|
int iGroupId;
|
|
string strName;
|
|
string strName;
|
|
string strDescribe;
|
|
string strDescribe;
|
|
- int iUserGradee;
|
|
|
|
|
|
+ int iUserGrade;
|
|
int iChangeFlag;
|
|
int iChangeFlag;
|
|
string strValue;
|
|
string strValue;
|
|
string strType;
|
|
string strType;
|
|
@@ -67,9 +212,40 @@ typedef struct _CONFIG_BASE_STRUCT
|
|
string strUnit;
|
|
string strUnit;
|
|
}CONFIG_BASE_STRUCT;
|
|
}CONFIG_BASE_STRUCT;
|
|
|
|
|
|
|
|
+enum LogLevel
|
|
|
|
+{
|
|
|
|
+ Info,
|
|
|
|
+ Error,
|
|
|
|
+ Warn,
|
|
|
|
+ Debug,
|
|
|
|
+ Fatal,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+typedef struct
|
|
|
|
+{
|
|
|
|
+ LogLevel iLevel; //告警级别
|
|
|
|
+ int iId; //告警Id
|
|
|
|
+ string strInfo; //告警信息
|
|
|
|
+ long lTime; //告警时间
|
|
|
|
+}ALARM_LIST_STRUCT;
|
|
|
|
+
|
|
|
|
+typedef struct
|
|
|
|
+{
|
|
|
|
+ int iBlackNum; //阻塞次数
|
|
|
|
+ int iId; //告警Id
|
|
|
|
+ string strInfo; //告警信息
|
|
|
|
+ long lTime; //告警时间
|
|
|
|
+}ERROR_STATISTIC_STRUCT;
|
|
|
|
+
|
|
class INTERFACE_API CInterface
|
|
class INTERFACE_API CInterface
|
|
{
|
|
{
|
|
public:
|
|
public:
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 获取设备信息
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+ long GetDeviceInfo(DEVICE_INFO_STRUCT &info);
|
|
|
|
+
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 设置红光
|
|
/// 设置红光
|
|
/// </summary>
|
|
/// </summary>
|
|
@@ -83,7 +259,6 @@ public:
|
|
/// </summary>
|
|
/// </summary>
|
|
/// <param name="LightValue">灯光值</param>
|
|
/// <param name="LightValue">灯光值</param>
|
|
/// <returns>成功返回0,否则返回错误码</returns>
|
|
/// <returns>成功返回0,否则返回错误码</returns>
|
|
- ///
|
|
|
|
long SetGreenLight(int iCameraId, int LightValue);
|
|
long SetGreenLight(int iCameraId, int LightValue);
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 设置蓝光
|
|
/// 设置蓝光
|
|
@@ -98,7 +273,7 @@ public:
|
|
/// </summary>
|
|
/// </summary>
|
|
/// <param name="iCameraId">相机Id</param>
|
|
/// <param name="iCameraId">相机Id</param>
|
|
/// <param name="LightValue">灯光值</param>
|
|
/// <param name="LightValue">灯光值</param>
|
|
- /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
long SetPointLight(int iCameraId, int LightValue);
|
|
long SetPointLight(int iCameraId, int LightValue);
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
@@ -111,7 +286,7 @@ public:
|
|
/// <param name="pointLightValue">点光。值为-1时,表示没有该灯</param>
|
|
/// <param name="pointLightValue">点光。值为-1时,表示没有该灯</param>
|
|
/// <returns>成功返回0,否则返回错误码</returns>
|
|
/// <returns>成功返回0,否则返回错误码</returns>
|
|
long GetLight(int iCameraId, int &redLightValue, int &greenLightValue, int &blueLightValue,int &pointLightValue);
|
|
long GetLight(int iCameraId, int &redLightValue, int &greenLightValue, int &blueLightValue,int &pointLightValue);
|
|
-
|
|
|
|
|
|
+
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 获取相机图像。调用后会阻塞,直到有新的相机图像时才返回
|
|
/// 获取相机图像。调用后会阻塞,直到有新的相机图像时才返回
|
|
/// </summary>
|
|
/// </summary>
|
|
@@ -144,5 +319,200 @@ public:
|
|
/// <param name="vecConfig">要保存的配置信息</param>
|
|
/// <param name="vecConfig">要保存的配置信息</param>
|
|
/// <returns>成功返回0,否则返回错误码</returns>
|
|
/// <returns>成功返回0,否则返回错误码</returns>
|
|
long SaveConfigDB(string strTableName, vector<CONFIG_BASE_STRUCT> vecConfig);
|
|
long SaveConfigDB(string strTableName, vector<CONFIG_BASE_STRUCT> vecConfig);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 获取相机列表
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="vecCamera">相机列表</param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long GetCameraList(vector<CameraInfo>& vecCamera);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 获取告警信息
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="alarmList">告警列表</param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long GetAlarmList(vector<ALARM_LIST_STRUCT>& alarmList);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 相机移动某个位置
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="iCameraId">相机Id</param>
|
|
|
|
+ /// <param name="x">图像中的X像素坐标</param>
|
|
|
|
+ /// <param name="y">图像中的y像素坐标</param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long CameraMove(int iCameraId, double x, double y);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 相机移动到某个位置
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="iCameraId">相机Id</param>
|
|
|
|
+ /// <param name="x">图像中的X像素坐标</param>
|
|
|
|
+ /// <param name="y">图像中的y像素坐标</param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long CameraMoveTo(int iCameraId, double x, double y);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 像素值转为物理位置坐标
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="iCameraId">相机Id</param>
|
|
|
|
+ /// <param name="inX">图像中的X像素坐标X</param>
|
|
|
|
+ /// <param name="inY">图像中的Y像素坐标</param>
|
|
|
|
+ /// <param name="outX">转换后的物理X坐标。单位微米</param>
|
|
|
|
+ /// <param name="outY">转换后的物理Y坐标。单位微米</param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long PixelToPos(int iCameraId, double inX, double inY,double &outX,double &outY);
|
|
|
|
+
|
|
|
|
+#pragma region 晶圆接口
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 获取所有晶圆信息
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="stPointInfo">晶圆信息</param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long GetWaferAllPointInfo(vector<WAFER_MATRIX_POINT_INFO_STRUCT>& stPointInfo);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 获取晶环尺寸
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="iSize">获取到的尺寸</param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long GetWaferSize(int& iSize);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 获取晶圆尺寸
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="iLong">长</param>
|
|
|
|
+ /// <param name="iWide">宽</param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long GetDieSize(int &iLong,int &iWide);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 移动到指定的点
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="iDieIndex"></param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long MoveWaferToPoint(int iDieIndex);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 从底层获取模板图片
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="image">获取到的图片</param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long GetWaferRefImage(ImageInfo& image);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 获取晶圆台角度
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="angle">获取到的角度</param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long GetWaferTableAngle(double &angle);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 设置矩形边界
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="nDieMatrixId">矩阵Id</param>
|
|
|
|
+ /// <param name="row1">左上角行号</param>
|
|
|
|
+ /// <param name="col1">左上角列号</param>
|
|
|
|
+ /// <param name="row2">右下角行号</param>
|
|
|
|
+ /// <param name="col2">右下触目列号</param>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+ long SetWaferRectBorder(int nDieMatrixId,int row1,int col1,int row2,int col2);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+#pragma endregion
|
|
|
|
+
|
|
|
|
+#pragma region 华夫盒接口
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 获取所有晶圆信息
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="stPointInfo">晶圆信息</param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long GetWafflePackAllPointInfo(vector<WAFFLE_MATRIX_POINT_STRUCT>& stPointInfo);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 移动到指定的点
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="iDieIndex"></param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long MoveWafflePackToPoint(int iDieIndex);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 从底层获取模板图片
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="image">获取到的图片</param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long GetWafflePackRefImage(ImageInfo& image);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 设置矩形边界
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="nPackMatrixId">华夫盒矩阵 Id</param>
|
|
|
|
+ /// <param name="nDieMatrixId">矩阵Id</param>
|
|
|
|
+ /// <param name="row1">左上角行号</param>
|
|
|
|
+ /// <param name="col1">左上角列号</param>
|
|
|
|
+ /// <param name="row2">右下角行号</param>
|
|
|
|
+ /// <param name="col2">右下触目列号</param>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+ long SetWafflePackRectBorder(int nPackMatrixId,int nDieMatrixId, int row1, int col1, int row2, int col2);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+#pragma endregion
|
|
|
|
+
|
|
|
|
+#pragma region 载具物料接口
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 获取所有晶圆信息
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="stPointInfo">晶圆信息</param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long GetBondAllPointInfo(vector<POINT_INFO_STRUCT>& stPointInfo);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 移动到指定的点
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="iDieIndex"></param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long MoveBondToPoint(int iDieIndex);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 从底层获取模板图片
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="image">获取到的图片</param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long GetBondRefImage(ImageInfo& image);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 设置矩形边界
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="nPackMatrixId">华夫盒矩阵 Id</param>
|
|
|
|
+ /// <param name="nDieMatrixId">矩阵Id</param>
|
|
|
|
+ /// <param name="row1">左上角行号</param>
|
|
|
|
+ /// <param name="col1">左上角列号</param>
|
|
|
|
+ /// <param name="row2">右下角行号</param>
|
|
|
|
+ /// <param name="col2">右下触目列号</param>
|
|
|
|
+ /// <returns></returns>
|
|
|
|
+ long SetBondRectBorder(int nPackMatrixId, int nDieMatrixId, int row1, int col1, int row2, int col2);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+#pragma endregion
|
|
|
|
+
|
|
|
|
+#pragma region 料盒类
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 获取所有料盒信息
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="stPointInfo">晶圆信息</param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long GetMaterialBoxAllPointInfo(vector<MATERIAL_BOX_STRUCT>& stPointInfo);
|
|
|
|
+
|
|
|
|
+ /// <summary>
|
|
|
|
+ /// 移动到指定的层
|
|
|
|
+ /// </summary>
|
|
|
|
+ /// <param name="iLayers"></param>
|
|
|
|
+ /// <returns>成功返回0,否则返回错误码</returns>
|
|
|
|
+ long MoveMaterialBoxToiLayers(int iLayers);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+#pragma endregion
|
|
|
|
+ //long GetErrorStatistic(long sTime,long eTime,vector<ALARM_LIST_STRUCT>& alarmList);
|
|
};
|
|
};
|
|
|
|
|