|
@@ -32,8 +32,11 @@ namespace MeasureThread
|
|
|
static FactoryHardware factorySEM = FactoryHardware.Instance;
|
|
|
ISEMControl iSEM = factorySEM.ISEM;
|
|
|
|
|
|
- const String ImageName1 = @"ImageSEM600X.tif";
|
|
|
- const String ImageName2 = @"ImageFIB600X.tif";
|
|
|
+ const String ImageName1 = @"ImageSEM600X.tif"; //传给客户
|
|
|
+ const String ImageName2 = @"ImageFIB600X1.tif";//传给客户
|
|
|
+ const String ImageName3 = @"ImageFIB600X2.tif";
|
|
|
+ const String ImageName4 = @"ImageSEM300X.tif";//传给客户
|
|
|
+ const String ImageName5 = @"ImageSEM6000X.tif";//传给客户
|
|
|
|
|
|
const float fMin = (float)0.0000002; //单位是米
|
|
|
|
|
@@ -240,8 +243,8 @@ namespace MeasureThread
|
|
|
{
|
|
|
//1. 设置图片名称
|
|
|
//2. 保存图片2
|
|
|
- String fileName1 = WorkingFolder + ImageName2;
|
|
|
- if (!GetImage(ImageMode.FIB, fileName1))
|
|
|
+ String fileName2 = WorkingFolder + ImageName2;
|
|
|
+ if (!GetImage(ImageMode.FIB, fileName2))
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
@@ -273,42 +276,147 @@ namespace MeasureThread
|
|
|
}
|
|
|
|
|
|
//14.保存样品1第1号孔中心位置6轴坐标1 XYZMRT到数据库,保存客户返回值信息到数据库
|
|
|
+ float[] firstPosition = iSEM.GetStagePosition();
|
|
|
}
|
|
|
//14.自动控制FIB切割
|
|
|
{
|
|
|
//1.根据参数设置FIB草率时间(使图清晰),设置梯形上下边及深度、设置束流
|
|
|
//2.控制FIB进行切割
|
|
|
+
|
|
|
//3.控制FIB拍照600X
|
|
|
//4.保存图片
|
|
|
{
|
|
|
//1.设置图片名称
|
|
|
//2.保存图片3
|
|
|
+ String fileName3 = WorkingFolder + ImageName3;
|
|
|
+ if (!GetImage(ImageMode.FIB, fileName3))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
//5.验证切割准确性:与切割前对比,如果对比误差大,则停止自动执行,进行报警
|
|
|
+
|
|
|
//6.设置FIB解冻:先读取状态,如果冻结状态则进行解冻
|
|
|
}
|
|
|
//15.根据样品类型决定是否撤出PT针
|
|
|
+ if (firstHole.PT == false)
|
|
|
+ {
|
|
|
+ if (!iSEM.OutputPT())
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//16.自动调整SEM找到切割位置
|
|
|
{
|
|
|
//1.控制SEM放大到300倍
|
|
|
+ if (!iSEM.SetMagnification(300))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
//2.控制SEM自动对焦、亮度、对比度-接口
|
|
|
+ if (FocusMode == FMode.Manual)
|
|
|
+ {
|
|
|
+ //弹出手动对焦的窗口
|
|
|
+ }
|
|
|
+ else if (FocusMode == FMode.Auto)
|
|
|
+ {
|
|
|
+ //调用自动对焦模块
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
//3.控制SEM拍照
|
|
|
+ String fileName4 = WorkingFolder + ImageName4;
|
|
|
+ if (!GetImage(ImageMode.SEM, fileName4))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
//4.将照片传给客户,获取偏移坐标,以及偏移角度
|
|
|
+ float x4 = 0, y4 = 0;
|
|
|
+ float angle = 0;
|
|
|
+
|
|
|
//5.根据坐标控制SEM移动到切孔位置,居中
|
|
|
+ if (!iSEM.MoveStageXY(x4, y4))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!iSEM.SetScanRotation(angle))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
//6.验证移动准确性:获取当前SEM中心位置坐标,与客户返回坐标对比,验证是否移动正确
|
|
|
+ float x5 = iSEM.GetStageAtX();
|
|
|
+ float y5 = iSEM.GetStageAtY();
|
|
|
+ if (Math.Abs(x5 - x4) > fMin && Math.Abs(y5 - y4) > fMin)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
//17.自动控制SEM拍截面照
|
|
|
{
|
|
|
//1.控制SEM放大到指定参数大小范围,6000x
|
|
|
+ if (!iSEM.SetMagnification(6000))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
//2.控制SEM自动对焦、消像散、亮度、对比度
|
|
|
+ if (FocusMode == FMode.Manual)
|
|
|
+ {
|
|
|
+ //弹出手动对焦的窗口
|
|
|
+ }
|
|
|
+ else if (FocusMode == FMode.Auto)
|
|
|
+ {
|
|
|
+ //调用自动对焦模块
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
//3.设置SEM角度补偿cos36度
|
|
|
+ if (!TiltCorrection(36))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
//4.控制SEM拍照
|
|
|
//5.保存照片4
|
|
|
+ String fileName5 = WorkingFolder + ImageName5;
|
|
|
+ if (!GetImage(ImageMode.SEM, fileName5))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
//6.将照片传给客户,获取偏移坐标
|
|
|
+ float x6 = 0, y6 = 0;
|
|
|
+ float angle1 = 0;
|
|
|
+ float mage = 0;
|
|
|
+
|
|
|
//7.根据坐标控制SEM移动到分析位置
|
|
|
+ if (!iSEM.MoveStageXY(x6, y6))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
//8.验证移动准确性:获取当前SEM中心位置坐标,与客户返回坐标对比,验证是否移动正确
|
|
|
+
|
|
|
+ float x7 = iSEM.GetStageAtX();
|
|
|
+ float y7 = iSEM.GetStageAtY();
|
|
|
+ if (Math.Abs(x6 - x7) > fMin && Math.Abs(y6 - y7) > fMin)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
//9.控制SEM平行校正,并记录校正前初始值
|
|
|
+ if (!iSEM.SetScanRotation(angle1))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
//10.控制SEM放大到指定参数大小范围
|
|
|
+
|
|
|
//11.控制SEM自动对焦、消像散、亮度、对比度
|
|
|
//12.控制SEM对分析位置拍照
|
|
|
//13.保存照片
|