|  | @@ -21,15 +21,19 @@ namespace HOZProject
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |      public partial class FormUnitControl : Form
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | +        //全局只有一个fatorySEM
 | 
	
		
			
				|  |  | +        static FactoryHardware factorySEM = FactoryHardware.Instance;
 | 
	
		
			
				|  |  | +        ISEMControl iSEM = factorySEM.ISEM;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          #region 系统参数
 | 
	
		
			
				|  |  |          private String path = Directory.GetCurrentDirectory();
 | 
	
		
			
				|  |  | -        private SmartSEM sem = new SmartSEM();
 | 
	
		
			
				|  |  |          #endregion
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          #region 构造函数
 | 
	
		
			
				|  |  |          public FormUnitControl()
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            InitializeComponent();
 | 
	
		
			
				|  |  | +            InitializeComponent();     
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              //Calling Notification for updated status
 | 
	
		
			
				|  |  |              //CZEMApi.Notify += new _EMApiEvents_NotifyEventHandler(CZEMApi_Notify);
 | 
	
	
		
			
				|  | @@ -39,155 +43,11 @@ namespace HOZProject
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          #endregion
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        #region 设备初始化按键
 | 
	
		
			
				|  |  | -        private void btnInit_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            if (sem.Init())
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                btnInit.BackColor = Color.Lime;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            else
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                btnInit.BackColor = Color.Red;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        #endregion
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        #region 设备关闭按键
 | 
	
		
			
				|  |  | -        private void btnCloseCtrl_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            if (sem.UnInit())
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                btnInit.BackColor = Control.DefaultBackColor;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        #endregion
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        #region 设置参数更新通知
 | 
	
		
			
				|  |  | -        private void btnSetNotify_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            //if (m_bInitialised)
 | 
	
		
			
				|  |  | -            //{
 | 
	
		
			
				|  |  | -            //    // Magnification
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("AP_MAG", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "AP_MAG");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // Working distance
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("AP_WD", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "AP_WD");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // BRIGHTNESS 亮度
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("AP_BRIGHTNESS", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "AP_BRIGHTNESS");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // AP_CONTRAST,对比度
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("AP_CONTRAST", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "AP_CONTRAST");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // Vacuum
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("DP_VACSTATUS", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "DP_VACSTATUS");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // Gun / EHT state
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("DP_RUNUPSTATE", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "DP_RUNUPSTATE");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // actual KV / EHT
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("AP_ACTUALKV", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "AP_ACTUALKV");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // actual current
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("AP_ACTUALCURRENT", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "AP_ACTUALCURRENT");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // column type
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("DP_COLUMN_TYPE", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "DP_COLUMN_TYPE");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // mode
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("DP_OPERATING_MODE", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "DP_OPERATING_MODE");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // scan rate
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("DP_SCANRATE", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "DP_SCANRATE");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // auto function active
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("DP_AUTO_FUNCTION", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "DP_AUTO_FUNCTION");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            //    // probe current
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("AP_IPROBE", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "AP_IPROBE");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // detector
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("DP_DETECTOR_TYPE", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "DP_DETECTOR_TYPE");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // stage initialised
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("DP_STAGE_INIT", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "DP_STAGE_INIT");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // stage busy?
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("DP_STAGE_IS", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "DP_STAGE_IS");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // fib mode
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("DP_FIB_MODE", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "DP_FIB_MODE");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -            //    // fib gun state
 | 
	
		
			
				|  |  | -            //    if (CZEMApi.SetNotify("DP_FIB_GUN_STATE", 1) != 0)
 | 
	
		
			
				|  |  | -            //    {
 | 
	
		
			
				|  |  | -            //        DisplayError("SetNotify", "DP_FIB_GUN_STATE");
 | 
	
		
			
				|  |  | -            //        return;
 | 
	
		
			
				|  |  | -            //    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            //listmsg.Items.Add("Notification enabled");
 | 
	
		
			
				|  |  | -            // }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        #endregion
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          #region 缩放Get
 | 
	
		
			
				|  |  |          private void btnenlargeGet_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float ret = sem.GetMagnification();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            float ret = iSEM.GetMagnification();
 | 
	
		
			
				|  |  |              if (float.IsNaN(ret))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblenlargeGet.Text = "NaN";
 | 
	
	
		
			
				|  | @@ -209,7 +69,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              float set = 0;
 | 
	
		
			
				|  |  |              if (float.TryParse(txtenlargeSet.Text, out set))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                sem.SetMagnification(set);
 | 
	
		
			
				|  |  | +                iSEM.SetMagnification(set);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -218,7 +78,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |          #region 焦距Get
 | 
	
		
			
				|  |  |          private void btnWDGet_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float ret = sem.GetWorkingDistance();
 | 
	
		
			
				|  |  | +            float ret = iSEM.GetWorkingDistance();
 | 
	
		
			
				|  |  |              if (float.IsNaN(ret))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblWDGet.Text = "NaN";
 | 
	
	
		
			
				|  | @@ -240,7 +100,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              float set = 0;
 | 
	
		
			
				|  |  |              if (float.TryParse(txtWDSet.Text, out set))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                sem.SetWorkingDistance(set);
 | 
	
		
			
				|  |  | +                iSEM.SetWorkingDistance(set);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          #endregion
 | 
	
	
		
			
				|  | @@ -248,7 +108,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |          #region 亮度Get
 | 
	
		
			
				|  |  |          private void btnBrightnessGet_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float ret = sem.GetBrightness();
 | 
	
		
			
				|  |  | +            float ret = iSEM.GetBrightness();
 | 
	
		
			
				|  |  |              if (float.IsNaN(ret))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblBrightnessGet.Text = "NaN";
 | 
	
	
		
			
				|  | @@ -270,7 +130,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              float set = 0;
 | 
	
		
			
				|  |  |              if (float.TryParse(txtBrightnessSet.Text, out set))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                sem.SetBrightness(set);
 | 
	
		
			
				|  |  | +                iSEM.SetBrightness(set);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          #endregion
 | 
	
	
		
			
				|  | @@ -278,7 +138,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |          #region 对比度Get
 | 
	
		
			
				|  |  |          private void btnContrastGet_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float ret = sem.GetContrast();
 | 
	
		
			
				|  |  | +            float ret = iSEM.GetContrast();
 | 
	
		
			
				|  |  |              if (float.IsNaN(ret))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblContrastGet.Text = "NaN";
 | 
	
	
		
			
				|  | @@ -300,7 +160,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              float set = 0;
 | 
	
		
			
				|  |  |              if (float.TryParse(txtContrastSet.Text, out set))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                sem.SetContrast(set);
 | 
	
		
			
				|  |  | +                iSEM.SetContrast(set);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          #endregion
 | 
	
	
		
			
				|  | @@ -308,7 +168,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |          #region 消像散X Get
 | 
	
		
			
				|  |  |          private void btnAstigmatismXGet_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float ret = sem.GetAstigmatismX();
 | 
	
		
			
				|  |  | +            float ret = iSEM.GetAstigmatismX();
 | 
	
		
			
				|  |  |              if (float.IsNaN(ret))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblAstigmatismXGet.Text = "NaN";
 | 
	
	
		
			
				|  | @@ -330,7 +190,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              float set = 0;
 | 
	
		
			
				|  |  |              if (float.TryParse(txtAstigmatismXSet.Text, out set))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                sem.SetAstigmatismX(set);
 | 
	
		
			
				|  |  | +                iSEM.SetAstigmatismX(set);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          #endregion
 | 
	
	
		
			
				|  | @@ -338,7 +198,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |          #region 消像散Y Get
 | 
	
		
			
				|  |  |          private void btnAstigmatismYGet_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float ret = sem.GetAstigmatismY();
 | 
	
		
			
				|  |  | +            float ret = iSEM.GetAstigmatismY();
 | 
	
		
			
				|  |  |              if (float.IsNaN(ret))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblAstigmatismYGet.Text = "NaN";
 | 
	
	
		
			
				|  | @@ -360,7 +220,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              float set = 0;
 | 
	
		
			
				|  |  |              if (float.TryParse(txtAstigmatismYSet.Text, out set))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                sem.SetAstigmatismY(set);
 | 
	
		
			
				|  |  | +                iSEM.SetAstigmatismY(set);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -369,7 +229,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |          #region 角度补偿Get
 | 
	
		
			
				|  |  |          private void btnTiltAngleGet_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float ret = sem.GetTiltAngle();
 | 
	
		
			
				|  |  | +            float ret = iSEM.GetTiltAngle();
 | 
	
		
			
				|  |  |              if (float.IsNaN(ret))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblTiltAngleGet.Text = "NaN";
 | 
	
	
		
			
				|  | @@ -391,7 +251,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              float set = 0;
 | 
	
		
			
				|  |  |              if (float.TryParse(txtTiltAngleSet.Text, out set))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                sem.SetTiltAngle(set);
 | 
	
		
			
				|  |  | +                iSEM.SetTiltAngle(set);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          #endregion
 | 
	
	
		
			
				|  | @@ -406,7 +266,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              if (sfd.ShowDialog() == DialogResult.OK)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  string fn = sfd.FileName;
 | 
	
		
			
				|  |  | -                sem.GrabImage(fn, 0);
 | 
	
		
			
				|  |  | +                iSEM.GrabImage(fn, 0, 0, 1024, 768, 0);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          #endregion
 | 
	
	
		
			
				|  | @@ -414,7 +274,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |          #region ScanRotate Get
 | 
	
		
			
				|  |  |          private void btnScanRotationGet_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float ret = sem.GetScanRotation();
 | 
	
		
			
				|  |  | +            float ret = iSEM.GetScanRotation();
 | 
	
		
			
				|  |  |              if (float.IsNaN(ret))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblScanRotationGet.Text = "NaN";
 | 
	
	
		
			
				|  | @@ -436,7 +296,8 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              float set = 0;
 | 
	
		
			
				|  |  |              if (float.TryParse(txtScanRotationSet.Text, out set))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                sem.SetScanRotation(set);
 | 
	
		
			
				|  |  | +                
 | 
	
		
			
				|  |  | +                iSEM.SetScanRotation(set);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          #endregion
 | 
	
	
		
			
				|  | @@ -444,7 +305,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |          #region PixelSize Get
 | 
	
		
			
				|  |  |          private void btnPixelSizeGet_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float ret = sem.GetPixelSize();
 | 
	
		
			
				|  |  | +            float ret = iSEM.GetPixelSize();
 | 
	
		
			
				|  |  |              if (float.IsNaN(ret))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblPixelSizeGet.Text = "NaN";
 | 
	
	
		
			
				|  | @@ -459,21 +320,21 @@ namespace HOZProject
 | 
	
		
			
				|  |  |          #region 开启电压
 | 
	
		
			
				|  |  |          private void btnOpenVoltage_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            sem.CmdOpenVoltage();
 | 
	
		
			
				|  |  | +            iSEM.CmdOpenVoltage();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          #endregion
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          #region 关闭电压
 | 
	
		
			
				|  |  |          private void btnCloseVoltage_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            sem.CmdCloseVoltage();
 | 
	
		
			
				|  |  | +            iSEM.CmdCloseVoltage();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          #endregion
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          #region 样品台位置获取
 | 
	
		
			
				|  |  |          private void btnStageGetX_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float ret = sem.GetStageAtX();
 | 
	
		
			
				|  |  | +            float ret = iSEM.GetStageAtX();
 | 
	
		
			
				|  |  |              if (float.IsNaN(ret))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblStageX.Text = "NaN";
 | 
	
	
		
			
				|  | @@ -486,7 +347,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private void btnStageGetY_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float ret = sem.GetStageAtY();
 | 
	
		
			
				|  |  | +            float ret = iSEM.GetStageAtY();
 | 
	
		
			
				|  |  |              if (float.IsNaN(ret))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblStageY.Text = "NaN";
 | 
	
	
		
			
				|  | @@ -499,7 +360,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private void btnStageGetZ_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float ret = sem.GetStageAtZ();
 | 
	
		
			
				|  |  | +            float ret = iSEM.GetStageAtZ();
 | 
	
		
			
				|  |  |              if (float.IsNaN(ret))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblStageZ.Text = "NaN";
 | 
	
	
		
			
				|  | @@ -512,7 +373,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private void btnStageGetT_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float ret = sem.GetStageAtT();
 | 
	
		
			
				|  |  | +            float ret = iSEM.GetStageAtT();
 | 
	
		
			
				|  |  |              if (float.IsNaN(ret))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblStageT.Text = "NaN";
 | 
	
	
		
			
				|  | @@ -525,7 +386,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private void btnStageGetR_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float ret = sem.GetStageAtR();
 | 
	
		
			
				|  |  | +            float ret = iSEM.GetStageAtR();
 | 
	
		
			
				|  |  |              if (float.IsNaN(ret))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblStageR.Text = "NaN";
 | 
	
	
		
			
				|  | @@ -538,7 +399,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private void btnStageGetM_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float ret = sem.GetStageAtM();
 | 
	
		
			
				|  |  | +            float ret = iSEM.GetStageAtM();
 | 
	
		
			
				|  |  |              if (float.IsNaN(ret))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblStageM.Text = "NaN";
 | 
	
	
		
			
				|  | @@ -556,7 +417,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              float set = 0;
 | 
	
		
			
				|  |  |              if (float.TryParse(txtStageX.Text, out set))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                sem.SetStageGotoX(set);
 | 
	
		
			
				|  |  | +                iSEM.SetStageGotoX(set);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -565,7 +426,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              float set = 0;
 | 
	
		
			
				|  |  |              if (float.TryParse(txtStageY.Text, out set))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                sem.SetStageGotoY(set);
 | 
	
		
			
				|  |  | +                iSEM.SetStageGotoY(set);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -574,7 +435,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              float set = 0;
 | 
	
		
			
				|  |  |              if (float.TryParse(txtStageZ.Text, out set))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                sem.SetStageGotoZ(set);
 | 
	
		
			
				|  |  | +                iSEM.SetStageGotoZ(set);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -583,7 +444,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              float set = 0;
 | 
	
		
			
				|  |  |              if (float.TryParse(txtStageT.Text, out set))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                sem.SetStageGotoT(set);
 | 
	
		
			
				|  |  | +                iSEM.SetStageGotoT(set);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -592,7 +453,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              float set = 0;
 | 
	
		
			
				|  |  |              if (float.TryParse(txtStageR.Text, out set))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                sem.SetStageGotoR(set);
 | 
	
		
			
				|  |  | +                iSEM.SetStageGotoR(set);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -601,7 +462,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              float set = 0;
 | 
	
		
			
				|  |  |              if (float.TryParse(txtStageM.Text, out set))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                sem.SetStageGotoM(set);
 | 
	
		
			
				|  |  | +                iSEM.SetStageGotoM(set);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          #endregion
 | 
	
	
		
			
				|  | @@ -609,7 +470,7 @@ namespace HOZProject
 | 
	
		
			
				|  |  |          #region 获取样品台位置数组
 | 
	
		
			
				|  |  |          private void btnGetStagePosition_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            float[] pt = sem.GetStagePosition();
 | 
	
		
			
				|  |  | +            float[] pt = iSEM.GetStagePosition();
 | 
	
		
			
				|  |  |              if (!float.IsNaN(pt[0]))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  lblStageX.Text = pt[0].ToString();
 | 
	
	
		
			
				|  | @@ -636,5 +497,28 @@ namespace HOZProject
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          #endregion
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        private void btnDoSemDriftCorrn_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            iSEM.SetTiltCorrectionOff();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        private void button1_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            iSEM.SetTiltCorrectionOn();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        private void FormUnitControl_FormClosing(object sender, FormClosingEventArgs e)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            if(iSEM!=null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                iSEM.Dispose();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        private void btnCMDMCF_Click(object sender, EventArgs e)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            iSEM.CMDMCFFilename("OPTON");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |