Browse Source

update the latest code taking back from huawei

gsp 4 years ago
parent
commit
aaaaa8ef5b

+ 1 - 1
DBManager/DBManager.csproj

@@ -29,7 +29,7 @@
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>pdbonly</DebugType>
     <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
+    <OutputPath>..\bin\Release\</OutputPath>
     <DefineConstants>TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>

+ 0 - 10
ExtenderControl/HOZExtender.csproj

@@ -84,16 +84,6 @@
     <Compile Include="ExtenderInterface.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
-  <ItemGroup>
-    <Content Include="C:\Program Files (x86)\Oxford Instruments NanoAnalysis\Extender\x64\OINA.Ipp.dll">
-      <Link>x64\OINA.Ipp.dll</Link>
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
-    <Content Include="C:\Program Files (x86)\Oxford Instruments NanoAnalysis\Extender\x86\OINA.Ipp.dll">
-      <Link>x86\OINA.Ipp.dll</Link>
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
-  </ItemGroup>
   <ItemGroup>
     <None Include="App.config" />
     <None Include="packages.config" />

+ 14 - 10
HOZProject/App.config

@@ -20,8 +20,7 @@
       <add key="LastSelectFirm" value="Ocean-BOE" />
       <!--是否倾斜样品台-->
       <add key="Is_Title" value="True" />
-      <!--是否仅拍照-->
-      <add key="Is_Photograph" value="False" />
+   
       <!--是否PT沉积-->
       <add key="PT_Depostion" value="False" />
       <!--是否能谱测量-->
@@ -46,6 +45,10 @@
       <!--图像接口模式,人工干预-1,自动运算-2-->
       <add key="Hand_Intervene" value="2" />
 
+      <!--远程对焦IP地址-->
+      <add key="FocusServerIP" value="192.168.1.101" />
+      <!--远程对焦端口号-->
+      <add key="FocusServerPort" value="8123" />
       <!--远程IP地址-->
       <add key="WebServerIP" value="127.0.0.1" />
       <!--远程IP端口-->
@@ -54,21 +57,22 @@
       <add key="WebServerUrl" value="FIB_degree_recognize,FIB_cal_cut_location,FIB_verify,FIB_cut_center_location,FIB_sharpness,FIB_sharpness,FIB_degree_recognize_trap,FIB_measure_location,FIB_measure_parameter,FIB_EDS_points,FIB_EDS_lines,FIB_EDS_areas" />
 
 
-      
-     
 
-      <add key="RemoteELYPath" value="\\192.168.1.101\Carl Zeiss\SmartFIB\API\Drop\" />
-      <add key="RemoteMLFPath" value="\\192.168.1.101\Carl Zeiss\SmartSEM\User\Service\" />
+      <add key="RemoteCutHoleInfoFilePath" value="\\192.168.1.101\Service" />
 
+      <add key="RemoteELYPath" value="\\192.168.1.101\fib auto\FIB Recipe\" />
+      <add key="RemoteMLFPath" value="\\192.168.1.101\fib auto\FIB Recipe\" />
 
-     
-      
+
+
+      <!--是否仅拍照-->
+      <!--<add key="Is_Photograph" value="False" />-->
       <!--add by sun 2020-12-17 增加调试时是否切割开关-->
-      <add key="IsCutingForDebug" value="true" />
+      <!--<add key="IsCutingForDebug" value="true" />-->
       <!--add by sun 2020-12-17 增加调试时是否切割开关-->
 
       <!--add by zjx 2020-12-18 为了测试只做能谱部分-->
-      <add key="IsonlyEDSForDebug" value="true" />
+      <!--<add key="IsonlyEDSForDebug" value="true" />-->
       <!--add by zjx 2020-12-18 为了测试只做能谱部分-->
       
       

+ 90 - 60
HOZProject/FormHOZMain.Designer.cs

@@ -89,9 +89,10 @@
             this.plMain.Controls.Add(this.plFill);
             this.plMain.Controls.Add(this.plLeft);
             this.plMain.Controls.Add(this.plTop);
-            this.plMain.Location = new System.Drawing.Point(12, 12);
+            this.plMain.Location = new System.Drawing.Point(16, 15);
+            this.plMain.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.plMain.Name = "plMain";
-            this.plMain.Size = new System.Drawing.Size(1051, 716);
+            this.plMain.Size = new System.Drawing.Size(1401, 895);
             this.plMain.TabIndex = 1;
             // 
             // plFill
@@ -105,9 +106,10 @@
             this.plFill.Controls.Add(this.listmsg);
             this.plFill.Controls.Add(this.pbImage);
             this.plFill.Controls.Add(this.plSEM);
-            this.plFill.Location = new System.Drawing.Point(152, 86);
+            this.plFill.Location = new System.Drawing.Point(203, 108);
+            this.plFill.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.plFill.Name = "plFill";
-            this.plFill.Size = new System.Drawing.Size(894, 630);
+            this.plFill.Size = new System.Drawing.Size(1192, 788);
             this.plFill.TabIndex = 5;
             // 
             // groupBox1
@@ -118,9 +120,11 @@
             this.groupBox1.Controls.Add(this.comboBox1);
             this.groupBox1.Controls.Add(this.textBox2);
             this.groupBox1.ForeColor = System.Drawing.Color.White;
-            this.groupBox1.Location = new System.Drawing.Point(682, 3);
+            this.groupBox1.Location = new System.Drawing.Point(909, 4);
+            this.groupBox1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.groupBox1.Name = "groupBox1";
-            this.groupBox1.Size = new System.Drawing.Size(200, 100);
+            this.groupBox1.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.groupBox1.Size = new System.Drawing.Size(267, 125);
             this.groupBox1.TabIndex = 26;
             this.groupBox1.TabStop = false;
             this.groupBox1.Text = "测试设置状态";
@@ -128,18 +132,20 @@
             // 
             // textBox1
             // 
-            this.textBox1.Location = new System.Drawing.Point(6, 20);
+            this.textBox1.Location = new System.Drawing.Point(8, 25);
+            this.textBox1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.textBox1.Name = "textBox1";
-            this.textBox1.Size = new System.Drawing.Size(100, 21);
+            this.textBox1.Size = new System.Drawing.Size(132, 25);
             this.textBox1.TabIndex = 21;
             this.textBox1.Text = "分析点名称";
             // 
             // button1
             // 
             this.button1.ForeColor = System.Drawing.Color.Black;
-            this.button1.Location = new System.Drawing.Point(119, 20);
+            this.button1.Location = new System.Drawing.Point(159, 25);
+            this.button1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.button1.Name = "button1";
-            this.button1.Size = new System.Drawing.Size(75, 73);
+            this.button1.Size = new System.Drawing.Size(100, 91);
             this.button1.TabIndex = 24;
             this.button1.Text = "测试";
             this.button1.UseVisualStyleBackColor = true;
@@ -151,16 +157,18 @@
             this.comboBox1.Items.AddRange(new object[] {
             "True",
             "False"});
-            this.comboBox1.Location = new System.Drawing.Point(6, 73);
+            this.comboBox1.Location = new System.Drawing.Point(8, 91);
+            this.comboBox1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.comboBox1.Name = "comboBox1";
-            this.comboBox1.Size = new System.Drawing.Size(100, 20);
+            this.comboBox1.Size = new System.Drawing.Size(132, 23);
             this.comboBox1.TabIndex = 25;
             // 
             // textBox2
             // 
-            this.textBox2.Location = new System.Drawing.Point(6, 47);
+            this.textBox2.Location = new System.Drawing.Point(8, 59);
+            this.textBox2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.textBox2.Name = "textBox2";
-            this.textBox2.Size = new System.Drawing.Size(100, 21);
+            this.textBox2.Size = new System.Drawing.Size(132, 25);
             this.textBox2.TabIndex = 22;
             this.textBox2.Text = "编号";
             // 
@@ -169,8 +177,9 @@
             this.plPrarInfo.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240)))));
             this.plPrarInfo.ForeColor = System.Drawing.Color.Transparent;
             this.plPrarInfo.Location = new System.Drawing.Point(0, 0);
+            this.plPrarInfo.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.plPrarInfo.Name = "plPrarInfo";
-            this.plPrarInfo.Size = new System.Drawing.Size(218, 100);
+            this.plPrarInfo.Size = new System.Drawing.Size(291, 125);
             this.plPrarInfo.TabIndex = 2;
             this.plPrarInfo.Visible = false;
             // 
@@ -178,11 +187,11 @@
             // 
             this.listmsg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
             this.listmsg.FormattingEnabled = true;
-            this.listmsg.ItemHeight = 12;
-            this.listmsg.Location = new System.Drawing.Point(246, 94);
-            this.listmsg.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1);
+            this.listmsg.ItemHeight = 15;
+            this.listmsg.Location = new System.Drawing.Point(328, 118);
+            this.listmsg.Margin = new System.Windows.Forms.Padding(3, 1, 3, 1);
             this.listmsg.Name = "listmsg";
-            this.listmsg.Size = new System.Drawing.Size(477, 196);
+            this.listmsg.Size = new System.Drawing.Size(635, 244);
             this.listmsg.TabIndex = 18;
             this.listmsg.Visible = false;
             // 
@@ -192,8 +201,9 @@
             this.pbImage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
             this.pbImage.Dock = System.Windows.Forms.DockStyle.Fill;
             this.pbImage.Location = new System.Drawing.Point(0, 0);
+            this.pbImage.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pbImage.Name = "pbImage";
-            this.pbImage.Size = new System.Drawing.Size(894, 573);
+            this.pbImage.Size = new System.Drawing.Size(1192, 717);
             this.pbImage.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
             this.pbImage.TabIndex = 20;
             this.pbImage.TabStop = false;
@@ -205,9 +215,10 @@
             this.plSEM.Controls.Add(this.lblStateMessage);
             this.plSEM.Controls.Add(this.lblFlowContent);
             this.plSEM.Dock = System.Windows.Forms.DockStyle.Bottom;
-            this.plSEM.Location = new System.Drawing.Point(0, 573);
+            this.plSEM.Location = new System.Drawing.Point(0, 717);
+            this.plSEM.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.plSEM.Name = "plSEM";
-            this.plSEM.Size = new System.Drawing.Size(894, 57);
+            this.plSEM.Size = new System.Drawing.Size(1192, 71);
             this.plSEM.TabIndex = 19;
             // 
             // lblStateMessage
@@ -216,9 +227,10 @@
             this.lblStateMessage.BackColor = System.Drawing.Color.Transparent;
             this.lblStateMessage.Font = new System.Drawing.Font("微软雅黑", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.lblStateMessage.ForeColor = System.Drawing.Color.Black;
-            this.lblStateMessage.Location = new System.Drawing.Point(610, 15);
+            this.lblStateMessage.Location = new System.Drawing.Point(814, 19);
+            this.lblStateMessage.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.lblStateMessage.Name = "lblStateMessage";
-            this.lblStateMessage.Size = new System.Drawing.Size(284, 24);
+            this.lblStateMessage.Size = new System.Drawing.Size(379, 30);
             this.lblStateMessage.TabIndex = 1;
             this.lblStateMessage.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
             // 
@@ -228,9 +240,10 @@
             this.lblFlowContent.BackColor = System.Drawing.Color.Transparent;
             this.lblFlowContent.Font = new System.Drawing.Font("微软雅黑", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.lblFlowContent.ForeColor = System.Drawing.Color.Black;
-            this.lblFlowContent.Location = new System.Drawing.Point(25, 21);
+            this.lblFlowContent.Location = new System.Drawing.Point(33, 26);
+            this.lblFlowContent.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.lblFlowContent.Name = "lblFlowContent";
-            this.lblFlowContent.Size = new System.Drawing.Size(0, 19);
+            this.lblFlowContent.Size = new System.Drawing.Size(0, 23);
             this.lblFlowContent.TabIndex = 0;
             // 
             // plLeft
@@ -240,9 +253,10 @@
             this.plLeft.Controls.Add(this.label1);
             this.plLeft.Controls.Add(this.plLeftContent);
             this.plLeft.Dock = System.Windows.Forms.DockStyle.Left;
-            this.plLeft.Location = new System.Drawing.Point(0, 80);
+            this.plLeft.Location = new System.Drawing.Point(0, 100);
+            this.plLeft.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.plLeft.Name = "plLeft";
-            this.plLeft.Size = new System.Drawing.Size(146, 636);
+            this.plLeft.Size = new System.Drawing.Size(194, 795);
             this.plLeft.TabIndex = 4;
             // 
             // label1
@@ -251,9 +265,10 @@
             this.label1.BackColor = System.Drawing.Color.Transparent;
             this.label1.Font = new System.Drawing.Font("微软雅黑", 8F, System.Drawing.FontStyle.Bold);
             this.label1.ForeColor = System.Drawing.Color.Black;
-            this.label1.Location = new System.Drawing.Point(32, 2);
+            this.label1.Location = new System.Drawing.Point(43, 2);
+            this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
             this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(63, 16);
+            this.label1.Size = new System.Drawing.Size(79, 19);
             this.label1.TabIndex = 1;
             this.label1.Text = "分析点列表";
             // 
@@ -265,9 +280,10 @@
             this.plLeftContent.AutoScroll = true;
             this.plLeftContent.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240)))));
             this.plLeftContent.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-            this.plLeftContent.Location = new System.Drawing.Point(5, 21);
+            this.plLeftContent.Location = new System.Drawing.Point(7, 26);
+            this.plLeftContent.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.plLeftContent.Name = "plLeftContent";
-            this.plLeftContent.Size = new System.Drawing.Size(134, 612);
+            this.plLeftContent.Size = new System.Drawing.Size(178, 765);
             this.plLeftContent.TabIndex = 0;
             // 
             // plTop
@@ -288,8 +304,9 @@
             this.plTop.Controls.Add(this.pbInit);
             this.plTop.Dock = System.Windows.Forms.DockStyle.Top;
             this.plTop.Location = new System.Drawing.Point(0, 0);
+            this.plTop.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.plTop.Name = "plTop";
-            this.plTop.Size = new System.Drawing.Size(1051, 80);
+            this.plTop.Size = new System.Drawing.Size(1401, 100);
             this.plTop.TabIndex = 3;
             // 
             // pbPause
@@ -297,9 +314,10 @@
             this.pbPause.BackgroundImage = global::HOZProject.Properties.Resources.Report;
             this.pbPause.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
             this.pbPause.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.pbPause.Location = new System.Drawing.Point(301, 5);
+            this.pbPause.Location = new System.Drawing.Point(401, 6);
+            this.pbPause.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pbPause.Name = "pbPause";
-            this.pbPause.Size = new System.Drawing.Size(68, 71);
+            this.pbPause.Size = new System.Drawing.Size(91, 89);
             this.pbPause.TabIndex = 8;
             this.pbPause.TabStop = false;
             this.pbPause.Click += new System.EventHandler(this.pbPause_Click);
@@ -310,9 +328,10 @@
             this.pbStart.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pbStart.BackgroundImage")));
             this.pbStart.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
             this.pbStart.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.pbStart.Location = new System.Drawing.Point(226, 3);
+            this.pbStart.Location = new System.Drawing.Point(301, 4);
+            this.pbStart.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pbStart.Name = "pbStart";
-            this.pbStart.Size = new System.Drawing.Size(68, 71);
+            this.pbStart.Size = new System.Drawing.Size(91, 89);
             this.pbStart.TabIndex = 8;
             this.pbStart.TabStop = false;
             this.pbStart.Click += new System.EventHandler(this.pbStart_Click);
@@ -326,9 +345,10 @@
             this.pbMax.BackgroundImage = global::HOZProject.Properties.Resources.Max_2_;
             this.pbMax.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
             this.pbMax.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.pbMax.Location = new System.Drawing.Point(982, 4);
+            this.pbMax.Location = new System.Drawing.Point(1309, 5);
+            this.pbMax.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pbMax.Name = "pbMax";
-            this.pbMax.Size = new System.Drawing.Size(28, 31);
+            this.pbMax.Size = new System.Drawing.Size(37, 39);
             this.pbMax.TabIndex = 7;
             this.pbMax.TabStop = false;
             this.pbMax.Click += new System.EventHandler(this.pbMax_Click);
@@ -342,9 +362,10 @@
             this.pbMin.BackgroundImage = global::HOZProject.Properties.Resources.Min_2_;
             this.pbMin.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
             this.pbMin.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.pbMin.Location = new System.Drawing.Point(948, 4);
+            this.pbMin.Location = new System.Drawing.Point(1264, 5);
+            this.pbMin.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pbMin.Name = "pbMin";
-            this.pbMin.Size = new System.Drawing.Size(28, 31);
+            this.pbMin.Size = new System.Drawing.Size(37, 39);
             this.pbMin.TabIndex = 7;
             this.pbMin.TabStop = false;
             this.pbMin.Click += new System.EventHandler(this.pbMin_Click);
@@ -358,9 +379,10 @@
             this.pbClose.BackgroundImage = global::HOZProject.Properties.Resources.exit_2_;
             this.pbClose.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
             this.pbClose.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.pbClose.Location = new System.Drawing.Point(1016, 4);
+            this.pbClose.Location = new System.Drawing.Point(1355, 5);
+            this.pbClose.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pbClose.Name = "pbClose";
-            this.pbClose.Size = new System.Drawing.Size(28, 31);
+            this.pbClose.Size = new System.Drawing.Size(37, 39);
             this.pbClose.TabIndex = 7;
             this.pbClose.TabStop = false;
             this.pbClose.Click += new System.EventHandler(this.pbClose_Click);
@@ -373,9 +395,10 @@
             this.pbImportTemplateFile.BackgroundImage = global::HOZProject.Properties.Resources.ImportConfigFile_3_;
             this.pbImportTemplateFile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
             this.pbImportTemplateFile.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.pbImportTemplateFile.Location = new System.Drawing.Point(473, 4);
+            this.pbImportTemplateFile.Location = new System.Drawing.Point(631, 5);
+            this.pbImportTemplateFile.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pbImportTemplateFile.Name = "pbImportTemplateFile";
-            this.pbImportTemplateFile.Size = new System.Drawing.Size(68, 71);
+            this.pbImportTemplateFile.Size = new System.Drawing.Size(91, 89);
             this.pbImportTemplateFile.TabIndex = 6;
             this.pbImportTemplateFile.TabStop = false;
             this.pbImportTemplateFile.Visible = false;
@@ -387,9 +410,10 @@
             this.pbLog.BackgroundImage = global::HOZProject.Properties.Resources.Log_3_;
             this.pbLog.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
             this.pbLog.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.pbLog.Location = new System.Drawing.Point(566, 4);
+            this.pbLog.Location = new System.Drawing.Point(755, 5);
+            this.pbLog.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pbLog.Name = "pbLog";
-            this.pbLog.Size = new System.Drawing.Size(68, 71);
+            this.pbLog.Size = new System.Drawing.Size(91, 89);
             this.pbLog.TabIndex = 6;
             this.pbLog.TabStop = false;
             this.pbLog.Visible = false;
@@ -401,9 +425,10 @@
             this.pbSave.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pbSave.BackgroundImage")));
             this.pbSave.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
             this.pbSave.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.pbSave.Location = new System.Drawing.Point(152, 4);
+            this.pbSave.Location = new System.Drawing.Point(203, 5);
+            this.pbSave.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pbSave.Name = "pbSave";
-            this.pbSave.Size = new System.Drawing.Size(68, 71);
+            this.pbSave.Size = new System.Drawing.Size(91, 89);
             this.pbSave.TabIndex = 4;
             this.pbSave.TabStop = false;
             this.pbSave.Click += new System.EventHandler(this.pbSave_Click);
@@ -414,9 +439,10 @@
             this.pbOpen.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pbOpen.BackgroundImage")));
             this.pbOpen.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
             this.pbOpen.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.pbOpen.Location = new System.Drawing.Point(5, 4);
+            this.pbOpen.Location = new System.Drawing.Point(7, 4);
+            this.pbOpen.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pbOpen.Name = "pbOpen";
-            this.pbOpen.Size = new System.Drawing.Size(68, 71);
+            this.pbOpen.Size = new System.Drawing.Size(91, 89);
             this.pbOpen.TabIndex = 3;
             this.pbOpen.TabStop = false;
             this.pbOpen.Click += new System.EventHandler(this.pbOpen_Click);
@@ -426,9 +452,10 @@
             this.pbNew.BackgroundImage = global::HOZProject.Properties.Resources.New;
             this.pbNew.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
             this.pbNew.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.pbNew.Location = new System.Drawing.Point(5, 4);
+            this.pbNew.Location = new System.Drawing.Point(7, 5);
+            this.pbNew.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pbNew.Name = "pbNew";
-            this.pbNew.Size = new System.Drawing.Size(68, 71);
+            this.pbNew.Size = new System.Drawing.Size(91, 89);
             this.pbNew.TabIndex = 3;
             this.pbNew.TabStop = false;
             this.pbNew.Visible = false;
@@ -441,9 +468,10 @@
             this.pbStop.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
             this.pbStop.Cursor = System.Windows.Forms.Cursors.Hand;
             this.pbStop.Enabled = false;
-            this.pbStop.Location = new System.Drawing.Point(226, 4);
+            this.pbStop.Location = new System.Drawing.Point(301, 5);
+            this.pbStop.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pbStop.Name = "pbStop";
-            this.pbStop.Size = new System.Drawing.Size(68, 71);
+            this.pbStop.Size = new System.Drawing.Size(91, 89);
             this.pbStop.TabIndex = 8;
             this.pbStop.TabStop = false;
             this.pbStop.Visible = false;
@@ -457,23 +485,25 @@
             this.pbInit.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pbInit.BackgroundImage")));
             this.pbInit.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
             this.pbInit.Cursor = System.Windows.Forms.Cursors.Hand;
-            this.pbInit.Location = new System.Drawing.Point(78, 4);
+            this.pbInit.Location = new System.Drawing.Point(104, 5);
+            this.pbInit.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.pbInit.Name = "pbInit";
-            this.pbInit.Size = new System.Drawing.Size(68, 71);
+            this.pbInit.Size = new System.Drawing.Size(91, 89);
             this.pbInit.TabIndex = 5;
             this.pbInit.TabStop = false;
             this.pbInit.Click += new System.EventHandler(this.pbInit_Click);
             // 
             // FormHOZMain
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(73)))), ((int)(((byte)(179)))), ((int)(((byte)(254)))));
-            this.ClientSize = new System.Drawing.Size(1075, 733);
+            this.ClientSize = new System.Drawing.Size(1433, 916);
             this.ControlBox = false;
             this.Controls.Add(this.plMain);
             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
-            this.MinimumSize = new System.Drawing.Size(1024, 679);
+            this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+            this.MinimumSize = new System.Drawing.Size(1365, 849);
             this.Name = "FormHOZMain";
             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
             this.Text = "FormHOZMain";

+ 6 - 7
HOZProject/FormHOZMain.cs

@@ -138,7 +138,7 @@ namespace HOZProject
             m_BackgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(CompletedWork);
 
             uControl_Init = new UControl_Init(this);
-            //LogManager.InitManulLog();
+         
         }
         #endregion
 
@@ -151,15 +151,13 @@ namespace HOZProject
 
                 m_Ms = new Measure(ConfigurationManager.AppSettings["WebServerIP"].ToString(),
                      ConfigurationManager.AppSettings["WebServerPort"].ToString(),
-                     ConfigurationManager.AppSettings["WebServerUrl"].ToString());
+                     ConfigurationManager.AppSettings["WebServerUrl"].ToString(),m_MeasureFile);
 
         
 
-                //SmartSEM远程路径
-                m_Ms.RemoteELYPath =m_MeasureFile.MParam.RemoteELYPath;
-                m_Ms.RemoteMLFPath = m_MeasureFile.MParam.RemoteMLFPath;
+           
 
-                m_Ms.InitMeasure(m_MeasureFile);
+                m_Ms.InitMeasure();
                 //注册事件
                 m_Ms.SendThreadStatus += new ThreadStatusHandler(displayMessage);
                 //注册事件
@@ -775,7 +773,7 @@ namespace HOZProject
                     MessageBox.Show("线程已经运行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
-                if (MessageBox.Show("是否开始测量!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
+                else
                 {
                     log.Info("开始", true);
                     m_BackgroundWorker.RunWorkerAsync(this);
@@ -784,6 +782,7 @@ namespace HOZProject
                     pbStop.Visible = true;
                     pbStart.Visible = false;
                 }
+
             }
             else
             {

+ 5 - 5
HOZProject/FormUnitControl.cs

@@ -689,7 +689,7 @@ namespace HOZProject
 
             MeasureParam md = new MeasureParam();
             md.SampleType = "aaaaaa";
-            md.PT = true;
+            md.IfPT = true;
             md.PTTemp = "bbbbb";
             md.FIBTemp = "cccc";
             //md.FocusMode = 2;
@@ -1409,8 +1409,8 @@ namespace HOZProject
         private void btnCreateConfig_Click(object sender, EventArgs e)
         {
             MeasureParam cfm = new MeasureParam();
-            cfm.Is_Photograph = chkWIsP.Checked;
-            cfm.PT = chkWPT.Checked;
+            cfm.IsShotSectionToRun = chkWIsP.Checked;
+            cfm.IfPT = chkWPT.Checked;
             cfm.PTTemp = txtWPTF.Text;
             cfm.FIBTemp = txtWFIBF.Text;
             cfm.Straighten_Magnification = Convert.ToSingle(cbbWLZ.Text);
@@ -1470,8 +1470,8 @@ namespace HOZProject
             MeasureParam cfm = new MeasureParam();
             ConfigFile cf = new ConfigFile(cfm);
             cf.Read(@"E:\test.cfg");
-            chkRIsP.Checked = cfm.Is_Photograph;
-            chkRPT.Checked = cfm.PT;
+            chkRIsP.Checked = cfm.IsShotSectionToRun;
+            chkRPT.Checked = cfm.IfPT;
             txtRPTF.Text = cfm.PTTemp;
             txtRFIBF.Text = cfm.FIBTemp;
             txtRLZ.Text = cfm.Straighten_Magnification.ToString();

+ 20 - 3
HOZProject/MeasureMsgDispose/MeasureMsgManage.cs

@@ -234,14 +234,31 @@ namespace HOZProject
                         {
                             UControl_ParaInfo uControl_ParaInfo = (UControl_ParaInfo)item;
                             TimeLineItem[] ParaItem = uControl_ParaInfo.TlItem;
-                            foreach (TimeLineItem tlItem in ParaItem)
+                            //TimeLineItem nextItem=null;
+                            var timelinectrl = uControl_ParaInfo.GetUctrTimeLine();
+                            for (int i=0; i<ParaItem.Count(); i++)
                             {
-                                if (tlItem.Code == args.Step_Code)
+                               var tlItem = ParaItem[i];
+                                if (tlItem.Code == args.Step_Code)//找到与通告步骤号相对应的条目
                                 {
-                                    tlItem.State = args.State?1:0;
+                                    tlItem.State = args.State?1:0;//更新当前完成timeline 条目的状态,仅有1和0。
+                                                                  //if (i + 1 < ParaItem.Count())//如果下一个条目的编号是在条目集合内,就可以找到下一个条目
+                                                                  //{
+                                    timelinectrl.twinkleItem = tlItem;//
+                                    //}
+                                    //if(nextItem!=null)
+                                    //timelinectrl.twinkleItem = nextItem;//把下一个条目置为闪烁条目
+                                    //把闪烁条目之前的条目全部置为1,也就是全部变为绿色
+                                    for (int j = 0; j < i ; j++)
+                                    {
+                                        ParaItem[j].State = 1;
+
+                                    }
                                     break;
                                 }
                             }
+                          
+                          
                             //更新进度条
                             uControl_ParaInfo.UpdateCurrentMeasureSchedule();
                             //重新绘制

+ 3 - 3
HOZProject/MeasureXML/MeasureStructXml.xml

@@ -13,9 +13,9 @@
     <Step Index="7"  Code="2-1" IsData="False" Type="FIB" IsShow="True" Title="FIB操作" Details="切换到FIB模式"></Step>
     <Step Index="8"  Code="2-2" IsData="False" Type="FIB" IsShow="False" Title="FIB操作" Details="设置放大倍数"></Step>
     <Step Index="9"  Code="2-3" IsData="True" Type="FIB" IsShow="False" Title="FIB操作" Details="拍照"></Step>
-    <Step Index="10"  Code="2-4" IsData="False" Type="Pt" IsShow="True" Title="FIB操作" Details="插入PT针"></Step>
-    <Step Index="11"  Code="2-5" IsData="False" Type="Pt" IsShow="True" Title="FIB操作" Details="PT沉积"></Step>
-    <Step Index="12"  Code="2-6" IsData="False" Type="Pt" IsShow="True" Title="FIB操作" Details="撤出PT针"></Step>
+    <Step Index="10"  Code="2-4" IsData="False" Type="Pt" IsShow="False" Title="FIB操作" Details="插入PT针"></Step>
+    <Step Index="11"  Code="2-5" IsData="False" Type="Pt" IsShow="False" Title="FIB操作" Details="PT沉积"></Step>
+    <Step Index="12"  Code="2-6" IsData="False" Type="Pt" IsShow="False" Title="FIB操作" Details="撤出PT针"></Step>
     <Step Index="13"  Code="2-7" IsData="False" Type="FIB" IsShow="True" Title="FIB操作" Details="切换到FIB模式"></Step>
     <Step Index="14"  Code="2-8" IsData="False" Type="FIB" IsShow="True" Title="FIB操作" Details="切割"></Step>
 

+ 100 - 132
HOZProject/UserControls/UCTimeLine.cs

@@ -20,8 +20,7 @@ namespace HOZProject
         /// <summary>
         /// Timed flashing
         /// </summary>
-        int count = 0;
-        int min = 0;
+    
         /// <summary>
         /// The line color
         /// </summary>
@@ -150,7 +149,7 @@ namespace HOZProject
             items = tlItem;
             //加载节点信息
             ReloadItems(measureType);
-
+            twinkleItem = items[0];//默认是启动后,在第一个条目上闪烁
         }
 
         /// <summary>
@@ -166,24 +165,7 @@ namespace HOZProject
                 {
                     foreach (var item in items)
                     {
-                        switch (measureType)
-                        {
-                            case (int)MeasureMsgManage.measureType.Photo:
-                                if (item.Type.ToUpper() == "PT" || item.Type.ToUpper() == "FIB")
-                                {
-                                    continue;
-                                }
-                                break;
-                            case (int)MeasureMsgManage.measureType.FIB:
-                                if (item.Type.ToUpper() == "PT")
-                                {
-                                    continue;
-                                }
-                                break;
-                            //case (int)MeasureMsgManage.measureType.PT:
-
-                            //    break;
-                        }
+ 
                         FlowLayoutPanel panelTitle = new FlowLayoutPanel();
                         panelTitle.Dock = DockStyle.Top;
                         panelTitle.AutoScroll = false;
@@ -203,7 +185,7 @@ namespace HOZProject
                         panelTitle.Controls.Add(lblTitle);
                         this.Controls.Add(panelTitle);
                         panelTitle.BringToFront();
-
+                        item.codeLabel = panelTitle;
 
                         FlowLayoutPanel panelDetails = new FlowLayoutPanel();
                         panelDetails.Dock = DockStyle.Top;
@@ -221,6 +203,7 @@ namespace HOZProject
                         panelDetails.Controls.Add(lblDetails);
                         this.Controls.Add(panelDetails);
                         panelDetails.BringToFront();
+                        item.detailLabel = panelDetails;
                     }
                 }
             }
@@ -247,125 +230,67 @@ namespace HOZProject
         /// <param name="e">包含事件数据的 <see cref="T:System.Windows.Forms.PaintEventArgs" />。</param>
         protected override void OnPaint(PaintEventArgs e)
         {
-            bool twinkle = true;
-            if (count <= 2)
-            {
-                count = count + 1;
-            }
-            else
-            {
-                count = 0;
-            }
+   
+   
             base.OnPaint(e);
-            var g = e.Graphics;
+         
+            
+            DoAnimation(e.Graphics);
+            Dotwinkle(e.Graphics);
+        }
+     
+      
+        public void DoAnimation(Graphics myGraphic)
+        {
+            var g = myGraphic;
             g.SetGDIHigh();
-            var lst = this.Controls.ToArray().Where(p => p.Name.StartsWith("Code_")).ToList();
-            var lst1 = this.Controls.ToArray().Where(p => p.Name.StartsWith("details_")).ToList();
-            for (int i =  0; i<lst.Count; i++)
+            var itemlist = items.ToList();
+            for (int i = 0; i < itemlist.Count; i++)
             {
-                Label label = (Label)lst[i].Controls[0];
-                Label labeText = (Label)lst1[i].Controls[0];
-                foreach (var item in items)
-                {
-                    if (item.State!=1)
-                    {
-                        twinkle = true;
-                    }
-                    else
-                    {
-                        twinkle = false;
-                    }
-                }
-                foreach (var item in items)
-                {
-                    //if (item.State==1)
-                    if(label.Tag.ToString() == item.Code)
+               
+                var codelabel = itemlist[i].codeLabel;
+                var labeText = itemlist[i].detailLabel;
+                var item = itemlist[i];
+
+                switch (item.State)
                     {
-                        #region State Int 判断方法
-                        switch (item.State)
-                        {
-                            //出错
-                            case 0:
-                                lineColor = Color.Red;
-                                //空心
-                                g.DrawEllipse(new Pen(new SolidBrush(Color.Red)), new Rectangle(7, lst[i].Location.Y + 10, 16, 16));
-                                //画实心圆
-                                g.FillEllipse(new SolidBrush(Color.Red), new Rectangle(7 + 5, lst[i].Location.Y + 16, 5, 5));
-                                label.ForeColor = Color.Red;
-                                labeText.ForeColor = Color.Red;
-                                FormHOZMain.ControlFlicker = false;
-                                break;
-                            //完成
-                            case 1:
-                                lineColor = Color.Lime;
-                                //画实心圆
-                                g.FillEllipse(new SolidBrush(Color.Lime), new Rectangle(7 + 5, lst[i].Location.Y + 16, 5, 5));
-                                //空心
-                                g.DrawEllipse(new Pen(new SolidBrush(Color.Lime)), new Rectangle(7, lst[i].Location.Y + 10, 16, 16));
-                                label.ForeColor = TextColors.Light;
-                                labeText.ForeColor = TextColors.Light;
-                                break;
-                            default:
-                                lineColor = TextColors.Light;
-                                if (min<=i)
-                                {
-                                    min = i;
-                                }
-                                g.DrawEllipse(new Pen(new SolidBrush(lineColor)), new Rectangle(7, lst[i].Location.Y + 10, 16, 16));
-                                g.FillEllipse(new SolidBrush(lineColor), new Rectangle(7+5, lst[i].Location.Y + 16, 5, 5));
-                               
-                                break;
-                        }
-                        #endregion
-                        break;
-                    }
+                        //出错
+                        case 0:
+                            lineColor = Color.Red;
+                            //空心
+                            g.DrawEllipse(new Pen(new SolidBrush(Color.Red)), new Rectangle(7, codelabel.Location.Y + 10, 16, 16));
+                            //画实心圆
+                            g.FillEllipse(new SolidBrush(Color.Red), new Rectangle(7 + 5, codelabel.Location.Y + 16, 5, 5));
+                            codelabel.Controls[0].ForeColor = Color.Red;
+                            labeText.Controls[0].ForeColor = Color.Red;
+                            FormHOZMain.ControlFlicker = false;
+                            break;
+                        //完成
+                        case 1:
+                            //lineColor = Color.Lime;
+                            //画实心圆
+                            g.FillEllipse(new SolidBrush(Color.Lime), new Rectangle(7 + 5, codelabel.Location.Y + 16, 5, 5));
+                            //空心
+                            g.DrawEllipse(new Pen(new SolidBrush(Color.Lime)), new Rectangle(7, codelabel.Location.Y + 10, 16, 16));
+                            codelabel.Controls[0].ForeColor = TextColors.Light;
+                            labeText.Controls[0].ForeColor = TextColors.Light;
+                            break;
+                        default:
+                            lineColor = TextColors.Light;
+                
+                            g.DrawEllipse(new Pen(new SolidBrush(lineColor)), new Rectangle(7, codelabel.Location.Y + 10, 16, 16));
+                            g.FillEllipse(new SolidBrush(lineColor), new Rectangle(7 + 5, codelabel.Location.Y + 16, 5, 5));
+
+                            break;
                 }
+
                 //划线
-                if (i != lst.Count - 1)
-                {
-                    g.DrawLine(new Pen(new SolidBrush(lineColor)), new Point(7 + 8, lst[i].Location.Y + 10 - 2), new Point(7 + 8, lst[i + 1].Location.Y + 10 + 16 + 2));
-                }
-            }
-            if (FormHOZMain.ControlFlicker)
-            {
-                for (int i = 0; i < lst.Count; i++)
+                if (i != itemlist.Count - 1)
                 {
-                    if(twinkle)
-                    {
-                        if (min >= 0)
-                        {
-                            if (count == 1)
-                            {
-                                //画空心圆
-                                g.DrawEllipse(new Pen(new SolidBrush(Color.DarkOrange)), new Rectangle(7, lst[min].Location.Y + 10, 16, 16));
-                                //画实心圆
-                                g.FillEllipse(new SolidBrush(Color.DarkOrange), new Rectangle(7 + 5, lst[min].Location.Y + 16, 5, 5));
-                                Label label = (Label)lst[min].Controls[0];
-                                Label labeText = (Label)lst1[min].Controls[0];
-                                label.ForeColor = Color.DarkOrange;
-                                labeText.ForeColor = Color.DarkOrange;
-                            }
-                            else
-                            if (count == 2)
-                            {
-                                //画空心圆
-                                g.DrawEllipse(new Pen(new SolidBrush(lineColor)), new Rectangle(7, lst[min].Location.Y + 10, 16, 16));
-                                //画实心圆
-                                g.FillEllipse(new SolidBrush(lineColor), new Rectangle(7 + 5, lst[min].Location.Y + 16, 5, 5));
-                                Label label = (Label)lst[min].Controls[0];
-                                Label labeText = (Label)lst1[min].Controls[0];
-                                label.ForeColor = TextColors.Light;
-                                labeText.ForeColor = TextColors.Light;
-                            }
-                        }
-                    }
-                    if (i == lst.Count - 1)
-                    {
-                        min = 0;
-                    }
+                    g.DrawLine(new Pen(new SolidBrush(lineColor)), new Point(7 + 8, codelabel.Location.Y + codelabel.Height), new Point(7 + 8, itemlist[i + 1].codeLabel.Location.Y+2 ));//+ 10 + 16 + 2
                 }
-
             }
+        
         }
 
        
@@ -373,8 +298,49 @@ namespace HOZProject
         private void UCTimeLine_Paint(object sender, PaintEventArgs e)
         {
 
+        }
+        public TimeLineItem twinkleItem;
+        private static bool twincleSwitch=false;
+        public void Dotwinkle(Graphics g)
+        {
+            FlowLayoutPanel panel = twinkleItem.codeLabel;
+            if (twincleSwitch ==false)
+            {
+                twincleSwitch = true;
+            }
+            else
+            {
+                twincleSwitch = false;
+            }
+       
+            if (twincleSwitch == false)
+            {
+                //画空心圆
+                g.DrawEllipse(new Pen(new SolidBrush(Color.DarkOrange)), new Rectangle(7, panel.Location.Y + 10, 16, 16));
+                //画实心圆
+                g.FillEllipse(new SolidBrush(Color.DarkOrange), new Rectangle(7 + 5, panel.Location.Y + 16, 5, 5));
+                Label label =(Label) panel.Controls[0];
+                  
+                label.ForeColor = Color.DarkOrange;
+                 
+            }
+            else               
+            {
+                //画空心圆
+                g.DrawEllipse(new Pen(new SolidBrush(lineColor)), new Rectangle(7, panel.Location.Y + 10, 16, 16));
+                //画实心圆
+                g.FillEllipse(new SolidBrush(lineColor), new Rectangle(7 + 5, panel.Location.Y + 16, 5, 5));
+                Label label = (Label)panel.Controls[0];
+                  
+                label.ForeColor = TextColors.Light;
+                  
+            }
+           
+
+
         }
     }
+    
 
     /// <summary>
     /// Class TimeLineItem.
@@ -421,5 +387,7 @@ namespace HOZProject
         /// </summary>
         /// <value>The Index.</value>
         public int Index { get; set; }
+        public FlowLayoutPanel codeLabel { get; set; }
+        public FlowLayoutPanel detailLabel { get; set; }
     }
 }

+ 58 - 45
HOZProject/UserControls/UControl_Init.Designer.cs

@@ -82,6 +82,7 @@
             this.label4 = new System.Windows.Forms.Label();
             this.label7 = new System.Windows.Forms.Label();
             this.label8 = new System.Windows.Forms.Label();
+            this.label9 = new System.Windows.Forms.Label();
             this.panel1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.pbClose)).BeginInit();
             this.panel2.SuspendLayout();
@@ -94,7 +95,7 @@
             this.label1.ForeColor = System.Drawing.Color.Black;
             this.label1.Location = new System.Drawing.Point(15, 9);
             this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(68, 17);
+            this.label1.Size = new System.Drawing.Size(84, 20);
             this.label1.TabIndex = 0;
             this.label1.Text = "初始化设置";
             // 
@@ -132,7 +133,7 @@
             this.tbCutHoleFilePath.Location = new System.Drawing.Point(174, 48);
             this.tbCutHoleFilePath.Name = "tbCutHoleFilePath";
             this.tbCutHoleFilePath.ReadOnly = true;
-            this.tbCutHoleFilePath.Size = new System.Drawing.Size(347, 23);
+            this.tbCutHoleFilePath.Size = new System.Drawing.Size(347, 27);
             this.tbCutHoleFilePath.TabIndex = 5;
             // 
             // txtWPTF
@@ -141,7 +142,7 @@
             this.txtWPTF.Location = new System.Drawing.Point(174, 99);
             this.txtWPTF.Name = "txtWPTF";
             this.txtWPTF.ReadOnly = true;
-            this.txtWPTF.Size = new System.Drawing.Size(346, 23);
+            this.txtWPTF.Size = new System.Drawing.Size(346, 27);
             this.txtWPTF.TabIndex = 7;
             // 
             // lblCutHoleCount
@@ -151,7 +152,7 @@
             this.lblCutHoleCount.ForeColor = System.Drawing.Color.Black;
             this.lblCutHoleCount.Location = new System.Drawing.Point(172, 78);
             this.lblCutHoleCount.Name = "lblCutHoleCount";
-            this.lblCutHoleCount.Size = new System.Drawing.Size(111, 17);
+            this.lblCutHoleCount.Size = new System.Drawing.Size(138, 20);
             this.lblCutHoleCount.TabIndex = 8;
             this.lblCutHoleCount.Text = "成功导入0个分析点";
             // 
@@ -163,7 +164,7 @@
             this.chkManul.Location = new System.Drawing.Point(647, 129);
             this.chkManul.Margin = new System.Windows.Forms.Padding(2);
             this.chkManul.Name = "chkManul";
-            this.chkManul.Size = new System.Drawing.Size(80, 23);
+            this.chkManul.Size = new System.Drawing.Size(100, 27);
             this.chkManul.TabIndex = 15;
             this.chkManul.Text = "手动对焦";
             this.chkManul.UseVisualStyleBackColor = true;
@@ -177,7 +178,7 @@
             this.label6.Location = new System.Drawing.Point(88, 49);
             this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label6.Name = "label6";
-            this.label6.Size = new System.Drawing.Size(68, 17);
+            this.label6.Size = new System.Drawing.Size(84, 20);
             this.label6.TabIndex = 17;
             this.label6.Text = "导入分析点";
             // 
@@ -189,7 +190,7 @@
             this.cbbWCS.Location = new System.Drawing.Point(497, 190);
             this.cbbWCS.Margin = new System.Windows.Forms.Padding(2);
             this.cbbWCS.Name = "cbbWCS";
-            this.cbbWCS.Size = new System.Drawing.Size(155, 21);
+            this.cbbWCS.Size = new System.Drawing.Size(155, 25);
             this.cbbWCS.TabIndex = 93;
             // 
             // cbbWYP
@@ -200,7 +201,7 @@
             this.cbbWYP.Location = new System.Drawing.Point(174, 185);
             this.cbbWYP.Margin = new System.Windows.Forms.Padding(2);
             this.cbbWYP.Name = "cbbWYP";
-            this.cbbWYP.Size = new System.Drawing.Size(155, 21);
+            this.cbbWYP.Size = new System.Drawing.Size(155, 25);
             this.cbbWYP.TabIndex = 92;
             this.cbbWYP.SelectedIndexChanged += new System.EventHandler(this.cbbWYP_SelectedIndexChanged);
             // 
@@ -212,7 +213,7 @@
             this.label50.Location = new System.Drawing.Point(80, 264);
             this.label50.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label50.Name = "label50";
-            this.label50.Size = new System.Drawing.Size(56, 17);
+            this.label50.Size = new System.Drawing.Size(70, 20);
             this.label50.TabIndex = 90;
             this.label50.Text = "电流/mA";
             // 
@@ -224,7 +225,7 @@
             this.label54.Location = new System.Drawing.Point(18, 390);
             this.label54.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label54.Name = "label54";
-            this.label54.Size = new System.Drawing.Size(128, 17);
+            this.label54.Size = new System.Drawing.Size(159, 20);
             this.label54.TabIndex = 89;
             this.label54.Text = "第一次截面照放大倍数";
             // 
@@ -236,7 +237,7 @@
             this.label46.Location = new System.Drawing.Point(80, 239);
             this.label46.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label46.Name = "label46";
-            this.label46.Size = new System.Drawing.Size(45, 17);
+            this.label46.Size = new System.Drawing.Size(55, 20);
             this.label46.TabIndex = 88;
             this.label46.Text = "电压/V";
             // 
@@ -248,7 +249,7 @@
             this.label42.Location = new System.Drawing.Point(18, 362);
             this.label42.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label42.Name = "label42";
-            this.label42.Size = new System.Drawing.Size(128, 17);
+            this.label42.Size = new System.Drawing.Size(159, 20);
             this.label42.TabIndex = 87;
             this.label42.Text = "找到已切割孔放大倍数";
             // 
@@ -260,7 +261,7 @@
             this.label38.Location = new System.Drawing.Point(48, 334);
             this.label38.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label38.Name = "label38";
-            this.label38.Size = new System.Drawing.Size(104, 17);
+            this.label38.Size = new System.Drawing.Size(129, 20);
             this.label38.TabIndex = 86;
             this.label38.Text = "拉直操作放大倍数";
             // 
@@ -272,7 +273,7 @@
             this.chkWIsP.Location = new System.Drawing.Point(85, 156);
             this.chkWIsP.Margin = new System.Windows.Forms.Padding(2);
             this.chkWIsP.Name = "chkWIsP";
-            this.chkWIsP.Size = new System.Drawing.Size(176, 23);
+            this.chkWIsP.Size = new System.Drawing.Size(226, 27);
             this.chkWIsP.TabIndex = 85;
             this.chkWIsP.Text = "仅SEM拍照(倾斜角度为0)";
             this.chkWIsP.UseVisualStyleBackColor = true;
@@ -286,7 +287,7 @@
             this.label48.Location = new System.Drawing.Point(96, 189);
             this.label48.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label48.Name = "label48";
-            this.label48.Size = new System.Drawing.Size(56, 17);
+            this.label48.Size = new System.Drawing.Size(69, 20);
             this.label48.TabIndex = 81;
             this.label48.Text = "样品类型";
             // 
@@ -298,7 +299,7 @@
             this.label56.Location = new System.Drawing.Point(455, 190);
             this.label56.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label56.Name = "label56";
-            this.label56.Size = new System.Drawing.Size(32, 17);
+            this.label56.Size = new System.Drawing.Size(39, 20);
             this.label56.TabIndex = 80;
             this.label56.Text = "厂商";
             // 
@@ -310,7 +311,7 @@
             this.label59.Location = new System.Drawing.Point(82, 129);
             this.label59.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label59.Name = "label59";
-            this.label59.Size = new System.Drawing.Size(74, 17);
+            this.label59.Size = new System.Drawing.Size(90, 20);
             this.label59.TabIndex = 79;
             this.label59.Text = "FIB文件名称";
             // 
@@ -322,7 +323,7 @@
             this.label61.Location = new System.Drawing.Point(86, 100);
             this.label61.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label61.Name = "label61";
-            this.label61.Size = new System.Drawing.Size(70, 17);
+            this.label61.Size = new System.Drawing.Size(87, 20);
             this.label61.TabIndex = 78;
             this.label61.Text = "PT文件名称";
             // 
@@ -334,7 +335,7 @@
             this.chkWPT.Location = new System.Drawing.Point(335, 156);
             this.chkWPT.Margin = new System.Windows.Forms.Padding(2);
             this.chkWPT.Name = "chkWPT";
-            this.chkWPT.Size = new System.Drawing.Size(69, 23);
+            this.chkWPT.Size = new System.Drawing.Size(86, 27);
             this.chkWPT.TabIndex = 77;
             this.chkWPT.Text = "使用PT";
             this.chkWPT.UseVisualStyleBackColor = true;
@@ -346,7 +347,7 @@
             this.txtWFIBF.Location = new System.Drawing.Point(174, 128);
             this.txtWFIBF.Name = "txtWFIBF";
             this.txtWFIBF.ReadOnly = true;
-            this.txtWFIBF.Size = new System.Drawing.Size(346, 23);
+            this.txtWFIBF.Size = new System.Drawing.Size(346, 27);
             this.txtWFIBF.TabIndex = 103;
             // 
             // chkWqxkc
@@ -356,7 +357,7 @@
             this.chkWqxkc.ForeColor = System.Drawing.Color.Black;
             this.chkWqxkc.Location = new System.Drawing.Point(635, 162);
             this.chkWqxkc.Name = "chkWqxkc";
-            this.chkWqxkc.Size = new System.Drawing.Size(80, 23);
+            this.chkWqxkc.Size = new System.Drawing.Size(100, 27);
             this.chkWqxkc.TabIndex = 115;
             this.chkWqxkc.Text = "倾斜观测";
             this.chkWqxkc.UseVisualStyleBackColor = true;
@@ -366,6 +367,7 @@
             // panel2
             // 
             this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+            this.panel2.Controls.Add(this.label9);
             this.panel2.Controls.Add(this.btnSaveDefalutPara);
             this.panel2.Location = new System.Drawing.Point(3, 501);
             this.panel2.Name = "panel2";
@@ -377,7 +379,7 @@
             this.btnSaveDefalutPara.Cursor = System.Windows.Forms.Cursors.Hand;
             this.btnSaveDefalutPara.Font = new System.Drawing.Font("微软雅黑", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.btnSaveDefalutPara.ForeColor = System.Drawing.Color.Black;
-            this.btnSaveDefalutPara.Location = new System.Drawing.Point(293, 2);
+            this.btnSaveDefalutPara.Location = new System.Drawing.Point(307, 2);
             this.btnSaveDefalutPara.Margin = new System.Windows.Forms.Padding(2);
             this.btnSaveDefalutPara.Name = "btnSaveDefalutPara";
             this.btnSaveDefalutPara.Size = new System.Drawing.Size(129, 30);
@@ -408,7 +410,7 @@
             this.chkEDS.Location = new System.Drawing.Point(478, 156);
             this.chkEDS.Margin = new System.Windows.Forms.Padding(2);
             this.chkEDS.Name = "chkEDS";
-            this.chkEDS.Size = new System.Drawing.Size(80, 23);
+            this.chkEDS.Size = new System.Drawing.Size(100, 27);
             this.chkEDS.TabIndex = 138;
             this.chkEDS.Text = "能谱测量";
             this.chkEDS.UseVisualStyleBackColor = true;
@@ -425,7 +427,7 @@
             this.cboXrayMode.Location = new System.Drawing.Point(496, 420);
             this.cboXrayMode.Margin = new System.Windows.Forms.Padding(2);
             this.cboXrayMode.Name = "cboXrayMode";
-            this.cboXrayMode.Size = new System.Drawing.Size(155, 21);
+            this.cboXrayMode.Size = new System.Drawing.Size(155, 25);
             this.cboXrayMode.TabIndex = 148;
             // 
             // label28
@@ -436,7 +438,7 @@
             this.label28.Location = new System.Drawing.Point(406, 425);
             this.label28.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label28.Name = "label28";
-            this.label28.Size = new System.Drawing.Size(69, 17);
+            this.label28.Size = new System.Drawing.Size(85, 20);
             this.label28.TabIndex = 142;
             this.label28.Text = "XrayMode";
             // 
@@ -448,7 +450,7 @@
             this.label29.Location = new System.Drawing.Point(659, 431);
             this.label29.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label29.Name = "label29";
-            this.label29.Size = new System.Drawing.Size(81, 17);
+            this.label29.Size = new System.Drawing.Size(103, 20);
             this.label29.TabIndex = 142;
             this.label29.Text = "0:Point 1:line";
             // 
@@ -460,7 +462,7 @@
             this.label30.Location = new System.Drawing.Point(659, 456);
             this.label30.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label30.Name = "label30";
-            this.label30.Size = new System.Drawing.Size(44, 17);
+            this.label30.Size = new System.Drawing.Size(53, 20);
             this.label30.TabIndex = 142;
             this.label30.Text = "2:area";
             // 
@@ -544,7 +546,7 @@
             this.label2.Location = new System.Drawing.Point(48, 309);
             this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label2.Name = "label2";
-            this.label2.Size = new System.Drawing.Size(104, 17);
+            this.label2.Size = new System.Drawing.Size(129, 20);
             this.label2.TabIndex = 86;
             this.label2.Text = "恢复位置放大倍数";
             // 
@@ -553,7 +555,7 @@
             this.txtMag1.Location = new System.Drawing.Point(174, 302);
             this.txtMag1.Name = "txtMag1";
             this.txtMag1.ReadOnly = true;
-            this.txtMag1.Size = new System.Drawing.Size(155, 23);
+            this.txtMag1.Size = new System.Drawing.Size(155, 27);
             this.txtMag1.TabIndex = 149;
             // 
             // txtMag2
@@ -561,7 +563,7 @@
             this.txtMag2.Location = new System.Drawing.Point(174, 331);
             this.txtMag2.Name = "txtMag2";
             this.txtMag2.ReadOnly = true;
-            this.txtMag2.Size = new System.Drawing.Size(155, 23);
+            this.txtMag2.Size = new System.Drawing.Size(155, 27);
             this.txtMag2.TabIndex = 149;
             // 
             // txtMag3
@@ -569,7 +571,7 @@
             this.txtMag3.Location = new System.Drawing.Point(174, 360);
             this.txtMag3.Name = "txtMag3";
             this.txtMag3.ReadOnly = true;
-            this.txtMag3.Size = new System.Drawing.Size(155, 23);
+            this.txtMag3.Size = new System.Drawing.Size(155, 27);
             this.txtMag3.TabIndex = 149;
             // 
             // txtMag4
@@ -577,7 +579,7 @@
             this.txtMag4.Location = new System.Drawing.Point(174, 389);
             this.txtMag4.Name = "txtMag4";
             this.txtMag4.ReadOnly = true;
-            this.txtMag4.Size = new System.Drawing.Size(155, 23);
+            this.txtMag4.Size = new System.Drawing.Size(155, 27);
             this.txtMag4.TabIndex = 149;
             // 
             // txtVot
@@ -585,7 +587,7 @@
             this.txtVot.Location = new System.Drawing.Point(174, 234);
             this.txtVot.Name = "txtVot";
             this.txtVot.ReadOnly = true;
-            this.txtVot.Size = new System.Drawing.Size(155, 23);
+            this.txtVot.Size = new System.Drawing.Size(155, 27);
             this.txtVot.TabIndex = 149;
             // 
             // txtIprobe
@@ -593,7 +595,7 @@
             this.txtIprobe.Location = new System.Drawing.Point(174, 265);
             this.txtIprobe.Name = "txtIprobe";
             this.txtIprobe.ReadOnly = true;
-            this.txtIprobe.Size = new System.Drawing.Size(155, 23);
+            this.txtIprobe.Size = new System.Drawing.Size(155, 27);
             this.txtIprobe.TabIndex = 149;
             // 
             // label3
@@ -604,7 +606,7 @@
             this.label3.Location = new System.Drawing.Point(395, 234);
             this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label3.Name = "label3";
-            this.label3.Size = new System.Drawing.Size(80, 17);
+            this.label3.Size = new System.Drawing.Size(99, 20);
             this.label3.TabIndex = 142;
             this.label3.Text = "角度补偿参数";
             // 
@@ -616,7 +618,7 @@
             this.label5.Location = new System.Drawing.Point(386, 267);
             this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label5.Name = "label5";
-            this.label5.Size = new System.Drawing.Size(87, 17);
+            this.label5.Size = new System.Drawing.Size(108, 20);
             this.label5.TabIndex = 142;
             this.label5.Text = "Y轴方向修正值";
             // 
@@ -624,35 +626,35 @@
             // 
             this.txtScanRotCur.Location = new System.Drawing.Point(497, 232);
             this.txtScanRotCur.Name = "txtScanRotCur";
-            this.txtScanRotCur.Size = new System.Drawing.Size(156, 23);
+            this.txtScanRotCur.Size = new System.Drawing.Size(156, 27);
             this.txtScanRotCur.TabIndex = 150;
             // 
             // txtYPSCur
             // 
             this.txtYPSCur.Location = new System.Drawing.Point(498, 265);
             this.txtYPSCur.Name = "txtYPSCur";
-            this.txtYPSCur.Size = new System.Drawing.Size(156, 23);
+            this.txtYPSCur.Size = new System.Drawing.Size(156, 27);
             this.txtYPSCur.TabIndex = 150;
             // 
             // txtEDSZ
             // 
             this.txtEDSZ.Location = new System.Drawing.Point(497, 301);
             this.txtEDSZ.Name = "txtEDSZ";
-            this.txtEDSZ.Size = new System.Drawing.Size(156, 23);
+            this.txtEDSZ.Size = new System.Drawing.Size(156, 27);
             this.txtEDSZ.TabIndex = 150;
             // 
             // txtEDSV
             // 
             this.txtEDSV.Location = new System.Drawing.Point(498, 334);
             this.txtEDSV.Name = "txtEDSV";
-            this.txtEDSV.Size = new System.Drawing.Size(156, 23);
+            this.txtEDSV.Size = new System.Drawing.Size(156, 27);
             this.txtEDSV.TabIndex = 150;
             // 
             // txtEDSA
             // 
             this.txtEDSA.Location = new System.Drawing.Point(498, 367);
             this.txtEDSA.Name = "txtEDSA";
-            this.txtEDSA.Size = new System.Drawing.Size(156, 23);
+            this.txtEDSA.Size = new System.Drawing.Size(156, 27);
             this.txtEDSA.TabIndex = 150;
             // 
             // label4
@@ -663,7 +665,7 @@
             this.label4.Location = new System.Drawing.Point(398, 304);
             this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label4.Name = "label4";
-            this.label4.Size = new System.Drawing.Size(75, 17);
+            this.label4.Size = new System.Drawing.Size(93, 20);
             this.label4.TabIndex = 142;
             this.label4.Text = "能谱Z轴位置";
             // 
@@ -675,7 +677,7 @@
             this.label7.Location = new System.Drawing.Point(422, 341);
             this.label7.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label7.Name = "label7";
-            this.label7.Size = new System.Drawing.Size(56, 17);
+            this.label7.Size = new System.Drawing.Size(69, 20);
             this.label7.TabIndex = 142;
             this.label7.Text = "能谱电压";
             // 
@@ -687,13 +689,22 @@
             this.label8.Location = new System.Drawing.Point(422, 374);
             this.label8.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label8.Name = "label8";
-            this.label8.Size = new System.Drawing.Size(56, 17);
+            this.label8.Size = new System.Drawing.Size(69, 20);
             this.label8.TabIndex = 142;
             this.label8.Text = "能谱电流";
             // 
+            // label9
+            // 
+            this.label9.AutoSize = true;
+            this.label9.Location = new System.Drawing.Point(597, 30);
+            this.label9.Name = "label9";
+            this.label9.Size = new System.Drawing.Size(167, 17);
+            this.label9.TabIndex = 121;
+            this.label9.Text = "默认:D:\\FIB_AUTO\\";
+            // 
             // UControl_Init
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 13F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 17F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(240)))), ((int)(((byte)(240)))));
             this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
@@ -756,6 +767,7 @@
             this.panel1.PerformLayout();
             ((System.ComponentModel.ISupportInitialize)(this.pbClose)).EndInit();
             this.panel2.ResumeLayout(false);
+            this.panel2.PerformLayout();
             this.ResumeLayout(false);
             this.PerformLayout();
 
@@ -815,5 +827,6 @@
         private System.Windows.Forms.Label label4;
         private System.Windows.Forms.Label label7;
         private System.Windows.Forms.Label label8;
+        private System.Windows.Forms.Label label9;
     }
 }

+ 31 - 89
HOZProject/UserControls/UControl_Init.cs

@@ -122,6 +122,7 @@ namespace HOZProject
                         List<CutHole> ListCutHole = FormHOZMainObject.m_MeasureFile.ListCutHole;
                         //文件路径
                         string CutHoleFilePath = FormHOZMainObject.m_MeasureFile.CutHoleFilePath;
+                        //string CutHoleFilePath = "d://";
                         FormHOZMainObject.CreateCutHoleList(ListCutHole);
                         //显示导入的切孔数量
                         lblCutHoleCount.Text = string.Format("成功导入{0}个切孔", ListCutHole.Count);
@@ -296,7 +297,7 @@ namespace HOZProject
             //设置对话框标题
             pOpenFileDialog.Title = "选择模板文件";
             //默认目录
-            pOpenFileDialog.InitialDirectory= @"\\192.168.1.101\fib auto\FIB Recipe\";
+            pOpenFileDialog.InitialDirectory = FormHOZMainObject.m_MeasureFile.MParam.RemoteELYPath;
             //设置打开文件类型
             pOpenFileDialog.Filter = "ely文件(*.ely)|*.ely";
             ////监测文件是否存在
@@ -326,7 +327,7 @@ namespace HOZProject
             //设置对话框标题
             pOpenFileDialog.Title = "选择模板文件";
             //默认目录
-            pOpenFileDialog.InitialDirectory = @"\\192.168.1.101\fib auto\FIB Recipe\";
+            pOpenFileDialog.InitialDirectory = FormHOZMainObject.m_MeasureFile.MParam.RemoteMLFPath;
             //设置打开文件类型
             pOpenFileDialog.Filter = "ely文件(*.ely)|*.ely";
             ////监测文件是否存在
@@ -363,18 +364,29 @@ namespace HOZProject
 
             //从当前界面内获取参数
             var m_param = formHOZMain.m_MeasureFile.MParam;
-            m_param.Is_Photograph = chkWIsP.Checked;//是否仅拍照
-            m_param.PT = chkWPT.Checked;//是否有PT
-           // m_param.Tilt = chkWqxkc.Checked;//是否倾斜样品台
+           
+            m_param.IfPT = chkWPT.Checked;//是否有PT
+                                          // m_param.Tilt = chkWqxkc.Checked;//是否倾斜样品台
+            //是否仅拍照
+            if (chkWIsP.Checked == true)
+            {
+                m_param.IsTiltCorrectionToRun = false;
+                m_param.IsStraightenToRun = false;
+                m_param.IsGetFibPositionToRun = false;
+                m_param.IsFibCutingToRun = false;
+                m_param.IsMoveToCenterToRun = false;
+                m_param.IsShotSectionToRun = true;
+                m_param.IsEDSToRun = false;
+            }
             if (chkWIsP.Checked)
             {
-                m_param.Tilt = false;
+                m_param.IfTilt = false;
 
             }else
             {
-                m_param.Tilt = true; ;
+                m_param.IfTilt = true; ;
             }
-            m_param.EDS = chkEDS.Checked;
+            m_param.IsEDSToRun = chkEDS.Checked;
             m_param.EDSZ = Convert.ToSingle(txtEDSZ.Text) ;
             m_param.EDSV = Convert.ToSingle(txtEDSV.Text);
             m_param.EDSA = Convert.ToSingle(txtEDSA.Text) ;
@@ -419,8 +431,8 @@ namespace HOZProject
                 var m_Prm = formHOZMain.m_MeasureFile.MParam;
 
 
-                config.AppSettings.Settings["Is_Photograph"].Value = m_Prm.Is_Photograph.ToString();
-                config.AppSettings.Settings["PT_Depostion"].Value = m_Prm.PT.ToString();
+                config.AppSettings.Settings["Is_Photograph"].Value = m_Prm.IsShotSectionToRun.ToString();
+                config.AppSettings.Settings["PT_Depostion"].Value = m_Prm.IfPT.ToString();
 
                 config.AppSettings.Settings["PT_ELYFile"].Value = m_Prm.PTTemp;
                 config.AppSettings.Settings["FIB_ELYFile"].Value = m_Prm.FIBTemp;
@@ -433,9 +445,9 @@ namespace HOZProject
                 config.AppSettings.Settings["LastSampleType"].Value = m_Prm.SampleType;
            
               
-                config.AppSettings.Settings["Is_Title"].Value = m_Prm.Tilt.ToString();
+                config.AppSettings.Settings["Is_Title"].Value = m_Prm.IfTilt.ToString();
 
-                config.AppSettings.Settings["Is_EDS"].Value = m_Prm.EDS.ToString();
+                config.AppSettings.Settings["Is_EDS"].Value = m_Prm.IsEDSToRun.ToString();
                 config.AppSettings.Settings["EDS_Z"].Value = m_Prm.EDSZ.ToString();
                 config.AppSettings.Settings["EDS_V"].Value = m_Prm.EDSV.ToString();
                 config.AppSettings.Settings["EDS_A"].Value = m_Prm.EDSA.ToString();
@@ -492,7 +504,7 @@ namespace HOZProject
            
 
             //设置配置文件默认值
-            chkWIsP.Checked=Convert.ToBoolean(config.AppSettings.Settings["Is_Photograph"].Value);
+            //chkWIsP.Checked=Convert.ToBoolean(config.AppSettings.Settings["Is_Photograph"].Value);
             chkWPT.Checked = Convert.ToBoolean(config.AppSettings.Settings["PT_Depostion"].Value);
          
           //  chkWqxkc.Checked = Convert.ToBoolean(config.AppSettings.Settings["Is_Title"].Value);
@@ -521,8 +533,8 @@ namespace HOZProject
                 DisplayInitialParam();
                 ConfigFile cfm = new ConfigFile(FormHOZMainObject.m_MeasureFile.MParam);
                 cfm.Read(ReadConfigPath);
-                chkWIsP.Checked = cfm.m_Config.Is_Photograph;
-                chkWPT.Checked = cfm.m_Config.PT;
+                chkWIsP.Checked = cfm.m_Config.IsShotSectionToRun;
+                chkWPT.Checked = cfm.m_Config.IfPT;
                 //自动对焦模式
                 //cfm.FocusMode = chkManul.Checked;
                 txtWPTF.Text = cfm.m_Config.PTTemp;
@@ -889,88 +901,18 @@ namespace HOZProject
         }
         private void SetTypel()
         {
-            //if (cbbWYP.Text == "0")
-            //{
-            //cbbWCS.Text = FormHOZMainObject.m_MeasureFile.MParam.VendorType0;//厂商
+          
 
             txtVot.Text = FormHOZMainObject.m_MeasureFile.MParam.Voltage.ToString();//电压
             txtIprobe.Text = FormHOZMainObject.m_MeasureFile.MParam.Iprobe.ToString();
 
             txtMag1.Text = FormHOZMainObject.m_MeasureFile.MParam.Location_Magnification.ToString();//定位放大倍数
             txtMag2.Text = FormHOZMainObject.m_MeasureFile.MParam.Straighten_Magnification.ToString();//拉直放大倍数
-            txtMag3.Text = FormHOZMainObject.m_MeasureFile.MParam.FindCrossMagnification.ToString();
+            txtMag3.Text = FormHOZMainObject.m_MeasureFile.MParam.MoveToCenterMagnification.ToString();
 
-            //cbbWPZD.Text = FormHOZMainObject.m_MeasureFile.MParam.PhotoVoltageeType0;//拍照电压
+          
             txtMag4.Text = FormHOZMainObject.m_MeasureFile.MParam.Photograph_Magnification.ToString();//拍照放大倍数
-                //cbbEDSV.Text = FormHOZMainObject.m_MeasureFile.MParam.SEMVoltageeType0;//能谱电压值
-                //cbbEDSA.Text = FormHOZMainObject.m_MeasureFile.MParam.SEMCurrentType0;//能谱电流值
-            //    label4.Text = "0-AA Hole";
-            //}
-            //else
-            //            if (cbbWYP.Text == "1")
-            //{
-            //    //cbbWCS.Text = FormHOZMainObject.m_MeasureFile.MParam.VendorType1;//厂商
-            //    cbbWLZ.Text = FormHOZMainObject.m_MeasureFile.MParam.StraightenTimesType1;//拉直放大倍数
-            //    cbbWQGD.Text = FormHOZMainObject.m_MeasureFile.MParam.PositioningVoltageeType1;//定位电压
-            //    cbbWQGF.Text = FormHOZMainObject.m_MeasureFile.MParam.PositioningTimesType1;//定位放大倍数
-            //    cbbWPZD.Text = FormHOZMainObject.m_MeasureFile.MParam.PhotoVoltageeType1;//拍照电压
-            //    cbbWPZF.Text = FormHOZMainObject.m_MeasureFile.MParam.PhotoTimesType1;//拍照放大倍数
-            //    cbbEDSV.Text = FormHOZMainObject.m_MeasureFile.MParam.SEMVoltageeType1;//能谱电压值
-            //    cbbEDSA.Text = FormHOZMainObject.m_MeasureFile.MParam.SEMCurrentType1;//能谱电流值
-            //    label4.Text = "1-AA区";
-            //}
-            //else
-            //            if (cbbWYP.Text == "2")
-            //{
-            //    //cbbWCS.Text = FormHOZMainObject.m_MeasureFile.MParam.VendorType2;//厂商
-            //    cbbWLZ.Text = FormHOZMainObject.m_MeasureFile.MParam.StraightenTimesType2;//拉直放大倍数
-            //    cbbWQGD.Text = FormHOZMainObject.m_MeasureFile.MParam.PositioningVoltageeType2;//定位电压
-            //    cbbWQGF.Text = FormHOZMainObject.m_MeasureFile.MParam.PositioningTimesType2;//定位放大倍数
-            //    cbbWPZD.Text = FormHOZMainObject.m_MeasureFile.MParam.PhotoVoltageeType2;//拍照电压
-            //    cbbWPZF.Text = FormHOZMainObject.m_MeasureFile.MParam.PhotoTimesType2;//拍照放大倍数
-            //    cbbEDSV.Text = FormHOZMainObject.m_MeasureFile.MParam.SEMVoltageeType2;//能谱电压值
-            //    cbbEDSA.Text = FormHOZMainObject.m_MeasureFile.MParam.SEMCurrentType2;//能谱电流值
-            //    label4.Text = "2-Pad bending";
-            //}
-            //else
-            //            if (cbbWYP.Text == "3")
-            //{
-            //    //cbbWCS.Text = FormHOZMainObject.m_MeasureFile.MParam.VendorType3;//厂商
-            //    cbbWLZ.Text = FormHOZMainObject.m_MeasureFile.MParam.StraightenTimesType3;//拉直放大倍数
-            //    cbbWQGD.Text = FormHOZMainObject.m_MeasureFile.MParam.PositioningVoltageeType3;//定位电压
-            //    cbbWQGF.Text = FormHOZMainObject.m_MeasureFile.MParam.PositioningTimesType3;//定位放大倍数
-            //    cbbWPZD.Text = FormHOZMainObject.m_MeasureFile.MParam.PhotoVoltageeType3;//拍照电压
-            //    cbbWPZF.Text = FormHOZMainObject.m_MeasureFile.MParam.PhotoTimesType3;//拍照放大倍数
-            //    cbbEDSV.Text = FormHOZMainObject.m_MeasureFile.MParam.SEMVoltageeType3;//能谱电压值
-            //    cbbEDSA.Text = FormHOZMainObject.m_MeasureFile.MParam.SEMCurrentType3;//能谱电流值
-            //    label4.Text = "3-DDIC";
-            //}
-            //else
-            //            if (cbbWYP.Text == "4")
-            //{
-            //    //cbbWCS.Text = FormHOZMainObject.m_MeasureFile.MParam.VendorType3;//厂商
-            //    cbbWLZ.Text = FormHOZMainObject.m_MeasureFile.MParam.StraightenTimesType4;//拉直放大倍数
-            //    cbbWQGD.Text = FormHOZMainObject.m_MeasureFile.MParam.PositioningVoltageeType4;//定位电压
-            //    cbbWQGF.Text = FormHOZMainObject.m_MeasureFile.MParam.PositioningTimesType4;//定位放大倍数
-            //    cbbWPZD.Text = FormHOZMainObject.m_MeasureFile.MParam.PhotoVoltageeType4;//拍照电压
-            //    cbbWPZF.Text = FormHOZMainObject.m_MeasureFile.MParam.PhotoTimesType4;//拍照放大倍数
-            //    cbbEDSV.Text = FormHOZMainObject.m_MeasureFile.MParam.SEMVoltageeType4;//能谱电压值
-            //    cbbEDSA.Text = FormHOZMainObject.m_MeasureFile.MParam.SEMCurrentType4;//能谱电流值
-            //    label4.Text = "4-射频IC-1";
-            //}
-            //else
-            //            if (cbbWYP.Text == "5")
-            //{
-            //    //cbbWCS.Text = FormHOZMainObject.m_MeasureFile.MParam.VendorType3;//厂商
-            //    cbbWLZ.Text = FormHOZMainObject.m_MeasureFile.MParam.StraightenTimesType5;//拉直放大倍数
-            //    cbbWQGD.Text = FormHOZMainObject.m_MeasureFile.MParam.PositioningVoltageeType5;//定位电压
-            //    cbbWQGF.Text = FormHOZMainObject.m_MeasureFile.MParam.PositioningTimesType5;//定位放大倍数
-            //    cbbWPZD.Text = FormHOZMainObject.m_MeasureFile.MParam.PhotoVoltageeType5;//拍照电压
-            //    cbbWPZF.Text = FormHOZMainObject.m_MeasureFile.MParam.PhotoTimesType5;//拍照放大倍数
-            //    cbbEDSV.Text = FormHOZMainObject.m_MeasureFile.MParam.SEMVoltageeType5;//能谱电压值
-            //    cbbEDSA.Text = FormHOZMainObject.m_MeasureFile.MParam.SEMCurrentType5;//能谱电流值
-            //    label4.Text = "5-射频IC-1";
-            //}
+              
         }
     }
 }

+ 18 - 15
HOZProject/UserControls/UControl_ParaInfo.cs

@@ -37,7 +37,7 @@ namespace HOZProject
         private string cutHoleName;
         private FormHOZMain formHOZMain;
         private TimeLineItem[] tlItem = null;
-        private UCTimeLine uCTimeLine = null;
+        private UCTimeLine uctrlTimeLine = null;
         public FormHOZMain FormHOZMainObject { get => formHOZMain; set => formHOZMain = value; }
         public string StartTime { get => startTime; set => startTime = value; }
         public string EndTime { get => endTime; set => endTime = value; }
@@ -61,7 +61,10 @@ namespace HOZProject
             //this.BackColor = Color.FromArgb(0, 255, 255, 255);
             //this.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(255)), ((System.Byte)(192)), ((System.Byte)(192)));
         }
-
+        public UCTimeLine GetUctrTimeLine()
+        {
+            return uctrlTimeLine;
+        }
         #region 显示开始与结束时间
         public void ShowTime()
         {
@@ -140,13 +143,7 @@ namespace HOZProject
                         lblCompletedAmount.Text = pbValue + "%";
                     }
 
-                }
-                //try
-                //{
-                //    int pbValue = (int)((float)finishCount / (float)unFinishedCount*100);
-                //    pbMeasure.Value = pbValue;
-                //    lblCompletedAmount.Text = pbValue + "%";
-                //}
+                } 
                 catch (Exception)
                 {
 
@@ -170,8 +167,8 @@ namespace HOZProject
         public void TimeLineInvalidate()
         {
             plTimeLine.Invalidate();
-            uCTimeLine.Invalidate();
-            //FormHOZMain.ControlFlicker = true;
+            uctrlTimeLine.Invalidate();
+           
         } 
         #endregion
 
@@ -275,9 +272,9 @@ namespace HOZProject
         {
             if (plTimeLine.Controls.Count == 0)
             {
-                uCTimeLine = new UCTimeLine(tlItem, FormHOZMainObject.m_MeasureType);
-                uCTimeLine.Dock = DockStyle.Fill;
-                plTimeLine.Controls.Add(uCTimeLine);
+                uctrlTimeLine = new UCTimeLine(tlItem, FormHOZMainObject.m_MeasureType);
+                uctrlTimeLine.Dock = DockStyle.Fill;
+                plTimeLine.Controls.Add(uctrlTimeLine);
             }
         }
         private TimeLineItem[] GetMeasureFlowStructInfo()
@@ -355,7 +352,13 @@ namespace HOZProject
 
         private void timerTwinkle_Tick(object sender, EventArgs e)
         {
-            uCTimeLine.Invalidate();
+          
+            if (FormHOZMain.ControlFlicker)
+            {
+
+
+                uctrlTimeLine.Invalidate();
+            }
         }
 
         private void panel3_MouseMove(object sender, MouseEventArgs e)

+ 1 - 1
MeasureData/ConfigFile.cs

@@ -99,7 +99,7 @@ namespace MeasureData
 
             XmlNode root = doc.SelectSingleNode("XMLData");
             Serialize(false, doc, root);
-            //doc.Save(filename);
+        
             return true;
         }
 

+ 2 - 1
MeasureData/MeasureFile.cs

@@ -268,7 +268,8 @@ namespace MeasureData
                     //设置打开文件类型
                     pOpenFileDialog.Filter = "txt文件(*.txt)|*.txt";
                     //文件打开路径
-                    pOpenFileDialog.InitialDirectory = @"\\192.168.1.101\Service";
+                    //pOpenFileDialog.InitialDirectory = @"\\192.168.1.101\Service";
+                    pOpenFileDialog.InitialDirectory =MParam.RemoteCutHoleInfoFilePath;
                     //监测文件是否存在
                     pOpenFileDialog.CheckFileExists = true;
                     //文件打开后执行以下程序

+ 112 - 51
MeasureData/MeasureParam.cs

@@ -35,16 +35,19 @@ namespace MeasureData
 
         //是否仅拍照
         private Boolean is_Photograph;
-        public Boolean Is_Photograph
+        public Boolean IsShotSectionToRun
         {
             get { return this.is_Photograph; }
             set { this.is_Photograph = value; }
         }
-
-
+       
+        private bool m_IsGetFibPositionToRun;
+        private  bool m_IsFibCutingToRun;
+        private bool m_IsMoveToCenterToRun;
+        private bool m_IsLayerAnalysisToRun;
         //是否有pt工序
         private Boolean m_pt;
-        public Boolean PT
+        public Boolean IfPT
         {
             get { return this.m_pt; }
             set { this.m_pt = value; }
@@ -52,7 +55,7 @@ namespace MeasureData
 
         //倾斜样品台
         private Boolean m_Tilt;
-        public Boolean Tilt
+        public Boolean IfTilt
         {
             get { return this.m_Tilt; }
             set { this.m_Tilt = value; }
@@ -60,7 +63,7 @@ namespace MeasureData
 
         //是否有EDS
         private Boolean m_EDS;
-        public Boolean EDS
+        public Boolean IsEDSToRun
         {
             get { return this.m_EDS; }
             set { this.m_EDS = value; }
@@ -115,7 +118,11 @@ namespace MeasureData
         }
        public string RemoteELYPath ;
        public string   RemoteMLFPath;
- 
+
+        public string FocusServerIP { get; private set; }
+        public string FocusServerPort { get; private set; }
+        public string RemoteCutHoleInfoFilePath { get; private set; }
+
 
         //拉直操作需要的放大位数
         private float straighten_Magnification;
@@ -124,7 +131,7 @@ namespace MeasureData
             get { return this.straighten_Magnification; }
             set { this.straighten_Magnification = value; }
         }
-        public bool StraightenToRun;
+        public bool IsStraightenToRun;
         public bool StraightenAutoBC;
         public float StraightenManualBrightness;
         public float StraightenManualContrast;
@@ -229,28 +236,38 @@ namespace MeasureData
       
 
         //add by sun 2020-12-17 增加调试时是否切割开关
-        private bool m_IsCutingForDebug;
-        public bool IsCutingForDebug
-        {
-            get { return this.m_IsCutingForDebug; }
-            set { this.m_IsCutingForDebug = value; }
-        }
+        //private bool m_IsCutingForDebug;
+        //public bool IsCutingForDebug
+        //{
+        //    get { return this.m_IsCutingForDebug; }
+        //    set { this.m_IsCutingForDebug = value; }
+        //}
         //add by sun 2020-12-17 增加调试时是否切割开关 end
 
         //add by zjx 2020-12-18 为了测试只做能谱部分
-        private bool m_IsonlyEDSForDebug;
-        public bool IsonlyEDSForDebug
-        {
-            get { return this.m_IsonlyEDSForDebug; }
-            set { this.m_IsonlyEDSForDebug = value; }
-        }
+        //private bool m_IsonlyEDSForDebug;
+        //public bool IsonlyEDSToRun
+        //{
+        //    get { return this.m_IsonlyEDSForDebug; }
+        //    set { this.m_IsonlyEDSForDebug = value; }
+        //}
+      private bool m_IsTiltCorrectionToRun;
+        public bool IsTiltCorrectionToRun { get => m_IsTiltCorrectionToRun; set => m_IsTiltCorrectionToRun = value; }
+        public bool IsGetFibPositionToRun { get => m_IsGetFibPositionToRun; set => m_IsGetFibPositionToRun = value; }
+        public bool IsFibCutingToRun { get => m_IsFibCutingToRun; set => m_IsFibCutingToRun = value; }
+        public bool IsMoveToCenterToRun { get => m_IsMoveToCenterToRun; set => m_IsMoveToCenterToRun = value; }
+        public int MoveToCenterMagnification { get; private set; }
+        public bool IsLayerAnalysisToRun { get => m_IsLayerAnalysisToRun; set => m_IsLayerAnalysisToRun = value; }
+        public bool IsBeamShiftResetToRun { get; private set; }
+
+
         //add by zjx 2020-12-18 为了测试只做能谱部分 end
 
         #endregion
-       
 
 
-        public float  FindCrossMagnification;
+
+
 
         //构造函数
         public MeasureParam()
@@ -264,11 +281,11 @@ namespace MeasureData
             //设置配置文件默认值
             bool bResult = false;
 
-            bool.TryParse(ConfigurationManager.AppSettings["Is_Photograph"].ToString(), out bResult);
-            cfm.Is_Photograph = bResult;
+            //bool.TryParse(ConfigurationManager.AppSettings["Is_Photograph"].ToString(), out bResult);
+            //cfm.IsShotSectionToRun = bResult;
 
             bool.TryParse(ConfigurationManager.AppSettings["PT_Depostion"].ToString(), out bResult);
-            cfm.PT = bResult;
+            cfm.IfPT = bResult;
 
             cfm.PTTemp = ConfigurationManager.AppSettings["PT_ELYFile"].ToString();
             cfm.FIBTemp = ConfigurationManager.AppSettings["FIB_ELYFile"].ToString();
@@ -282,29 +299,28 @@ namespace MeasureData
 
 
             bool.TryParse(ConfigurationManager.AppSettings["Is_Title"].ToString(), out bResult);
-            cfm.Tilt = bResult;
+            cfm.IfTilt = bResult;
 
             bool.TryParse(ConfigurationManager.AppSettings["Is_EDS"].ToString(), out bResult);
-            cfm.EDS = bResult;
+            cfm.IsEDSToRun = bResult;
 
             cfm.ScanRotCor = Convert.ToSingle(ConfigurationManager.AppSettings["ScanRotCur"].ToString());
             cfm.PixelSizeCor = Convert.ToSingle(ConfigurationManager.AppSettings["PixelSize_Y_Cur"].ToString());
 
-            cfm.EDS = Convert.ToBoolean(ConfigurationManager.AppSettings["Is_EDS"].ToString());
+            cfm.IsEDSToRun = Convert.ToBoolean(ConfigurationManager.AppSettings["Is_EDS"].ToString());
             cfm.EDSZ = Convert.ToSingle(ConfigurationManager.AppSettings["EDS_Z"].ToString()) / 1000;
             cfm.EDSV = Convert.ToSingle(ConfigurationManager.AppSettings["EDS_V"].ToString());
             cfm.EDSA = Convert.ToSingle(ConfigurationManager.AppSettings["EDS_A"].ToString()) / 1000000000;
             cfm.EDSParam.XrayCollectMode = Convert.ToInt16(ConfigurationManager.AppSettings["EDS_XrayMode"].ToString());
 
-          cfm.IsCutingForDebug = Convert.ToBoolean(ConfigurationManager.AppSettings["IsCutingForDebug"]);
-            //add by sun 2020-12-17 增加调试时是否切割开关 end
-
-            // add by zjx 2020-12-18 为了测试只做能谱部分
-            cfm.IsonlyEDSForDebug = Convert.ToBoolean(ConfigurationManager.AppSettings["IsonlyEDSForDebug"]);
-            // add by zjx 2020-12-18 为了测试只做能谱部分 end
 
-          cfm.RemoteELYPath = ConfigurationManager.AppSettings["RemoteELYPath"];
+            cfm.RemoteCutHoleInfoFilePath = ConfigurationManager.AppSettings["RemoteCutHoleInfoFilePath"];
+            cfm.RemoteELYPath = ConfigurationManager.AppSettings["RemoteELYPath"];
        cfm.RemoteMLFPath = ConfigurationManager.AppSettings["RemoteMLFPath"];
+
+            cfm.FocusServerIP = ConfigurationManager.AppSettings["FocusServerIP"];
+            cfm.FocusServerPort = ConfigurationManager.AppSettings["FocusServerPort"];
+
             return true;
         }
 
@@ -337,10 +353,12 @@ namespace MeasureData
             sFile.Register("VotageAndIprobe", votandI);
 
             Slo tCorrect = new Slo();
+            xBool tcToRun = new xBool();
             xInt Outside = new xInt();
             xInt inside = new xInt();
             tCorrect.Register("Outside", Outside);
             tCorrect.Register("Inside", inside);
+            tCorrect.Register("ToRun", tcToRun);
             sFile.Register("TiltCorrect", tCorrect);
 
             Slo straighten = new Slo();
@@ -360,24 +378,52 @@ namespace MeasureData
 
       
 
-            Slo findcross = new Slo();
-            xInt crossmag = new xInt();
-            findcross.Register("Magnification", crossmag);
-            sFile.Register("FindCross", findcross);
+            Slo FIBposition = new Slo();
+            xBool fcrun = new xBool();          
+            FIBposition.Register("ToRun", fcrun);          
+            sFile.Register("GetFIBPosition", FIBposition);
+
+            Slo fibcuting = new Slo();//fibcross
+            xBool fibrun = new xBool();
+            fibcuting.Register("ToRun", fibrun);
+            sFile.Register("FIBCutting", fibcuting);
 
 
+            Slo movetocenter = new Slo();//findcross
+            xBool mRun = new xBool();
+            xInt movemag = new xInt();
+            movetocenter.Register("ToRun", mRun);
+            movetocenter.Register("Magnification", movemag);
+            sFile.Register("MoveToCenter", movetocenter);
+
             Slo shotsection = new Slo();
+            xBool sRun = new xBool();
             xInt shotmag = new xInt();
 
             xBool auto2 = new xBool();
             xInt b2 = new xInt();
             xInt c2 = new xInt();
+            shotsection.Register("ToRun", sRun);
             shotsection.Register("Magnification", shotmag);
             shotsection.Register("Hand_Bright", b2);
             shotsection.Register("Hand_Contrast", c2);
             shotsection.Register("AutoGet", auto2);
             sFile.Register("ShotSection", shotsection);
 
+            Slo layerAnalysis = new Slo();
+            xBool lRun = new xBool();
+            layerAnalysis.Register("ToRun", lRun);
+            sFile.Register("LayerAnalysis", layerAnalysis);
+
+            //Slo edsAnalysis = new Slo();
+            //xBool eRun = new xBool();
+            //edsAnalysis.Register("ToRun", eRun);
+            //sFile.Register("EDSAnalysis", edsAnalysis);
+
+            Slo beamshiftReset = new Slo();
+            xBool bRun = new xBool();
+            beamshiftReset.Register("ToRun", bRun);
+            sFile.Register("BeamShiftReset", beamshiftReset);
 
             sFile.Serialize(false, doc, root);
 
@@ -386,38 +432,53 @@ namespace MeasureData
             this.mVoltage = vot.value();
             this.Iprobe = (float)iprobe.value();
 
+
+            this.IsTiltCorrectionToRun = tcToRun.value();
             this.correction_Angle_Inside = inside.value();
             this.correction_Angle_OutSide = Outside.value();
-            this.StraightenToRun = torun.value();
-            this.straighten_Magnification = Straightenmag.value();
 
+
+            this.IsStraightenToRun = torun.value();
+            this.straighten_Magnification = Straightenmag.value();
             this.StraightenAutoBC = auto1.value();
             this.StraightenManualBrightness = b1.value();
             this.StraightenManualContrast = c1.value();
 
-          
 
-            this.FindCrossMagnification = crossmag.value();
+            this.IsGetFibPositionToRun = fcrun.value();
+            
+
+            this.IsFibCutingToRun= fibrun.value();
 
+            this.IsMoveToCenterToRun = mRun.value();
+            this.MoveToCenterMagnification = movemag.value();
+
+            this.IsShotSectionToRun = sRun.value();
             this.photograph_Magnification = shotmag.value();
             this.ShotSectionAutoBC = auto2.value();
             this.ShotSectionManualBrightness = b2.value();
             this.ShotSectionManualConstrast = c2.value();
-          
+
+            this.IsLayerAnalysisToRun = lRun.value();
+
+            //this.IsEDSToRun = eRun.value();
+
+            this.IsBeamShiftResetToRun = bRun.value();
+
             return true;
         }
 
         public void Init()
         {
             this.SampleType = @"";
-            this.PT = false;
+            this.IfPT = false;
             this.FIBTemp = @"";
             this.PTTemp = @"";
            
            
-            this.Tilt = false;
+            this.IfTilt = false;
            
-            this.EDS = false;
+            this.IsEDSToRun = false;
             this.EDSZ = 0.005f;
             this.EDSV = 10000;
             this.EDSA = 0.0000000005f;
@@ -439,8 +500,8 @@ namespace MeasureData
             xBool ptDepostion = new xBool();
             xBool isTilt = new xBool();
             xBool isEDS = new xBool();
-            isTilt.AssignValue(this.Tilt);
-            isEDS.AssignValue(this.EDS);
+            isTilt.AssignValue(this.IfTilt);
+            isEDS.AssignValue(this.IsEDSToRun);
             isPhotograph.AssignValue(this.is_Photograph);
             ptDepostion.AssignValue(this.m_pt);
             sFile.Register("Is_Title", isTilt);
@@ -532,8 +593,8 @@ namespace MeasureData
 
                 this.is_Photograph = isPhotograph.value();
                 this.m_pt = ptDepostion.value();
-                this.Tilt = isTilt.value();
-                this.EDS = isEDS.value();
+                this.IfTilt = isTilt.value();
+                this.IsEDSToRun = isEDS.value();
                 this.m_ptTemp = ptELYFile.value();
                 this.m_fibTemp = fibELYFile.value();
 

+ 9 - 5
MeasureThread/Focus.cs

@@ -13,14 +13,18 @@ namespace MeasureThread
     {
         private Focusparam prm;
         private ISEMControl iSEM;
+        private string svrIP;
+        private string svrPort;
       private  NLog.Logger log;
 
-        public Focus( ISEMControl iSEM)
+        public Focus( ISEMControl iSEM,string a_svrIp,string a_svrPort)
         {
             log = NLog.LogManager.GetCurrentClassLogger();
            
             this.iSEM = iSEM ?? throw new ArgumentNullException(nameof(iSEM));
             this.log = log ?? throw new ArgumentNullException(nameof(log));
+            svrIP = a_svrIp;
+            svrPort = a_svrPort;
         }
         public Focusparam GetParam()
         {
@@ -114,7 +118,7 @@ namespace MeasureThread
             {
                 ifStig = true;
             }
-            if (!ImageFocus1(ifStig))
+            if (!ImageFocus1(ifStig,svrIP,svrPort))
             {
                 log.Error("自动对焦失败", false);
                 iSEM.CloseReduced();
@@ -200,7 +204,7 @@ namespace MeasureThread
             {
                 ifStig = prm.ifStig;
             }
-            if (!ImageFocus1(ifStig))
+            if (!ImageFocus1(ifStig,svrIP,svrPort))
             {
                 log.Warn("自动对焦失败", false);
                 iSEM.CloseReduced();
@@ -241,12 +245,12 @@ namespace MeasureThread
             return true;
         }
         //执行自动对焦
-        public bool ImageFocus1(Boolean Is_Stig)
+        public bool ImageFocus1(Boolean Is_Stig,string serverIp,string serverport)
         {
             
                 #region 执行蔡司自动对焦程序
                 //服务地址
-                string snumstr = @"http://192.168.1.101:8123";
+                string snumstr = @"http://"+serverIp+":"+serverport;
                 bool normalized;
                
                 // 调用方法;只对焦不消像散

+ 127 - 111
MeasureThread/Measure.cs

@@ -484,25 +484,29 @@ namespace MeasureThread
         #endregion
 
         //构造函数
-        public Measure(String webServerIP, String webServerPort, String webServerUrl)
+        public Measure(String webServerIP, String webServerPort, String webServerUrl, MeasureFile a_measurefile)
         {
+            m_measureFile = a_measurefile;
+            //SmartSEM远程路径
+            this.RemoteELYPath = m_measureFile.MParam.RemoteELYPath;
+            this.RemoteMLFPath = m_measureFile.MParam.RemoteMLFPath;
             log = NLog.LogManager.GetCurrentClassLogger();
             TStatus = new ThreadStatus();
             cutHoles = new List<MeasureData.CutHole>();
             //配置远程连接
             ImagePro = new ImageProcess(webServerIP, webServerPort, webServerUrl);
             m_locate = new Locate(iSEM);
-            m_focuse = new Focus(iSEM);
+            m_focuse = new Focus(iSEM ,MParam.FocusServerIP,MParam.FocusServerPort);
             m_photo = new Photo(iSEM);
             mArgSend = new ArgSend(this, iSEM);
            
         }
 
         //初始化测量业务, 读测量文件,判断是否有可测试的切孔
-        public bool InitMeasure(MeasureFile a_measureFile)
+        public bool InitMeasure()
         {
             log.Info("进入初始化函数");
-            m_measureFile = a_measureFile;
+           
 
   
 
@@ -519,7 +523,7 @@ namespace MeasureThread
             if (m_cutHoles.Count == 0)  return false;
               
 
-            if (MParam.EDS == true)
+            if (MParam.IsEDSToRun == true)
             {
                 log.Info("要进行能谱分析,初始化Xray数据库", true);
                 Init_MeasDB();
@@ -656,7 +660,7 @@ namespace MeasureThread
         ///13. 自动 定位功能,沉积
         /// </summary>
         /// <returns></returns>
-        public bool GetFIBAndPTPoistion(CutHole currHole)
+        public bool GetFIBPosition(CutHole currHole)
         {
           
             float px = 0;
@@ -666,7 +670,7 @@ namespace MeasureThread
   
          
             
-            if (!m_focuse.SetMagnification(MParam.Location_Magnification))
+            if (!m_focuse.SetMagnification(MParam.Location_Magnification))// the m_focuse object is used to set magnification.
             {
 
                 log.Error("测量线程报错:13.自动定位、沉积-自动定位放大倍数" + MParam.Location_Magnification.ToString() + "控制失败", false);
@@ -752,7 +756,7 @@ namespace MeasureThread
                 m_FibWork.ModifyCutTemplate(x1, y1 ,x2, y2);
 
                 //判断是否需要PT沉积,如果需要也要修改PT的ELY文件
-                if (MParam.PT)
+                if (MParam.IfPT)
                 {
 
                     m_PTWork.ModifyPTTemp(x1,y1,x2,y2);
@@ -783,7 +787,7 @@ namespace MeasureThread
         /// 14. FIB切割
         /// </summary>
         /// <returns></returns>
-        public bool FIBCross()
+        public bool FIBCuting()
         {
             int state = 0;
 
@@ -793,9 +797,9 @@ namespace MeasureThread
                 log.Error("测量线程报错:切换到SEM模式失败", false);
                 return false;
             }
-            arg.Message = "切换到FIB模式成功。";
-            arg.State = true;
-            SendMsg("2-7");
+            //arg.Message = "切换到FIB模式成功。";
+            //arg.State = true;
+            //SendMsg("2-7");
             Thread.Sleep(1000);
 
             m_focuse.SetMagnification(MParam.Location_Magnification);
@@ -839,7 +843,7 @@ namespace MeasureThread
         /// 16.自动调整SEM找到切割位置,这里不是简单的拉直旋转
         /// </summary>
         /// <returns></returns>
-        public bool FindCross(CutHole currHole)
+        public bool MoveToCenter(CutHole currHole)
         {
             float x2 = 0, y2 = 0;
             int state = 0;
@@ -858,10 +862,10 @@ namespace MeasureThread
                 log.Info("停止键按下", true);
                 return false;
             }
-            String fileName4 = currHole.data_path + "\\" + MParam.Firm + "-" + MParam.FindCrossMagnification.ToString("0") + "-" +currHole.HoleName + "-" + ImageName4;
+            String fileName4 = currHole.data_path + "\\" + MParam.Firm + "-" + MParam.MoveToCenterMagnification.ToString("0") + "-" +currHole.HoleName + "-" + ImageName4;
             //add by zjx 2020-12-21 根据客户的需求修改图片的名称 end
             log.Info("fileName4=" + fileName4, true);
-            float mag = MParam.FindCrossMagnification;
+            float mag = MParam.MoveToCenterMagnification;
            
             m_photo.GetParam().Mag = mag;
          
@@ -989,8 +993,7 @@ namespace MeasureThread
             }
             #endregion
 
-            if (MParam.Is_Photograph == false)
-            {
+          
 
                 #region 获取两个位置上及放大倍数
                 //计算两个测量区域坐标
@@ -1204,7 +1207,7 @@ namespace MeasureThread
                     return false;
                 }
 
-            }
+           
 
           
             iSEM.SetTiltAngleOff();
@@ -1226,17 +1229,16 @@ namespace MeasureThread
        
         public bool HoleMeasure(CutHole currHole) 
         {
-            // add by zjx 2020-12-18 为了测试只做能谱部分
-            if (MParam.IsonlyEDSForDebug == true)
-            {
-                //第一步:位置恢复
-                #region 第一步:坐标恢复
-                log.Info("测量线程:恢复样品分析点位置(R,X,Y,Z) = (" + currHole.Position.R.ToString() + ","
+
+            //第一步:位置恢复
+            #region 第一步:坐标恢复
+            mArgSend.SendArgumentToScreen("0-0","");// tell the HMI that we are doing this step.
+            log.Info("测量线程:恢复样品分析点位置(R,X,Y,Z) = (" + currHole.Position.R.ToString() + ","
                  + currHole.Position.X.ToString() + ","
                  + currHole.Position.Y.ToString() + ","
                  + currHole.Position.Z.ToString() + ")", true);
                 Locate lo = new Locate(iSEM);
-                lo.LocateCutHolePosition(currHole, MParam.Tilt);
+                lo.LocateCutHolePosition(currHole, MParam.IfTilt);
 
                 if (!m_focuse.SetMagnification(MParam.Location_Magnification))
                 {
@@ -1269,10 +1271,12 @@ namespace MeasureThread
                
 
                 //第三步:自动化流程-每个点都需要补偿54度
-                if (MParam.Is_Photograph == false)
+             
+                if (MParam.IsTiltCorrectionToRun == true)
                 {
-                    log.Info("测量线程:倾斜补偿角度为"+ MParam.Correction_Angle_OutSide.ToString(), true);
-                    if (!m_focuse. TiltCorrection(MParam.Correction_Angle_OutSide))
+                mArgSend.SendArgumentToScreen("0-1", "");// tell the HMI that we are doing this step.
+                log.Info("测量线程:倾斜补偿角度为" + MParam.Correction_Angle_OutSide.ToString(), true);
+                    if (!m_focuse.TiltCorrection(MParam.Correction_Angle_OutSide))
                     {
                         log.Error("测量线程报错:倾斜补偿角度为54度失败", false);
 
@@ -1281,32 +1285,30 @@ namespace MeasureThread
                     arg.Message = "角度补偿54度成功!";
                     arg.State = true;
                     SendMsg("0-1");
-                  
-                    //判断是否停止进程
-                    if (key_stop)
-                    {
-                        log.Info("停止键按下", true);
-                        return false;
-                    }
+
                 }
 
-                //第四步:拉直 ( 2是5/6类样品,不需要拉直)
-                if (MParam.StraightenToRun)
+
+                //判断是否停止进程
+                if (key_stop)
                 {
+                    log.Info("停止键按下", true);
+                    return false;
+                }
+
 
-                    log.Warn("测量线程:拉直操作开始!", true);
+                //第四步:拉直 ( 2是5/6类样品,不需要拉直)
+                if (MParam.IsStraightenToRun)
+                {
+                mArgSend.SendArgumentToScreen("1-0", "");// tell the HMI that we are doing this step.
+                log.Warn("测量线程:拉直操作开始!", true);
                     if (!Straighten_Handle(currHole))
                     {
                         log.Info("测量线程报错:拉直操作失败。", true);
                         return false;
                     }
                     log.Info("测量线程:拉直操作结束!", true);
-                    //判断是否停止进程
-                    if (key_stop)
-                    {
-                        log.Info("停止键按下。", true);
-                        return false;
-                    }
+      
                 }
                 else
                 {
@@ -1324,29 +1326,34 @@ namespace MeasureThread
                     SendMsg("1-2");
                     Thread.Sleep(200);
                 }
-
+                //判断是否停止进程
+                if (key_stop)
+                {
+                    log.Info("停止键按下。", true);
+                    return false;
+                }
                 //第五步: 定位功能 PT沉积                
-                if (MParam.Is_Photograph==false)
+                if (MParam.IsGetFibPositionToRun==true)
                 {
+                    mArgSend.SendArgumentToScreen("2-0", "");// tell the HMI that we are doing this step.
                     log.Warn("测量线程:PIB切割自动定位开始!", true);
-                    if (!GetFIBAndPTPoistion(currHole))
+                    if (!GetFIBPosition(currHole))
                     {
                         log.Error("测量线程报错:自动定位失败,程序退出。", false);
                         return false;
                     }
 
+                    log.Info("测量线程:自动定位结束!", true);
+                }
+                //11.自动工具样品类型参数确定是否需要PT沉积
+                log.Info("是否PT:" + MParam.IfPT.ToString());
+                if (MParam.IfPT)
+                {
 
-                    //11.自动工具样品类型参数确定是否需要PT沉积
-                    log.Info("是否PT:" + MParam.PT.ToString());
-                    if (MParam.PT)
-                    {
-                   
-
-                        arg.State = true;
-                        arg.Message = "PT沉积";
-                        SendMsg("2-4");
-                        m_PTWork.DoWholePTWork();
-                    }
+                    arg.State = true;
+                    arg.Message = "PT沉积";
+                    SendMsg("2-4");
+                    m_PTWork.DoWholePTWork();
                 }
                 arg.State = true;
                 arg.Message = "";
@@ -1354,9 +1361,6 @@ namespace MeasureThread
                 arg.State = true;
                 arg.Message = "";
                 SendMsg("2-6");
-
-
-                log.Info("测量线程:自动定位结束!", true);
                 //判断是否停止进程
                 if (key_stop)
                 {
@@ -1365,18 +1369,17 @@ namespace MeasureThread
                 }
 
                 //14.自动控制FIB切割    del by sun 2020-12-15 temp            
-                if (MParam.Is_Photograph == false)
+                if (MParam.IsFibCutingToRun == true)
                 {
-                    if (MParam.IsCutingForDebug)
-                    {
-                        log.Warn("测量线程:自动控制FIB切割开始!==" + MParam.IsCutingForDebug, true);
-                        if (!FIBCross())
+                        mArgSend.SendArgumentToScreen("2-8", "");// tell the HMI that we are doing this step.
+                        log.Warn("测量线程:自动控制FIB切割开始!==" + MParam.IsFibCutingToRun, true);
+                        if (!FIBCuting())
                         {
                             log.Error("测量线程报错:自动控制FIB切割失败。", false);
                             return false;
                         }
                         log.Info("测量线程:自动控制FIB切割结束!", true);
-                    }
+                   
                 }
                 //del by sun 2020-12-15 temp end
                 //判断是否停止进程
@@ -1386,10 +1389,11 @@ namespace MeasureThread
                 }
 
                 //16.找到切割位置
-                if (MParam.Is_Photograph == false)
+                if (MParam.IsMoveToCenterToRun == true)
                 {
+                    mArgSend.SendArgumentToScreen("3-2", "");// tell the HMI that we are doing this step.
                     log.Info("测量线程:找到切割位置开始!移动到视野中心", true);
-                    if (!FindCross(currHole))
+                    if (!MoveToCenter(currHole))
                     {
                         return false;
                     }
@@ -1400,62 +1404,74 @@ namespace MeasureThread
                         return false;
                     }
                 }
-                log.Warn("测量线程:自动控制SEM拍截面照开始", true);
-                //将过程17最后的拍照图片提出给18步进行调用
                 List<String> limg_path = new List<string>();
                 List<float> lsize = new List<float>();
-                //17.自动控制SEM拍截面照
-                if (!ShotSection(currHole,ref limg_path, ref lsize))
+                if (MParam.IsShotSectionToRun == true)
                 {
-                    log.Error("拍截面照失败!");
-                    return false;
+                    mArgSend.SendArgumentToScreen("3-7", "");// tell the HMI that we are doing this step.
+                    log.Warn("测量线程:自动控制SEM拍截面照开始", true);
+                    //将过程17最后的拍照图片提出给18步进行调用
+                   
+                    //17.自动控制SEM拍截面照
+                    if (!ShotSection(currHole, ref limg_path, ref lsize))
+                    {
+                        log.Error("拍截面照失败!");
+                        return false;
+                    }
+                    log.Info("测量线程:自动控制SEM拍截面照结束!", true);
+              
+
+
+                //18.自动层高分析
+                    if (MParam.IsLayerAnalysisToRun == true)
+                    {
+                        mArgSend.SendArgumentToScreen("3-12", "");// tell the HMI that we are doing this step.
+                        log.Warn("测量线程:自动层高分析开始", true);
+                        float size = iSEM.GetPixelSize();
+                        int state = 1;
+                        ImagePro.Img_Measure_Height(limg_path, lsize, currHole.data_path + "\\", Convert.ToInt32(MParam.SampleTypeNo()), MParam.Firm, out state);
+                        if (state == 0)
+                        {
+
+                            log.Error("层高分析失败!");
+                            return false;
+                        }
+                        arg.State = true;
+                        arg.Message = "层高分析成功";
+                        SendMsg("3-12");
+                        log.Info("测量线程:自动层高分析结束!", true);
+                    }
                 }
-                log.Info("测量线程:自动控制SEM拍截面照结束!", true);
                 //判断是否停止进程
                 if (key_stop)
                 {
                     return false;
                 }
 
-             
 
-                //18.自动层高分析
-                if (MParam.Is_Photograph == false)
-                {
-                    log.Warn("测量线程:自动层高分析开始", true);
-                    float size = iSEM.GetPixelSize();
-                    int state = 1;
-                    ImagePro.Img_Measure_Height(limg_path, lsize, currHole.data_path + "\\", Convert.ToInt32(MParam.SampleTypeNo()), MParam.Firm, out state);
-                    if (state == 0)
-                    {
-
-                        log.Error("层高分析失败!");
-                        return false;
-                    }
-                    arg.State = true;
-                    arg.Message = "层高分析成功";
-                    SendMsg("3-12");
-                    log.Info("测量线程:自动层高分析结束!", true);
-                }
-            }
+            //}
             //add by zjx 2020-12-18 为了测试只做能谱部分 end
             //19.能谱分析
 
-            if (MParam.EDS)
+            if (MParam.IsEDSToRun)
             {
-               
+                mArgSend.SendArgumentToScreen("4-0", "");// tell the HMI that we are doing this step.
                 if (currHole.HoleNo + 1 == m_cutHoles.Count)//最后样品分析点才跑能谱
                 {
-                    log.Warn("测量线程:能谱分析开始===" + MParam.EDS, true);
+                    log.Warn("测量线程:能谱分析开始===" + MParam.IsEDSToRun, true);
                     EDS_Analysis(currHole);
-                    log.Info("测量线程:能谱分析结束===" + MParam.EDS, true);
+                    log.Info("测量线程:能谱分析结束===" + MParam.IsEDSToRun, true);
                 }
                
               
             }
             //20.复位
-            log.Info("测量线程:复位开始", true);
-            BeamShiftReset();
+            if (MParam.IsBeamShiftResetToRun == true)
+            {
+                log.Info("测量线程:复位开始", true);
+                BeamShiftReset();
+            }
+            
             return true;
         }
 
@@ -1474,9 +1490,9 @@ namespace MeasureThread
 
                 return false;
             }
-            arg.Message = "拉直放大倍数设置成功!";
-            arg.State = true;
-            SendMsg("0-2");
+            //arg.Message = "拉直放大倍数设置成功!";
+            //arg.State = true;
+            //SendMsg("0-2");
             //1、自动对焦
             log.Info("测量线程:拉直操作前自动对焦开始", true);
 
@@ -1832,11 +1848,11 @@ namespace MeasureThread
         /// 161.自动调整SEM找到切割位置,这里不是简单的拉直旋转
         /// </summary>
         /// <returns></returns>
-        public bool EDS_FindCross(CutHole currHole)
+        public bool EDS_MoveToCenter(CutHole currHole)
         {
             float x2 = 0, y2 = 0;
             int state = 0;
-            float tmag = MParam.FindCrossMagnification;
+            float tmag = MParam.MoveToCenterMagnification;
  
 
             Focusparam focusPrm = new Focusparam()
@@ -1981,8 +1997,8 @@ namespace MeasureThread
             }
             #endregion
 
-            if (MParam.Is_Photograph == false)//Is_Photograph 代表 是否是只拍照
-            {
+            //if (MParam.IsShotSectionToRun == false)//Is_Photograph 代表 是否是只拍照
+            //{
 
                 #region 获取两个位置上及放大倍数
                 //计算两个测量区域坐标
@@ -2097,7 +2113,7 @@ namespace MeasureThread
 
                 #endregion
 
-            }
+            //}
 
             iSEM.SetTiltAngleOff();
             Thread.Sleep(200);
@@ -2145,7 +2161,7 @@ namespace MeasureThread
             SendMsg("4-1");
             log.Warn("开始梯形移到视野中心!");
            
-            if (!EDS_FindCross(currHole))
+            if (!EDS_MoveToCenter(currHole))
             {
                 return false;
             }

+ 5 - 2
MeasureThread/MeasureThread.csproj

@@ -53,6 +53,9 @@
     <LangVersion>7.3</LangVersion>
     <ErrorReport>prompt</ErrorReport>
   </PropertyGroup>
+  <PropertyGroup>
+    <SignAssembly>false</SignAssembly>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="CookComputing.XmlRpcV2">
       <HintPath>.\CookComputing.XmlRpcV2.dll</HintPath>
@@ -65,10 +68,10 @@
     </Reference>
     <Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\bin\Debug\NLog.dll</HintPath>
+      <HintPath>..\..\..\..\GitEDS\bin\Release\NLog.dll</HintPath>
     </Reference>
     <Reference Include="OpenCvSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6adad1e807fea099, processorArchitecture=MSIL">
-      <HintPath>..\packages\OpenCvSharp3-AnyCPU.4.0.0.20181129\lib\net461\OpenCvSharp.dll</HintPath>
+      <HintPath>..\..\..\..\GitEDS\bin\Release\OpenCvSharp.dll</HintPath>
     </Reference>
     <Reference Include="OpenCvSharp.Blob, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6adad1e807fea099, processorArchitecture=MSIL">
       <HintPath>..\packages\OpenCvSharp3-AnyCPU.4.0.0.20181129\lib\net461\OpenCvSharp.Blob.dll</HintPath>

+ 12 - 0
OxfordTest/App.config

@@ -3,6 +3,7 @@
   <configSections>
     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
     <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+   
   </configSections>
   <startup>
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
@@ -27,4 +28,15 @@
       </dependentAssembly>
     </assemblyBinding>
   </runtime>
+  <appSettings>
+
+    <!--远程IP地址-->
+    <add key="WebServerIP" value="127.0.0.1" />
+    <!--远程IP端口-->
+    <add key="WebServerPort" value="8009" />
+    <!--远程算法地址-->
+    <add key="WebServerUrl" value="FIB_degree_recognize,FIB_cal_cut_location,FIB_verify,FIB_cut_center_location,FIB_sharpness,FIB_sharpness,FIB_degree_recognize_trap,FIB_measure_location,FIB_measure_parameter,FIB_EDS_points,FIB_EDS_lines,FIB_EDS_areas" />
+
+
+  </appSettings>
 </configuration>

+ 30 - 20
OxfordTest/Form1.Designer.cs

@@ -29,10 +29,10 @@
         private void InitializeComponent()
         {
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
-            System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
-            System.Windows.Forms.DataVisualization.Charting.Legend legend2 = new System.Windows.Forms.DataVisualization.Charting.Legend();
-            System.Windows.Forms.DataVisualization.Charting.Series series3 = new System.Windows.Forms.DataVisualization.Charting.Series();
-            System.Windows.Forms.DataVisualization.Charting.Series series4 = new System.Windows.Forms.DataVisualization.Charting.Series();
+            System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
+            System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend();
+            System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series();
+            System.Windows.Forms.DataVisualization.Charting.Series series2 = new System.Windows.Forms.DataVisualization.Charting.Series();
             this.label1 = new System.Windows.Forms.Label();
             this.label2 = new System.Windows.Forms.Label();
             this.label3 = new System.Windows.Forms.Label();
@@ -169,6 +169,7 @@
             this.button29 = new System.Windows.Forms.Button();
             this.button26 = new System.Windows.Forms.Button();
             this.button25 = new System.Windows.Forms.Button();
+            this.button30 = new System.Windows.Forms.Button();
             this.groupBox1.SuspendLayout();
             this.拍图.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.pBImage)).BeginInit();
@@ -1063,24 +1064,24 @@
             // 
             // chart1
             // 
-            chartArea2.Name = "ChartArea1";
-            this.chart1.ChartAreas.Add(chartArea2);
-            legend2.Alignment = System.Drawing.StringAlignment.Center;
-            legend2.Docking = System.Windows.Forms.DataVisualization.Charting.Docking.Top;
-            legend2.Name = "Legend1";
-            this.chart1.Legends.Add(legend2);
+            chartArea1.Name = "ChartArea1";
+            this.chart1.ChartAreas.Add(chartArea1);
+            legend1.Alignment = System.Drawing.StringAlignment.Center;
+            legend1.Docking = System.Windows.Forms.DataVisualization.Charting.Docking.Top;
+            legend1.Name = "Legend1";
+            this.chart1.Legends.Add(legend1);
             resources.ApplyResources(this.chart1, "chart1");
             this.chart1.Name = "chart1";
-            series3.ChartArea = "ChartArea1";
-            series3.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Spline;
-            series3.Legend = "Legend1";
-            series3.Name = "Series1";
-            series4.ChartArea = "ChartArea1";
-            series4.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Spline;
-            series4.Legend = "Legend1";
-            series4.Name = "Series2";
-            this.chart1.Series.Add(series3);
-            this.chart1.Series.Add(series4);
+            series1.ChartArea = "ChartArea1";
+            series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Spline;
+            series1.Legend = "Legend1";
+            series1.Name = "Series1";
+            series2.ChartArea = "ChartArea1";
+            series2.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Spline;
+            series2.Legend = "Legend1";
+            series2.Name = "Series2";
+            this.chart1.Series.Add(series1);
+            this.chart1.Series.Add(series2);
             // 
             // button29
             // 
@@ -1103,10 +1104,18 @@
             this.button25.UseVisualStyleBackColor = true;
             this.button25.Click += new System.EventHandler(this.button25_Click);
             // 
+            // button30
+            // 
+            resources.ApplyResources(this.button30, "button30");
+            this.button30.Name = "button30";
+            this.button30.UseVisualStyleBackColor = true;
+            this.button30.Click += new System.EventHandler(this.button30_Click);
+            // 
             // Form1
             // 
             resources.ApplyResources(this, "$this");
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.Controls.Add(this.button30);
             this.Controls.Add(this.groupBox2);
             this.Controls.Add(this.拍图);
             this.Controls.Add(this.groupBox1);
@@ -1265,6 +1274,7 @@
         private System.Windows.Forms.Label label40;
         private System.Windows.Forms.Label label38;
         private System.Windows.Forms.Button button29;
+        private System.Windows.Forms.Button button30;
     }
 }
 

+ 16 - 0
OxfordTest/Form1.cs

@@ -12,9 +12,13 @@ using Extender;
 using DBManager;
 using MeasureData;
 using System.Data.SQLite;
+using MeasureThread;
+using System.Configuration;
+
 
 namespace OxfordTest
 {
+  
     public partial class Form1 : Form
     {
 
@@ -562,5 +566,17 @@ namespace OxfordTest
             ShowData(XrayData, listElement);
 
         }
+
+        private void button30_Click(object sender, EventArgs e)
+        {
+            MeasureThread.Measure mt ;
+
+            
+
+            //mt = new Measure(ConfigurationManager.AppSettings["WebServerIP"].ToString(),
+            //     ConfigurationManager.AppSettings["WebServerPort"].ToString(),
+            //     ConfigurationManager.AppSettings["WebServerUrl"].ToString(), );
+            //mt.EDS_Analysis(mt.MeasureFile.ListCutHole[0]);
+        }
     }
 }

File diff suppressed because it is too large
+ 158 - 236
OxfordTest/Form1.resx


+ 11 - 1
OxfordTest/OxfordTest.csproj

@@ -68,6 +68,7 @@
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.ComponentModel.DataAnnotations" />
+    <Reference Include="System.Configuration" />
     <Reference Include="System.Core" />
     <Reference Include="System.Data.SQLite, Version=1.0.113.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
       <HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\lib\net46\System.Data.SQLite.dll</HintPath>
@@ -134,7 +135,9 @@
     </Compile>
   </ItemGroup>
   <ItemGroup>
-    <None Include="App.config" />
+    <None Include="App.config">
+      <SubType>Designer</SubType>
+    </None>
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\DBManager\DBManager.csproj">
@@ -149,6 +152,13 @@
       <Project>{12617585-8d9a-4ad4-b6c4-6894a48cee9e}</Project>
       <Name>MeasureData</Name>
     </ProjectReference>
+    <ProjectReference Include="..\MeasureThread\MeasureThread.csproj">
+      <Project>{9a5851e4-73fd-48e1-876c-68bed40a0512}</Project>
+      <Name>MeasureThread</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <WCFMetadata Include="Connected Services\" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

+ 13 - 0
SampleTemplate/0_AA孔区.txt

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<XMLData  DefaultFirmName="N-BOE" >
+<Member RegName="Locate"  Magnification="1500" />
+<Member RegName="VotageAndIprobe"  Votage="2000" Iprobe="0.2"  /> 
+<Member RegName="TiltCorrect" ToRun="true"  Outside="54" Inside="36"  />
+<Member RegName="Straighten" ToRun="true"  Magnification="1500" AutoGet="true" Hand_Bright="50" Hand_Contrast="30"/> 
+<Member RegName="GetFIBPosition" ToRun="true" Magnification="500" />
+<Member RegName="FIBCutting" ToRun="true" />
+<Member RegName="MoveToCenter" ToRun="true" Magnification="500" />
+<Member RegName="ShotSection" ToRun="true"  Magnification="2000" AutoGet="true"  Hand_Bright="50" Hand_Contrast="30" />
+<Member RegName="LayerAnalysis" ToRun="true" />
+<Member RegName="BeamShiftReset" ToRun="true" />
+</XMLData>

+ 14 - 0
SampleTemplate/1_AA区.txt

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<XMLData  DefaultFirmName="N-BOE" >
+<Member RegName="Locate"  Magnification="300" />
+<Member RegName="VotageAndIprobe"  Votage="2000" Iprobe="0.2"  /> 
+<Member RegName="TiltCorrect" ToRun="true"  Outside="54" Inside="36"  />
+<Member RegName="Straighten" ToRun="true"  Magnification="300" AutoGet="true" Hand_Bright="50" Hand_Contrast="30"/> 
+<Member RegName="GetFIBPosition" ToRun="true"  />
+<Member RegName="FIBCutting" ToRun="true" />
+<Member RegName="MoveToCenter" ToRun="true" Magnification="200" />
+<Member RegName="ShotSection" ToRun="true"  Magnification="2000" AutoGet="true"  Hand_Bright="50" Hand_Contrast="30" />
+<Member RegName="LayerAnalysis" ToRun="true" />
+<Member RegName="EDSAnalysis" />
+<Member RegName="BeamShiftReset" ToRun="true" />
+</XMLData>

+ 14 - 0
SampleTemplate/2_PadPending区.txt

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<XMLData  DefaultFirmName="N-BOE" >
+<Member RegName="Locate"  Magnification="200" />
+<Member RegName="VotageAndIprobe"  Votage="2000" Iprobe="0.2"  /> 
+<Member RegName="TiltCorrect"  ToRun="true" Outside="54" Inside="36"  />
+<Member RegName="Straighten"  ToRun="true"  Magnification="200" AutoGet="true" Hand_Bright="50" Hand_Contrast="30"/> 
+ <Member RegName="GetFIBPosition" ToRun="false" />
+<Member RegName="FIBCutting" ToRun="true" />
+<Member RegName="MoveToCenter" ToRun="true" Magnification="200" />
+<Member RegName="ShotSection" ToRun="true"   Magnification="2000" AutoGet="true"  Hand_Bright="50" Hand_Contrast="30" />
+<Member RegName="LayerAnalysis" ToRun="true" />
+<Member RegName="EDSAnalysis" />
+<Member RegName="BeamShiftReset" ToRun="true" />
+</XMLData>

+ 14 - 0
SampleTemplate/3_DDIC.txt

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<XMLData  DefaultFirmName="N-BOE" >
+  <Member RegName="Locate"  Magnification="500" />
+  <Member RegName="VotageAndIprobe"  Votage="5000" Iprobe="0.5"  /> 
+<Member RegName="TiltCorrect" ToRun="true"    Outside="54" Inside="36"  />
+  <Member RegName="Straighten" ToRun="true"  Magnification="500" AutoGet="true" Hand_Bright="50" Hand_Contrast="30"/> 
+  <Member RegName="GetFIBPosition"  ToRun="true"    />
+<Member RegName="FIBCutting" ToRun="true" />
+<Member RegName="MoveToCenter" ToRun="true" Magnification="400" />
+  <Member RegName="ShotSection"  Magnification="2000" AutoGet="true"  Hand_Bright="50" Hand_Contrast="30" />
+<Member RegName="LayerAnalysis" ToRun="true" />
+<Member RegName="EDSAnalysis" />
+<Member RegName="BeamShiftReset" ToRun="true" />
+</XMLData>

+ 14 - 0
SampleTemplate/4_射频IC-1.txt

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<XMLData  DefaultFirmName="N-BOE" >
+  <Member RegName="Locate"  Magnification="500" />
+  <Member RegName="VotageAndIprobe"  Votage="5000" Iprobe="0.5"  /> 
+<Member RegName="TiltCorrect" ToRun="true"  Outside="54" Inside="36"  />
+  <Member RegName="Straighten" ToRun="true"  Magnification="500" AutoGet="true" Hand_Bright="50" Hand_Contrast="30"/> 
+  <Member RegName="GetFIBPosition" ToRun="true"  />
+<Member RegName="FIBCutting" ToRun="true" />
+<Member RegName="MoveToCenter" ToRun="true" Magnification="400" />
+  <Member RegName="ShotSection" ToRun="true"  Magnification="1000" AutoGet="true"  Hand_Bright="50" Hand_Contrast="30" />
+<Member RegName="LayerAnalysis" ToRun="true" />
+<Member RegName="EDSAnalysis" />
+<Member RegName="BeamShiftReset" ToRun="true" />
+</XMLData>

+ 14 - 0
SampleTemplate/5_射频IC-1.txt

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<XMLData  DefaultFirmName="射频IC-1-HBT" >
+  <Member RegName="Locate"  Magnification="500" />
+  <Member RegName="VotageAndIprobe"  Votage="5000" Iprobe="0.5"  /> 
+<Member RegName="TiltCorrect" ToRun="true"  Outside="54" Inside="36"  />
+  <Member RegName="Straighten" ToRun="true"  Magnification="500" AutoGet="true" Hand_Bright="50" Hand_Contrast="30"/> 
+  <Member RegName="GetFIBPosition" ToRun="true" />
+<Member RegName="FIBCutting" ToRun="true" />
+<Member RegName="MoveToCenter" ToRun="true" Magnification="400" />
+  <Member RegName="ShotSection" ToRun="true"  Magnification="1000" AutoGet="true"  Hand_Bright="50" Hand_Contrast="30" />
+<Member RegName="LayerAnalysis" ToRun="true" />
+<Member RegName="EDSAnalysis" />
+<Member RegName="BeamShiftReset" ToRun="true" />
+</XMLData>

+ 14 - 0
SampleTemplate/6_RFIC-2.txt

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<XMLData  DefaultFirmName="N-BOE" >
+  <Member RegName="Locate"  Magnification="500" />
+  <Member RegName="VotageAndIprobe"  Votage="5000" Iprobe="0.5"  /> 
+<Member RegName="TiltCorrect" ToRun="true"  Outside="54" Inside="36"  />
+  <Member RegName="Straighten" ToRun="true"  Magnification="500" AutoGet="true" Hand_Bright="50" Hand_Contrast="30"/> 
+  <Member RegName="GetFIBPosition" ToRun="true" />
+<Member RegName="FIBCutting" ToRun="true" />
+<Member RegName="MoveToCenter" ToRun="true" Magnification="400" />
+  <Member RegName="ShotSection" ToRun="true"  Magnification="1000" AutoGet="true"  Hand_Bright="50" Hand_Contrast="30" />
+<Member RegName="LayerAnalysis" ToRun="true" />
+<Member RegName="EDSAnalysis" />
+<Member RegName="BeamShiftReset" ToRun="true" />
+</XMLData>

+ 14 - 0
SampleTemplate/7_RFIC-2.txt

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<XMLData  DefaultFirmName="N-BOE" >
+  <Member RegName="Locate"  Magnification="500" />
+  <Member RegName="VotageAndIprobe"  Votage="5000" Iprobe="0.5"  /> 
+<Member RegName="TiltCorrect" ToRun="true" Outside="54" Inside="36"  />
+  <Member RegName="Straighten" ToRun="true"  Magnification="500" AutoGet="true" Hand_Bright="50" Hand_Contrast="30"/> 
+  <Member RegName="GetFIBPosition" ToRun="true"  />
+<Member RegName="FIBCutting" ToRun="true" />
+<Member RegName="MoveToCenter" ToRun="true" Magnification="400" />
+  <Member RegName="ShotSection"  ToRun="true" Magnification="1000" AutoGet="true"  Hand_Bright="50" Hand_Contrast="30" />
+<Member RegName="LayerAnalysis" ToRun="true" />
+<Member RegName="EDSAnalysis" />
+<Member RegName="BeamShiftReset" ToRun="true" />
+</XMLData>

+ 14 - 0
SampleTemplate/8_other-1.txt

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<XMLData  DefaultFirmName="射频IC-2-HBT" >
+  <Member RegName="Locate"  Magnification="500" />
+  <Member RegName="VotageAndIprobe"  Votage="5000" Iprobe="0.5"  /> 
+<Member RegName="TiltCorrect" ToRun="false" Outside="54" Inside="36"  />
+  <Member RegName="Straighten" ToRun="false"  Magnification="500" AutoGet="true" Hand_Bright="50" Hand_Contrast="30"/> 
+  <Member RegName="GetFIBPosition" ToRun="false" />
+<Member RegName="FIBCutting" ToRun="true" />
+<Member RegName="MoveToCenter" ToRun="true" Magnification="500" />
+  <Member RegName="ShotSection" ToRun="true" Magnification="1000" AutoGet="true"  Hand_Bright="50" Hand_Contrast="30" />
+<Member RegName="LayerAnalysis" ToRun="true" />
+<Member RegName="EDSAnalysis" />
+<Member RegName="BeamShiftReset" ToRun="true" />
+</XMLData>

+ 14 - 0
SampleTemplate/8_射频IC-2-HBT.txt

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<XMLData  DefaultFirmName="射频IC-2-HBT" >
+  <Member RegName="Locate"  Magnification="500" />
+  <Member RegName="VotageAndIprobe"  Votage="5000" Iprobe="0.5"  /> 
+<Member RegName="TiltCorrect" ToRun="true" Outside="54" Inside="36"  />
+  <Member RegName="Straighten" ToRun="true"  Magnification="500" AutoGet="true" Hand_Bright="50" Hand_Contrast="30"/> 
+  <Member RegName="GetFIBPosition" ToRun="true" />
+<Member RegName="FIBCutting" ToRun="true" />
+<Member RegName="MoveToCenter" ToRun="true" Magnification="400" />
+  <Member RegName="ShotSection" ToRun="true" Magnification="1000" AutoGet="true"  Hand_Bright="50" Hand_Contrast="30" />
+<Member RegName="LayerAnalysis" ToRun="true" />
+<Member RegName="EDSAnalysis" />
+<Member RegName="BeamShiftReset" ToRun="true" />
+</XMLData>

+ 1 - 1
WebManager/WebManager.csproj

@@ -29,7 +29,7 @@
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>pdbonly</DebugType>
     <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
+    <OutputPath>..\bin\Release\</OutputPath>
     <DefineConstants>TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>

Some files were not shown because too many files changed in this diff