|
@@ -100,6 +100,8 @@ namespace SmartSEMControl
|
|
|
private String CMD_AUTO_FOCUS_FINE = "CMD_AUTO_FOCUS_FINE";
|
|
|
//自动消像散
|
|
|
private String CMD_AUTO_STIG = "CMD_AUTO_STIG";
|
|
|
+ //样品台急停
|
|
|
+ private String CMD_STAGE_ABORT = "CMD_STAGE_ABORT";
|
|
|
#endregion
|
|
|
|
|
|
#region 宏文件命令
|
|
@@ -821,6 +823,30 @@ namespace SmartSEMControl
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 设置样品台坐标数组
|
|
|
+ /// </summary>
|
|
|
+ /// <returns>Lenght=6</returns>
|
|
|
+ private Boolean SetStagePosition(float[] set)
|
|
|
+ {
|
|
|
+ if (m_bInitialised)
|
|
|
+ {
|
|
|
+ long lrt = CZEMApi.MoveStage(set[0], set[1], set[2], set[3], set[4], set[5]);
|
|
|
+ if(lrt==0)
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 样品台位置 X轴
|
|
|
/// </summary>
|
|
@@ -987,10 +1013,38 @@ namespace SmartSEMControl
|
|
|
#region 移动样品台XY轴
|
|
|
public Boolean MoveStageXY(float x,float y)
|
|
|
{
|
|
|
- Boolean ret = false;
|
|
|
- ret = SetStageGotoX(x);
|
|
|
- ret = SetStageGotoY(y);
|
|
|
- return ret;
|
|
|
+ //先取范围
|
|
|
+ object varMin = new VariantWrapper((float)0.0f);
|
|
|
+ object varMax = new VariantWrapper((float)0.0f);
|
|
|
+ long lrt = CZEMApi.GetLimits(AP_STAGE_GOTO_X, ref varMin, ref varMax);
|
|
|
+ if (lrt != 0)
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (x > Convert.ToSingle(varMax) || x < Convert.ToSingle(varMin))
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ lrt = CZEMApi.GetLimits(AP_STAGE_GOTO_Y, ref varMin, ref varMax);
|
|
|
+ if (lrt != 0)
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (y > Convert.ToSingle(varMax) || y < Convert.ToSingle(varMin))
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ float[] gsp = GetStagePosition();
|
|
|
+ gsp[0] = x;
|
|
|
+ gsp[1] = y;
|
|
|
+ return SetStagePosition(gsp);
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 样品台急停
|
|
|
+ public Boolean CmdStageAbort()
|
|
|
+ {
|
|
|
+ return ExecuteCmd(CMD_STAGE_ABORT);
|
|
|
}
|
|
|
#endregion
|
|
|
|