|
@@ -14,6 +14,7 @@ using System.IO;
|
|
|
using SmartSEMControl;
|
|
|
using MeasureData;
|
|
|
using FileManager;
|
|
|
+using WebManager;
|
|
|
|
|
|
namespace MeasureThread
|
|
|
{
|
|
@@ -401,6 +402,8 @@ namespace MeasureThread
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public WebResult wr = new WebResult("127.0.0.1", "18080");
|
|
|
+
|
|
|
public event ThreadStatusHandler SendThreadStatus; // 声明事件
|
|
|
public event CutHolesStatusHandler SendCutHolesStatus; // 声明事件
|
|
|
|
|
@@ -476,7 +479,7 @@ namespace MeasureThread
|
|
|
}
|
|
|
|
|
|
//构造函数
|
|
|
- public Measure()
|
|
|
+ public Measure(String webServerIP, String webServerPort)
|
|
|
{
|
|
|
Init();
|
|
|
}
|
|
@@ -544,6 +547,7 @@ namespace MeasureThread
|
|
|
}
|
|
|
SendThreadStatus(this, arg);
|
|
|
}
|
|
|
+
|
|
|
public void SendCutHoleMsg(string a_state, string a_holeName)
|
|
|
{
|
|
|
CutHolesStatusEventArgs arg = new CutHolesStatusEventArgs(a_state, a_holeName);
|
|
@@ -625,39 +629,8 @@ namespace MeasureThread
|
|
|
//设置工作文件夹
|
|
|
public bool SetWorkingFolderStr()
|
|
|
{
|
|
|
-
|
|
|
WorkingFolder = m_measureFile.FilePath;
|
|
|
-
|
|
|
return true;
|
|
|
- ////获取工作文件路径
|
|
|
- //string pathName = m_measureFile.FilePath;
|
|
|
-
|
|
|
- ////判断工作文件路径是否为空或无效
|
|
|
- //if (string.IsNullOrEmpty(pathName))
|
|
|
- //{
|
|
|
- // SendMsg("路径无效");
|
|
|
- // return false;
|
|
|
- //}
|
|
|
- ////文件未保存
|
|
|
- //else if (pathName.CompareTo(MeasureFile.UNTITLED_FILE_NAME) == 0)
|
|
|
- //{
|
|
|
- // SendMsg("工程文件未保存");
|
|
|
- // return false;
|
|
|
- //}
|
|
|
-
|
|
|
- ////获取工作文件所在文件夹
|
|
|
- //string folder = System.IO.Path.GetDirectoryName(pathName);
|
|
|
- //if (string.IsNullOrEmpty(folder))
|
|
|
- //{
|
|
|
- // SendMsg("工程文件无效");
|
|
|
- // return false;
|
|
|
- //}
|
|
|
-
|
|
|
- //WorkingFolder += @"\\";
|
|
|
-
|
|
|
- //LogManager.Init(WorkingFolder);
|
|
|
-
|
|
|
- //return false;
|
|
|
}
|
|
|
|
|
|
//插入PT针
|
|
@@ -759,11 +732,12 @@ namespace MeasureThread
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
+
|
|
|
/// <summary>
|
|
|
///13. 自动 定位功能
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
- public bool GetPoistion()
|
|
|
+ public bool GetPoistion(Boolean isFirst)
|
|
|
{
|
|
|
//SendMsg("自动定位");
|
|
|
//13.自动定位切割
|
|
@@ -771,13 +745,15 @@ namespace MeasureThread
|
|
|
//1.控制SEM放大600X
|
|
|
if (!iSEM.SetMagnification(m_measureFile.MParam.Photograph_Magnification))
|
|
|
{
|
|
|
+ arg.Message = "放大" + m_measureFile.MParam.Photograph_Magnification.ToString("0.0") + "倍失败";
|
|
|
+ SendMsg("1-1");
|
|
|
return false;
|
|
|
}
|
|
|
- arg.Message = "放大" + m_measureFile.MParam.Photograph_Magnification.ToString("0.0") + "倍";
|
|
|
+ arg.Message = "放大" + m_measureFile.MParam.Photograph_Magnification.ToString("0.0") + "倍成功";
|
|
|
SendMsg("1-1");
|
|
|
|
|
|
//2.控制SEM自动对焦、亮度、对比度
|
|
|
- // if (!MeasParam.FocusMode)
|
|
|
+ if (m_measureFile.MParam.FocusMode==1)//手动
|
|
|
{
|
|
|
if (DialogResult.Yes == MessageBox.Show("图像自动对焦已完成?", "确认消息", MessageBoxButtons.YesNo))
|
|
|
{
|
|
@@ -791,31 +767,37 @@ namespace MeasureThread
|
|
|
SendMsg("1-2");
|
|
|
return false;
|
|
|
}
|
|
|
- //弹出手动对焦的窗口
|
|
|
}
|
|
|
- //else
|
|
|
- //{
|
|
|
- // //调用自动对焦模块
|
|
|
- //}
|
|
|
+ else if (m_measureFile.MParam.FocusMode == 2)//自有自动
|
|
|
+ {
|
|
|
+ //郝工增加自动对焦算法
|
|
|
+ }
|
|
|
+ else //客户自动
|
|
|
+ {
|
|
|
+ //后期和客户对接接口
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
- //3.设置SEM进行角度补偿54度
|
|
|
- //if (!TiltCorrection(54))
|
|
|
- //{
|
|
|
- // SendMsg("设置SEM进行角度补偿54度");
|
|
|
- // return false;
|
|
|
- //}
|
|
|
- //arg.Message = "设置校正54度";
|
|
|
- //SendMsg("1-15");
|
|
|
- //Thread.Sleep(5000);
|
|
|
+ //3.第一次不需要进行角度补偿,其他需要设置SEM进行角度补偿54度
|
|
|
+ if (!isFirst)
|
|
|
+ {
|
|
|
+ if (!TiltCorrection(m_measureFile.MParam.Correction_Angle))
|
|
|
+ {
|
|
|
+ arg.Message = "设置SEM进行角度补偿" + m_measureFile.MParam.Correction_Angle.ToString("0") + "度失败";
|
|
|
+ SendMsg("1-15");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ arg.Message = "设置SEM进行角度补偿" + m_measureFile.MParam.Correction_Angle.ToString("0") + "度成功";
|
|
|
+ SendMsg("1-15");
|
|
|
+ Thread.Sleep(5000);
|
|
|
+ }
|
|
|
|
|
|
//4.控制SEM拍照
|
|
|
-
|
|
|
//5.保存照片
|
|
|
{
|
|
|
//1. 创建目录,已经完成
|
|
|
//2. 设置图片名称
|
|
|
//3. 保存图片1
|
|
|
- WorkingFolder = m_measureFile.FilePath;
|
|
|
String fileName1 = WorkingFolder + "\\" + m_nWorkHoleNo.ToString() + "Hole" + ImageName1;
|
|
|
arg.Picture_Information.Picture_FullPath = fileName1;
|
|
|
if (!GetImage(ImageMode.SEM, fileName1))
|
|
@@ -980,7 +962,7 @@ namespace MeasureThread
|
|
|
return false;
|
|
|
}
|
|
|
//2.控制SEM自动对焦、亮度、对比度-接口
|
|
|
- if (!MeasParam.FocusMode)
|
|
|
+ if (MeasParam.FocusMode==1)
|
|
|
{
|
|
|
//弹出手动对焦的窗口
|
|
|
}
|
|
@@ -1040,7 +1022,7 @@ namespace MeasureThread
|
|
|
|
|
|
//13. 自动 定位功能
|
|
|
SendMsg("自动定位切割位置");
|
|
|
- if (!GetPoistion())
|
|
|
+ if (!GetPoistion(false))
|
|
|
{
|
|
|
SendMsg("自动定位切割位置失败");
|
|
|
return false;
|
|
@@ -1189,7 +1171,7 @@ namespace MeasureThread
|
|
|
|
|
|
//13. 自动 定位功能
|
|
|
SendMsg("自动定位切割位置");
|
|
|
- if (!GetPoistion())
|
|
|
+ if (!GetPoistion(true))
|
|
|
{
|
|
|
SendMsg("自动定位切割位置失败");
|
|
|
return false;
|