|
@@ -404,8 +404,23 @@ namespace MeasureThread
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //Web接口类
|
|
|
public WebResult wr = null;
|
|
|
|
|
|
+ //样品台保护值
|
|
|
+ public float X_Min = 0;
|
|
|
+ public float X_Max = 0.13f;
|
|
|
+ public float Y_Min = 0;
|
|
|
+ public float Y_Max = 0.13f;
|
|
|
+ public float Z_Min = 0;
|
|
|
+ public float Z_Max = 0.05f;
|
|
|
+ public float T_Min = -4;
|
|
|
+ public float T_Max = 70;
|
|
|
+ public float R_Min = -380;
|
|
|
+ public float R_Max = 380;
|
|
|
+ public float M_Min = 0;
|
|
|
+ public float M_Max = 0.012f;
|
|
|
+
|
|
|
public event ThreadStatusHandler SendThreadStatus; // 声明事件
|
|
|
public event CutHolesStatusHandler SendCutHolesStatus; // 声明事件
|
|
|
|
|
@@ -1366,7 +1381,12 @@ namespace MeasureThread
|
|
|
if (state == 1)
|
|
|
{
|
|
|
//拉直操作
|
|
|
- Straightening(angle, 65, 65, x1, y1, ref x2, ref y2);
|
|
|
+ iSEM.SetScanRotationOn();
|
|
|
+ Thread.Sleep(1000);
|
|
|
+ iSEM.SetScanRotation(angle);
|
|
|
+ Thread.Sleep(5000);
|
|
|
+
|
|
|
+ //Straightening(angle, 65, 65, x1, y1, ref x2, ref y2);
|
|
|
//1. 根据客户PT沉积坐标控制FIB调整到中心位置???????
|
|
|
if (!iSEM.MoveStageXY(x2, y2))
|
|
|
{
|
|
@@ -1640,8 +1660,11 @@ namespace MeasureThread
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
- //14光束复位
|
|
|
+ //14光束复位和Rotation关闭开关
|
|
|
+ iSEM.SetScanRotationOff();
|
|
|
+ Thread.Sleep(1000);
|
|
|
iSEM.SetBeamShiftX(0);
|
|
|
+ Thread.Sleep(1000);
|
|
|
iSEM.SetBeamShiftY(0);
|
|
|
Thread.Sleep(3000);
|
|
|
arg.Message = "光束复位成功";
|
|
@@ -2141,6 +2164,11 @@ namespace MeasureThread
|
|
|
//SendMsg("禁止样品台恢复到水平");
|
|
|
return false;
|
|
|
}
|
|
|
+ //判断是否停止进程
|
|
|
+ if (key_stop)
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
//2. 调节样品1号孔的样品台6轴坐标
|
|
|
//3. 将样品1号孔坐标2存入数据库
|
|
@@ -2149,7 +2177,6 @@ namespace MeasureThread
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
-
|
|
|
while (true)
|
|
|
{
|
|
|
Thread.Sleep(10000);
|
|
@@ -2159,17 +2186,21 @@ namespace MeasureThread
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ //判断是否停止进程
|
|
|
+ if (key_stop)
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
//5. 获取光镜2号孔XY坐标
|
|
|
//SendMsg("移动到"+m_nWorkHoleNo+"号孔位置:(" + currentHole.Position.X.ToString()+","+currentHole.Position.Y.ToString()+")");
|
|
|
-
|
|
|
+
|
|
|
//6. 根据光镜坐标控制样品台移动
|
|
|
if (!iSEM.MoveStageXY(currentHole.Position.X, currentHole.Position.Y))
|
|
|
{
|
|
|
//SendMsg("移动失败");
|
|
|
return false;
|
|
|
}
|
|
|
-
|
|
|
while (true)
|
|
|
{
|
|
|
Thread.Sleep(10000);
|
|
@@ -2178,7 +2209,12 @@ namespace MeasureThread
|
|
|
{
|
|
|
break;
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
+ //判断是否停止进程
|
|
|
+ if (key_stop)
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
//7. 控制样品台,调整T轴54度、M/Z/R轴不变
|
|
|
if (DialogResult.Yes == MessageBox.Show("样品台可以旋转吗?", "确认消息", MessageBoxButtons.YesNo))
|
|
@@ -2196,7 +2232,6 @@ namespace MeasureThread
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
-
|
|
|
while (true)
|
|
|
{
|
|
|
Thread.Sleep(10000);
|
|
@@ -2206,6 +2241,11 @@ namespace MeasureThread
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ //判断是否停止进程
|
|
|
+ if (key_stop)
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
//SendMsg("拉直操作");
|
|
|
|
|
@@ -2216,16 +2256,7 @@ namespace MeasureThread
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
- //2. 定位切割
|
|
|
- {
|
|
|
- //1. 拉直操作
|
|
|
- {
|
|
|
- //1.1 控制SEM进行拍照
|
|
|
- //1.2 图片传给客户,返回偏移角度
|
|
|
- //1.3 根据返回角度,控制样品台转动
|
|
|
- }
|
|
|
- //2. 与1号孔13步相同
|
|
|
- }
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
|