Selaa lähdekoodia

update SmartSEM.cs

@wang_qi0307 5 vuotta sitten
vanhempi
commit
51fe355aff
2 muutettua tiedostoa jossa 58 lisäystä ja 19 poistoa
  1. 9 0
      SmartSEMControl/HardwareInterface.cs
  2. 49 19
      SmartSEMControl/SmartSEM.cs

+ 9 - 0
SmartSEMControl/HardwareInterface.cs

@@ -131,6 +131,15 @@ namespace SmartSEMControl
         //执行宏文件
         Boolean CMDMCFFilename(String filename);
 
+        //样品台状态
+        float GetStageIs();
+
+        //自动函数状态
+        float GetAutoFunction();
+
+        //连接状态
+        Boolean ConnectStatus();
+
         //清除控件
         Boolean Dispose();
 

+ 49 - 19
SmartSEMControl/SmartSEM.cs

@@ -78,6 +78,10 @@ namespace SmartSEMControl
         private String DP_DETECTOR_TYPE = "DP_DETECTOR_TYPE";
         //图像大小
         private String DP_IMAGE_STORE = "DP_IMAGE_STORE";
+        //样品台状态
+        private String DP_STAGE_IS = "DP_STAGE_IS";
+        //自动函数状态
+        private String DP_AUTO_FUNCTION = "DP_AUTO_FUNCTION";
         #endregion
 
         #region 命令
@@ -100,7 +104,6 @@ namespace SmartSEMControl
         #region APILib
         private Api CZEMApi = new Api();
         private Boolean m_bInitialised = false;
-        private long lrt = 0;
         #endregion
 
         #region 构造函数
@@ -117,6 +120,7 @@ namespace SmartSEMControl
         /// <returns>return:true or false</returns>
         public Boolean Init()
         {
+            long lrt = 0;
             #if ROMOTE
                 lrt = CZEMApi.InitialiseRemoting();
             #else
@@ -142,7 +146,7 @@ namespace SmartSEMControl
         /// <returns>return:true or false</returns>
         public Boolean InitRemoting()
         {
-            lrt = CZEMApi.InitialiseRemoting();
+            long lrt = CZEMApi.InitialiseRemoting();
             if (lrt != 0)
             {
                 m_bInitialised = false;
@@ -156,6 +160,13 @@ namespace SmartSEMControl
         }
         #endregion
 
+        #region 连接状态
+        public Boolean ConnectStatus()
+        {
+            return m_bInitialised;
+        }
+        #endregion
+
         #region 关闭设备
         /// <summary>
         /// 关闭设备
@@ -165,7 +176,7 @@ namespace SmartSEMControl
         {
             if (m_bInitialised)
             {
-                lrt = CZEMApi.ClosingControl();
+                long lrt = CZEMApi.ClosingControl();
                 if (lrt != 0)
                 {
                     return false;
@@ -189,7 +200,7 @@ namespace SmartSEMControl
             if (m_bInitialised)
             {
                 object varfloat = new VariantWrapper((float)0.0f);
-                lrt = CZEMApi.Get(str_param, ref varfloat);
+                long lrt = CZEMApi.Get(str_param, ref varfloat);
                 if (lrt != 0)
                 {
                     return false;
@@ -215,7 +226,7 @@ namespace SmartSEMControl
                 //先取范围
                 object varMin = new VariantWrapper((float)0.0f);
                 object varMax = new VariantWrapper((float)0.0f);
-                lrt = CZEMApi.GetLimits(str_param, ref varMin, ref varMax);
+                long lrt = CZEMApi.GetLimits(str_param, ref varMin, ref varMax);
                 if (lrt != 0)
                 {
                     return false;
@@ -229,17 +240,6 @@ namespace SmartSEMControl
                         return false;
                     }
                     return true;
-                    //这里是写入后读取判断值是否写入,也可以在事件1中捕获返回值
-                    //object varfloat = new VariantWrapper((float)0.0f);
-                    ////object varStr = new VariantWrapper("");
-                    //lrt = CZEMApi.Get(strPara, ref varfloat);
-
-                    //if (lrt != 0)
-                    //{
-                    //    ReportError(lrt, "Set Value", strPara);
-                    //    return;
-                    //}
-                    //lblgetValue.Text = Convert.ToDecimal(varfloat).ToString();
                 }
                 else
                 {
@@ -259,7 +259,7 @@ namespace SmartSEMControl
             if (m_bInitialised)
             {
                 object varFloat = new VariantWrapper(value);
-                lrt = CZEMApi.Set(str_param, ref varFloat);// set value
+                long lrt = CZEMApi.Set(str_param, ref varFloat);// set value
                 if (lrt != 0)
                 {
                     return false;
@@ -278,7 +278,7 @@ namespace SmartSEMControl
         {
             if (m_bInitialised)
             {
-                lrt = CZEMApi.Execute(cmd);// execute command
+                long lrt = CZEMApi.Execute(cmd);// execute command
                 if (lrt != 0)
                 {
                     return false;
@@ -688,7 +688,7 @@ namespace SmartSEMControl
         {
             if (m_bInitialised)
             {
-                lrt = CZEMApi.Grab(xoff, yoff, width, height, type, filename);
+                long lrt = CZEMApi.Grab(xoff, yoff, width, height, type, filename);
                 if (lrt != 0)
                 {
                     return false;
@@ -1116,5 +1116,35 @@ namespace SmartSEMControl
             return ExecuteCmd(CMDMCF);
         }
         #endregion
+
+        #region 读取样品台状态
+        public float GetStageIs()
+        {
+            float ret = 0;
+            if (ReadParams(DP_STAGE_IS, ref ret))
+            {
+                return ret;
+            }
+            else
+            {
+                return float.NaN;
+            }
+        }
+        #endregion
+
+        #region 读取自动函数的状态
+        public float GetAutoFunction()
+        {
+            float ret = 0;
+            if (ReadParams(DP_AUTO_FUNCTION, ref ret))
+            {
+                return ret;
+            }
+            else
+            {
+                return float.NaN;
+            }
+        }
+        #endregion
     }
 }