SHARP_CLAS_UI/100.Screen/Form_Main.cs
@@ -22,6 +22,7 @@ public int ULD_Tray_Empty_Count; public int ULD_Tray_Ok_Count; public int ULD_Tray_Ng_Count; public int Width_Measurement_Count; bool update_check; #endregion @@ -438,6 +439,8 @@ ULD_Tray_Ok_Count = int.Parse($"{value}"); if (_Parent.sm.Get_Value(Process_Memory_Address.ULD_Tray_Ng_Count, out value)) ULD_Tray_Ng_Count = int.Parse($"{value}"); if (_Parent.sm.Get_Value(Process_Memory_Address.Width_Measurement_Count, out value)) Width_Measurement_Count = int.Parse($"{value}"); } catch (Exception) { SHARP_CLAS_UI/100.Screen/Form_Parameter_System.Designer.cs
@@ -31,6 +31,10 @@ this.label1 = new System.Windows.Forms.Label(); this.pnl_Mode = new System.Windows.Forms.Panel(); this.panel16 = new System.Windows.Forms.Panel(); this.panel64 = new System.Windows.Forms.Panel(); this.btn_Width_Measurement_Notuse = new System.Windows.Forms.Button(); this.btn_Width_Measurement_Use = new System.Windows.Forms.Button(); this.label28 = new System.Windows.Forms.Label(); this.panel6 = new System.Windows.Forms.Panel(); this.btn_Auto_Power_Notuse = new System.Windows.Forms.Button(); this.btn_Auto_Power_Use = new System.Windows.Forms.Button(); @@ -108,6 +112,16 @@ this.lb_AGV = new System.Windows.Forms.Label(); this.lb_Mode = new System.Windows.Forms.Label(); this.pnl_Setting = new System.Windows.Forms.Panel(); this.panel62 = new System.Windows.Forms.Panel(); this.label26 = new System.Windows.Forms.Label(); this.panel63 = new System.Windows.Forms.Panel(); this.tb_Width_Measurement_Count = new System.Windows.Forms.TextBox(); this.label27 = new System.Windows.Forms.Label(); this.panel60 = new System.Windows.Forms.Panel(); this.label24 = new System.Windows.Forms.Label(); this.panel61 = new System.Windows.Forms.Panel(); this.tb_Cleaning_Count = new System.Windows.Forms.TextBox(); this.label25 = new System.Windows.Forms.Label(); this.panel58 = new System.Windows.Forms.Panel(); this.label22 = new System.Windows.Forms.Label(); this.panel59 = new System.Windows.Forms.Panel(); @@ -224,13 +238,9 @@ this.tb_Vision_Connect_Time = new System.Windows.Forms.TextBox(); this.lb_Vision_Connect_Time = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.panel60 = new System.Windows.Forms.Panel(); this.label24 = new System.Windows.Forms.Label(); this.panel61 = new System.Windows.Forms.Panel(); this.tb_Cleaning_Count = new System.Windows.Forms.TextBox(); this.label25 = new System.Windows.Forms.Label(); this.pnl_Mode.SuspendLayout(); this.panel16.SuspendLayout(); this.panel64.SuspendLayout(); this.panel6.SuspendLayout(); this.panel38.SuspendLayout(); this.panel37.SuspendLayout(); @@ -250,6 +260,10 @@ this.panel15.SuspendLayout(); this.panel14.SuspendLayout(); this.pnl_Setting.SuspendLayout(); this.panel62.SuspendLayout(); this.panel63.SuspendLayout(); this.panel60.SuspendLayout(); this.panel61.SuspendLayout(); this.panel58.SuspendLayout(); this.panel59.SuspendLayout(); this.panel51.SuspendLayout(); @@ -291,8 +305,6 @@ this.panel1.SuspendLayout(); this.panel3.SuspendLayout(); this.panel4.SuspendLayout(); this.panel60.SuspendLayout(); this.panel61.SuspendLayout(); this.SuspendLayout(); // // label1 @@ -320,6 +332,7 @@ // panel16 // this.panel16.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.panel16.Controls.Add(this.panel64); this.panel16.Controls.Add(this.panel6); this.panel16.Controls.Add(this.panel38); this.panel16.Controls.Add(this.panel37); @@ -345,6 +358,52 @@ this.panel16.Name = "panel16"; this.panel16.Size = new System.Drawing.Size(870, 791); this.panel16.TabIndex = 35; // // panel64 // this.panel64.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.panel64.Controls.Add(this.btn_Width_Measurement_Notuse); this.panel64.Controls.Add(this.btn_Width_Measurement_Use); this.panel64.Controls.Add(this.label28); this.panel64.Location = new System.Drawing.Point(660, 268); this.panel64.Name = "panel64"; this.panel64.Size = new System.Drawing.Size(205, 51); this.panel64.TabIndex = 63; // // btn_Width_Measurement_Notuse // this.btn_Width_Measurement_Notuse.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_Width_Measurement_Notuse.Location = new System.Drawing.Point(104, 25); this.btn_Width_Measurement_Notuse.Name = "btn_Width_Measurement_Notuse"; this.btn_Width_Measurement_Notuse.Size = new System.Drawing.Size(95, 21); this.btn_Width_Measurement_Notuse.TabIndex = 43; this.btn_Width_Measurement_Notuse.Text = "NOT USE"; this.btn_Width_Measurement_Notuse.UseVisualStyleBackColor = true; this.btn_Width_Measurement_Notuse.Click += new System.EventHandler(this.btn_Skip_Mode_Click); // // btn_Width_Measurement_Use // this.btn_Width_Measurement_Use.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_Width_Measurement_Use.Location = new System.Drawing.Point(3, 25); this.btn_Width_Measurement_Use.Name = "btn_Width_Measurement_Use"; this.btn_Width_Measurement_Use.Size = new System.Drawing.Size(95, 21); this.btn_Width_Measurement_Use.TabIndex = 42; this.btn_Width_Measurement_Use.Text = "USE"; this.btn_Width_Measurement_Use.UseVisualStyleBackColor = true; this.btn_Width_Measurement_Use.Click += new System.EventHandler(this.btn_Skip_Mode_Click); // // label28 // this.label28.BackColor = System.Drawing.Color.Silver; this.label28.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.label28.Dock = System.Windows.Forms.DockStyle.Top; this.label28.Font = new System.Drawing.Font("Gulim", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); this.label28.Location = new System.Drawing.Point(0, 0); this.label28.Name = "label28"; this.label28.Size = new System.Drawing.Size(203, 22); this.label28.TabIndex = 41; this.label28.Text = "WIDTH MEASUREMENT"; this.label28.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // panel6 // @@ -1225,6 +1284,7 @@ // this.pnl_Setting.BackColor = System.Drawing.Color.White; this.pnl_Setting.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.pnl_Setting.Controls.Add(this.panel62); this.pnl_Setting.Controls.Add(this.panel60); this.pnl_Setting.Controls.Add(this.panel58); this.pnl_Setting.Controls.Add(this.panel51); @@ -1244,6 +1304,110 @@ this.pnl_Setting.Name = "pnl_Setting"; this.pnl_Setting.Size = new System.Drawing.Size(880, 850); this.pnl_Setting.TabIndex = 5; // // panel62 // this.panel62.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.panel62.Controls.Add(this.label26); this.panel62.Controls.Add(this.panel63); this.panel62.Location = new System.Drawing.Point(439, 529); this.panel62.Name = "panel62"; this.panel62.Size = new System.Drawing.Size(417, 51); this.panel62.TabIndex = 61; // // label26 // this.label26.BackColor = System.Drawing.Color.Silver; this.label26.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.label26.Dock = System.Windows.Forms.DockStyle.Top; this.label26.Location = new System.Drawing.Point(0, 0); this.label26.Name = "label26"; this.label26.Size = new System.Drawing.Size(415, 20); this.label26.TabIndex = 35; this.label26.Text = "Width Measurement Count"; this.label26.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // panel63 // this.panel63.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.panel63.Controls.Add(this.tb_Width_Measurement_Count); this.panel63.Controls.Add(this.label27); this.panel63.Location = new System.Drawing.Point(3, 23); this.panel63.Name = "panel63"; this.panel63.Size = new System.Drawing.Size(407, 21); this.panel63.TabIndex = 42; // // tb_Width_Measurement_Count // this.tb_Width_Measurement_Count.Location = new System.Drawing.Point(231, -1); this.tb_Width_Measurement_Count.Name = "tb_Width_Measurement_Count"; this.tb_Width_Measurement_Count.Size = new System.Drawing.Size(175, 21); this.tb_Width_Measurement_Count.TabIndex = 34; this.tb_Width_Measurement_Count.Text = "0"; this.tb_Width_Measurement_Count.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SettingData_KeyDown); this.tb_Width_Measurement_Count.Leave += new System.EventHandler(this.SettingData_Leave); // // label27 // this.label27.Dock = System.Windows.Forms.DockStyle.Left; this.label27.Location = new System.Drawing.Point(0, 0); this.label27.Name = "label27"; this.label27.Size = new System.Drawing.Size(227, 19); this.label27.TabIndex = 33; this.label27.Text = "Width Measurement Count"; this.label27.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // panel60 // this.panel60.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.panel60.Controls.Add(this.label24); this.panel60.Controls.Add(this.panel61); this.panel60.Location = new System.Drawing.Point(440, 472); this.panel60.Name = "panel60"; this.panel60.Size = new System.Drawing.Size(417, 51); this.panel60.TabIndex = 61; // // label24 // this.label24.BackColor = System.Drawing.Color.Silver; this.label24.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.label24.Dock = System.Windows.Forms.DockStyle.Top; this.label24.Location = new System.Drawing.Point(0, 0); this.label24.Name = "label24"; this.label24.Size = new System.Drawing.Size(415, 20); this.label24.TabIndex = 35; this.label24.Text = "Cleaning Count Parameter"; this.label24.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // panel61 // this.panel61.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.panel61.Controls.Add(this.tb_Cleaning_Count); this.panel61.Controls.Add(this.label25); this.panel61.Location = new System.Drawing.Point(3, 23); this.panel61.Name = "panel61"; this.panel61.Size = new System.Drawing.Size(407, 21); this.panel61.TabIndex = 42; // // tb_Cleaning_Count // this.tb_Cleaning_Count.Location = new System.Drawing.Point(231, -1); this.tb_Cleaning_Count.Name = "tb_Cleaning_Count"; this.tb_Cleaning_Count.Size = new System.Drawing.Size(175, 21); this.tb_Cleaning_Count.TabIndex = 34; this.tb_Cleaning_Count.Text = "0"; this.tb_Cleaning_Count.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SettingData_KeyDown); this.tb_Cleaning_Count.Leave += new System.EventHandler(this.SettingData_Leave); // // label25 // this.label25.Dock = System.Windows.Forms.DockStyle.Left; this.label25.Location = new System.Drawing.Point(0, 0); this.label25.Name = "label25"; this.label25.Size = new System.Drawing.Size(227, 19); this.label25.TabIndex = 33; this.label25.Text = "Cleaning Count"; this.label25.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // panel58 // @@ -2450,58 +2614,6 @@ this.label2.Text = "■ Setting"; this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // panel60 // this.panel60.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.panel60.Controls.Add(this.label24); this.panel60.Controls.Add(this.panel61); this.panel60.Location = new System.Drawing.Point(440, 472); this.panel60.Name = "panel60"; this.panel60.Size = new System.Drawing.Size(417, 51); this.panel60.TabIndex = 61; // // label24 // this.label24.BackColor = System.Drawing.Color.Silver; this.label24.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.label24.Dock = System.Windows.Forms.DockStyle.Top; this.label24.Location = new System.Drawing.Point(0, 0); this.label24.Name = "label24"; this.label24.Size = new System.Drawing.Size(415, 20); this.label24.TabIndex = 35; this.label24.Text = "Cleaning Count Parameter"; this.label24.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // panel61 // this.panel61.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.panel61.Controls.Add(this.tb_Cleaning_Count); this.panel61.Controls.Add(this.label25); this.panel61.Location = new System.Drawing.Point(3, 23); this.panel61.Name = "panel61"; this.panel61.Size = new System.Drawing.Size(407, 21); this.panel61.TabIndex = 42; // // tb_Cleaning_Count // this.tb_Cleaning_Count.Location = new System.Drawing.Point(231, -1); this.tb_Cleaning_Count.Name = "tb_Cleaning_Count"; this.tb_Cleaning_Count.Size = new System.Drawing.Size(175, 21); this.tb_Cleaning_Count.TabIndex = 34; this.tb_Cleaning_Count.Text = "0"; this.tb_Cleaning_Count.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SettingData_KeyDown); this.tb_Cleaning_Count.Leave += new System.EventHandler(this.SettingData_Leave); // // label25 // this.label25.Dock = System.Windows.Forms.DockStyle.Left; this.label25.Location = new System.Drawing.Point(0, 0); this.label25.Name = "label25"; this.label25.Size = new System.Drawing.Size(227, 19); this.label25.TabIndex = 33; this.label25.Text = "Cleaning Count"; this.label25.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // Form_Parameter_System // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); @@ -2515,6 +2627,7 @@ this.Text = "Form_System_Parameter"; this.pnl_Mode.ResumeLayout(false); this.panel16.ResumeLayout(false); this.panel64.ResumeLayout(false); this.panel6.ResumeLayout(false); this.panel38.ResumeLayout(false); this.panel37.ResumeLayout(false); @@ -2534,6 +2647,12 @@ this.panel15.ResumeLayout(false); this.panel14.ResumeLayout(false); this.pnl_Setting.ResumeLayout(false); this.panel62.ResumeLayout(false); this.panel63.ResumeLayout(false); this.panel63.PerformLayout(); this.panel60.ResumeLayout(false); this.panel61.ResumeLayout(false); this.panel61.PerformLayout(); this.panel58.ResumeLayout(false); this.panel59.ResumeLayout(false); this.panel59.PerformLayout(); @@ -2606,9 +2725,6 @@ this.panel3.PerformLayout(); this.panel4.ResumeLayout(false); this.panel4.PerformLayout(); this.panel60.ResumeLayout(false); this.panel61.ResumeLayout(false); this.panel61.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -2817,5 +2933,14 @@ private System.Windows.Forms.Panel panel61; private System.Windows.Forms.TextBox tb_Cleaning_Count; private System.Windows.Forms.Label label25; private System.Windows.Forms.Panel panel62; private System.Windows.Forms.Label label26; private System.Windows.Forms.Panel panel63; private System.Windows.Forms.TextBox tb_Width_Measurement_Count; private System.Windows.Forms.Label label27; private System.Windows.Forms.Panel panel64; private System.Windows.Forms.Button btn_Width_Measurement_Notuse; private System.Windows.Forms.Button btn_Width_Measurement_Use; private System.Windows.Forms.Label label28; } } SHARP_CLAS_UI/100.Screen/Form_Parameter_System.cs
@@ -178,6 +178,15 @@ mode.Plasma_Skip = true; } if(btn_Width_Measurement_Use == (Button)sender) { mode.Width_Measurement_Skip = false; } else if (btn_Width_Measurement_Notuse == (Button)sender) { mode.Width_Measurement_Skip = true; } if (btn_LD_Stacker_Use == (Button)sender) { mode.LD_Stacker_Skip = false; @@ -337,6 +346,9 @@ btn_Plasma_Use.Text = resLanguage.USE; btn_Plasma_Notuse.Text = resLanguage.NOT_USE; btn_Width_Measurement_Use.Text = resLanguage.USE; btn_Width_Measurement_Notuse.Text = resLanguage.NOT_USE; btn_LD_Stacker_Use.Text = resLanguage.USE; btn_LD_Stacker_Notuse.Text = resLanguage.NOT_USE; @@ -499,6 +511,9 @@ btn_Plasma_Use.BackColor = !mode.Plasma_Skip ? mod.Plasma_Skip == mode.Plasma_Skip ? System.Drawing.Color.DodgerBlue : System.Drawing.Color.Red : System.Drawing.Color.White; btn_Plasma_Notuse.BackColor = mode.Plasma_Skip ? mod.Plasma_Skip == mode.Plasma_Skip ? System.Drawing.Color.DodgerBlue : System.Drawing.Color.Red : System.Drawing.Color.White; btn_Width_Measurement_Use.BackColor = !mode.Width_Measurement_Skip ? mod.Width_Measurement_Skip == mode.Width_Measurement_Skip ? System.Drawing.Color.DodgerBlue : System.Drawing.Color.Red : System.Drawing.Color.White; btn_Width_Measurement_Notuse.BackColor = mode.Width_Measurement_Skip ? mod.Width_Measurement_Skip == mode.Width_Measurement_Skip ? System.Drawing.Color.DodgerBlue : System.Drawing.Color.Red : System.Drawing.Color.White; btn_LD_Stacker_Use.BackColor = !mode.LD_Stacker_Skip ? mod.LD_Stacker_Skip == mode.LD_Stacker_Skip ? System.Drawing.Color.DodgerBlue : System.Drawing.Color.Red : System.Drawing.Color.White; btn_LD_Stacker_Notuse.BackColor = mode.LD_Stacker_Skip ? mod.LD_Stacker_Skip == mode.LD_Stacker_Skip ? System.Drawing.Color.DodgerBlue : System.Drawing.Color.Red : System.Drawing.Color.White; @@ -660,6 +675,12 @@ tb_Cleaning_Count.Text = setting.Cleaning_Count.ToString(); } if (ActiveControl == null || ActiveControl.Name != "tb_Width_Measurement_Count") { tb_Width_Measurement_Count.Text = setting.Width_Measurement_Count.ToString(); } tb_Film_Judge_Speed.BackColor = setting.Film_Judge_Speed == set.Film_Judge_Speed ? System.Drawing.Color.White : System.Drawing.Color.Red; tb_Pre_Align_Speed.BackColor = setting.Pre_Align_Speed == set.Pre_Align_Speed ? System.Drawing.Color.White : System.Drawing.Color.Red; tb_Fine_Align_Speed.BackColor = setting.Fine_Align_Speed == set.Fine_Align_Speed ? System.Drawing.Color.White : System.Drawing.Color.Red; @@ -693,7 +714,9 @@ tb_Handler_Pitch.BackColor = setting.Handler_Pitch == set.Handler_Pitch ? System.Drawing.Color.White : System.Drawing.Color.Red; tb_Cleaning_Count.BackColor = setting.Cleaning_Count == set.Cleaning_Count ? System.Drawing.Color.White : System.Drawing.Color.Red; tb_Width_Measurement_Count.BackColor = setting.Width_Measurement_Count == set.Width_Measurement_Count ? System.Drawing.Color.White : System.Drawing.Color.Red; } #endregion private void tb_Film_Judge_Speed_Leave(object sender, EventArgs e) @@ -1095,6 +1118,19 @@ break; } case "tb_Width_Measurement_Count": { int.TryParse(tb.Text, out int_data); if (int_data < 0) { int_data = 0; } setting.Width_Measurement_Count = int_data; break; } } } } SHARP_CLAS_UI/100.Screen/Form_Recipe_Type.Designer.cs
@@ -180,6 +180,7 @@ this.pnl_Vision_Info_Recipe = new System.Windows.Forms.Panel(); this.tabControl3 = new System.Windows.Forms.TabControl(); this.tabPage3 = new System.Windows.Forms.TabPage(); this.cb_AoiMark34Use = new System.Windows.Forms.CheckBox(); this.lb_Aoi_measurement = new System.Windows.Forms.Label(); this.tb_AOI_Mark3_X = new System.Windows.Forms.TextBox(); this.tb_AOI_Mark3_Y = new System.Windows.Forms.TextBox(); @@ -278,7 +279,22 @@ this.lv_Vision_Info_Recipes = new System.Windows.Forms.ListView(); this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.btn_Vision_Info_Refresh = new System.Windows.Forms.Button(); this.cb_AoiMark34Use = new System.Windows.Forms.CheckBox(); this.tabPage6 = new System.Windows.Forms.TabPage(); this.label11 = new System.Windows.Forms.Label(); this.tb_Width_AOI_Mark3_X = new System.Windows.Forms.TextBox(); this.tb_Width_AOI_Mark1_X = new System.Windows.Forms.TextBox(); this.tb_Width_AOI_Mark3_Y = new System.Windows.Forms.TextBox(); this.tb_Width_AOI_Mark1_Y = new System.Windows.Forms.TextBox(); this.label12 = new System.Windows.Forms.Label(); this.label13 = new System.Windows.Forms.Label(); this.tb_Width_AOI_Mark4_X = new System.Windows.Forms.TextBox(); this.tb_Width_AOI_Mark4_Y = new System.Windows.Forms.TextBox(); this.tb_Width_AOI_Mark2_X = new System.Windows.Forms.TextBox(); this.label14 = new System.Windows.Forms.Label(); this.tb_Width_AOI_Mark2_Y = new System.Windows.Forms.TextBox(); this.label15 = new System.Windows.Forms.Label(); this.label16 = new System.Windows.Forms.Label(); this.label17 = new System.Windows.Forms.Label(); this.pnl_Tray_Info_Recipe.SuspendLayout(); this.panel5.SuspendLayout(); this.panel4.SuspendLayout(); @@ -302,6 +318,7 @@ this.tabControl1.SuspendLayout(); this.tab_PreAlignOffset.SuspendLayout(); this.tab_LoaderHandler1Position.SuspendLayout(); this.tabPage6.SuspendLayout(); this.SuspendLayout(); // // pnl_Tray_Info_Recipe @@ -2014,6 +2031,7 @@ // tabControl3 // this.tabControl3.Controls.Add(this.tabPage3); this.tabControl3.Controls.Add(this.tabPage6); this.tabControl3.Controls.Add(this.tabPage4); this.tabControl3.Location = new System.Drawing.Point(3, 435); this.tabControl3.Name = "tabControl3"; @@ -2046,6 +2064,17 @@ this.tabPage3.TabIndex = 0; this.tabPage3.Text = "AOI Position"; this.tabPage3.UseVisualStyleBackColor = true; // // cb_AoiMark34Use // this.cb_AoiMark34Use.AutoSize = true; this.cb_AoiMark34Use.Location = new System.Drawing.Point(6, 138); this.cb_AoiMark34Use.Name = "cb_AoiMark34Use"; this.cb_AoiMark34Use.Size = new System.Drawing.Size(94, 16); this.cb_AoiMark34Use.TabIndex = 200; this.cb_AoiMark34Use.Text = "Mark3,4 Use"; this.cb_AoiMark34Use.UseVisualStyleBackColor = true; this.cb_AoiMark34Use.CheckedChanged += new System.EventHandler(this.cb_AoiMark34Use_CheckedChanged); // // lb_Aoi_measurement // @@ -2154,7 +2183,7 @@ this.tabPage4.Location = new System.Drawing.Point(4, 22); this.tabPage4.Name = "tabPage4"; this.tabPage4.Padding = new System.Windows.Forms.Padding(3); this.tabPage4.Size = new System.Drawing.Size(442, 141); this.tabPage4.Size = new System.Drawing.Size(442, 166); this.tabPage4.TabIndex = 1; this.tabPage4.Text = "AOI Offset"; this.tabPage4.UseVisualStyleBackColor = true; @@ -3154,16 +3183,183 @@ this.btn_Vision_Info_Refresh.UseVisualStyleBackColor = true; this.btn_Vision_Info_Refresh.Click += new System.EventHandler(this.btn_Vision_Info_Refresh_Click); // // cb_AoiMark34Use // tabPage6 // this.cb_AoiMark34Use.AutoSize = true; this.cb_AoiMark34Use.Location = new System.Drawing.Point(6, 138); this.cb_AoiMark34Use.Name = "cb_AoiMark34Use"; this.cb_AoiMark34Use.Size = new System.Drawing.Size(94, 16); this.cb_AoiMark34Use.TabIndex = 200; this.cb_AoiMark34Use.Text = "Mark3,4 Use"; this.cb_AoiMark34Use.UseVisualStyleBackColor = true; this.cb_AoiMark34Use.CheckedChanged += new System.EventHandler(this.cb_AoiMark34Use_CheckedChanged); this.tabPage6.Controls.Add(this.label11); this.tabPage6.Controls.Add(this.tb_Width_AOI_Mark3_X); this.tabPage6.Controls.Add(this.tb_Width_AOI_Mark1_X); this.tabPage6.Controls.Add(this.tb_Width_AOI_Mark3_Y); this.tabPage6.Controls.Add(this.tb_Width_AOI_Mark1_Y); this.tabPage6.Controls.Add(this.label12); this.tabPage6.Controls.Add(this.label13); this.tabPage6.Controls.Add(this.tb_Width_AOI_Mark4_X); this.tabPage6.Controls.Add(this.tb_Width_AOI_Mark4_Y); this.tabPage6.Controls.Add(this.tb_Width_AOI_Mark2_X); this.tabPage6.Controls.Add(this.label14); this.tabPage6.Controls.Add(this.tb_Width_AOI_Mark2_Y); this.tabPage6.Controls.Add(this.label15); this.tabPage6.Controls.Add(this.label16); this.tabPage6.Controls.Add(this.label17); this.tabPage6.Location = new System.Drawing.Point(4, 22); this.tabPage6.Name = "tabPage6"; this.tabPage6.Padding = new System.Windows.Forms.Padding(3); this.tabPage6.Size = new System.Drawing.Size(442, 166); this.tabPage6.TabIndex = 2; this.tabPage6.Text = "Width AOI Position"; this.tabPage6.UseVisualStyleBackColor = true; // // label11 // this.label11.BackColor = System.Drawing.Color.LightCoral; this.label11.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.label11.Location = new System.Drawing.Point(3, 5); this.label11.Name = "label11"; this.label11.Size = new System.Drawing.Size(167, 21); this.label11.TabIndex = 214; this.label11.Text = "AOI MEASUREMENT"; this.label11.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // tb_Width_AOI_Mark3_X // this.tb_Width_AOI_Mark3_X.Location = new System.Drawing.Point(177, 84); this.tb_Width_AOI_Mark3_X.Name = "tb_Width_AOI_Mark3_X"; this.tb_Width_AOI_Mark3_X.Size = new System.Drawing.Size(123, 21); this.tb_Width_AOI_Mark3_X.TabIndex = 200; this.tb_Width_AOI_Mark3_X.Text = "0"; this.tb_Width_AOI_Mark3_X.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.tb_Width_AOI_Mark3_X.TextChanged += new System.EventHandler(this.tb_Vision_Info_Recipe_TextChanged); // // tb_Width_AOI_Mark1_X // this.tb_Width_AOI_Mark1_X.Location = new System.Drawing.Point(177, 29); this.tb_Width_AOI_Mark1_X.Name = "tb_Width_AOI_Mark1_X"; this.tb_Width_AOI_Mark1_X.Size = new System.Drawing.Size(123, 21); this.tb_Width_AOI_Mark1_X.TabIndex = 201; this.tb_Width_AOI_Mark1_X.Text = "0"; this.tb_Width_AOI_Mark1_X.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.tb_Width_AOI_Mark1_X.TextChanged += new System.EventHandler(this.tb_Vision_Info_Recipe_TextChanged); // // tb_Width_AOI_Mark3_Y // this.tb_Width_AOI_Mark3_Y.Location = new System.Drawing.Point(306, 84); this.tb_Width_AOI_Mark3_Y.Name = "tb_Width_AOI_Mark3_Y"; this.tb_Width_AOI_Mark3_Y.Size = new System.Drawing.Size(123, 21); this.tb_Width_AOI_Mark3_Y.TabIndex = 202; this.tb_Width_AOI_Mark3_Y.Text = "0"; this.tb_Width_AOI_Mark3_Y.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.tb_Width_AOI_Mark3_Y.TextChanged += new System.EventHandler(this.tb_Vision_Info_Recipe_TextChanged); // // tb_Width_AOI_Mark1_Y // this.tb_Width_AOI_Mark1_Y.Location = new System.Drawing.Point(306, 29); this.tb_Width_AOI_Mark1_Y.Name = "tb_Width_AOI_Mark1_Y"; this.tb_Width_AOI_Mark1_Y.Size = new System.Drawing.Size(123, 21); this.tb_Width_AOI_Mark1_Y.TabIndex = 203; this.tb_Width_AOI_Mark1_Y.Text = "0"; this.tb_Width_AOI_Mark1_Y.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.tb_Width_AOI_Mark1_Y.TextChanged += new System.EventHandler(this.tb_Vision_Info_Recipe_TextChanged); // // label12 // this.label12.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.label12.Location = new System.Drawing.Point(3, 84); this.label12.Name = "label12"; this.label12.Size = new System.Drawing.Size(167, 21); this.label12.TabIndex = 204; this.label12.Text = "AOI MARK3 [mm]"; this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // label13 // this.label13.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.label13.Location = new System.Drawing.Point(3, 29); this.label13.Name = "label13"; this.label13.Size = new System.Drawing.Size(167, 21); this.label13.TabIndex = 205; this.label13.Text = "AOI MARK 1 [mm]"; this.label13.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // tb_Width_AOI_Mark4_X // this.tb_Width_AOI_Mark4_X.Location = new System.Drawing.Point(177, 111); this.tb_Width_AOI_Mark4_X.Name = "tb_Width_AOI_Mark4_X"; this.tb_Width_AOI_Mark4_X.Size = new System.Drawing.Size(123, 21); this.tb_Width_AOI_Mark4_X.TabIndex = 206; this.tb_Width_AOI_Mark4_X.Text = "0"; this.tb_Width_AOI_Mark4_X.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.tb_Width_AOI_Mark4_X.TextChanged += new System.EventHandler(this.tb_Vision_Info_Recipe_TextChanged); // // tb_Width_AOI_Mark4_Y // this.tb_Width_AOI_Mark4_Y.Location = new System.Drawing.Point(306, 111); this.tb_Width_AOI_Mark4_Y.Name = "tb_Width_AOI_Mark4_Y"; this.tb_Width_AOI_Mark4_Y.Size = new System.Drawing.Size(123, 21); this.tb_Width_AOI_Mark4_Y.TabIndex = 208; this.tb_Width_AOI_Mark4_Y.Text = "0"; this.tb_Width_AOI_Mark4_Y.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.tb_Width_AOI_Mark4_Y.TextChanged += new System.EventHandler(this.tb_Vision_Info_Recipe_TextChanged); // // tb_Width_AOI_Mark2_X // this.tb_Width_AOI_Mark2_X.Location = new System.Drawing.Point(177, 56); this.tb_Width_AOI_Mark2_X.Name = "tb_Width_AOI_Mark2_X"; this.tb_Width_AOI_Mark2_X.Size = new System.Drawing.Size(123, 21); this.tb_Width_AOI_Mark2_X.TabIndex = 207; this.tb_Width_AOI_Mark2_X.Text = "0"; this.tb_Width_AOI_Mark2_X.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.tb_Width_AOI_Mark2_X.TextChanged += new System.EventHandler(this.tb_Vision_Info_Recipe_TextChanged); // // label14 // this.label14.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.label14.Location = new System.Drawing.Point(3, 111); this.label14.Name = "label14"; this.label14.Size = new System.Drawing.Size(167, 21); this.label14.TabIndex = 210; this.label14.Text = "AOI MARK4 [mm]"; this.label14.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // tb_Width_AOI_Mark2_Y // this.tb_Width_AOI_Mark2_Y.Location = new System.Drawing.Point(306, 56); this.tb_Width_AOI_Mark2_Y.Name = "tb_Width_AOI_Mark2_Y"; this.tb_Width_AOI_Mark2_Y.Size = new System.Drawing.Size(123, 21); this.tb_Width_AOI_Mark2_Y.TabIndex = 209; this.tb_Width_AOI_Mark2_Y.Text = "0"; this.tb_Width_AOI_Mark2_Y.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.tb_Width_AOI_Mark2_Y.TextChanged += new System.EventHandler(this.tb_Vision_Info_Recipe_TextChanged); // // label15 // this.label15.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.label15.Location = new System.Drawing.Point(3, 56); this.label15.Name = "label15"; this.label15.Size = new System.Drawing.Size(167, 21); this.label15.TabIndex = 211; this.label15.Text = "AOI MARK2 [mm]"; this.label15.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // label16 // this.label16.BackColor = System.Drawing.Color.LightCoral; this.label16.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.label16.Location = new System.Drawing.Point(306, 5); this.label16.Name = "label16"; this.label16.Size = new System.Drawing.Size(123, 21); this.label16.TabIndex = 213; this.label16.Text = "ULD HANDLER 1 Y"; this.label16.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // label17 // this.label17.BackColor = System.Drawing.Color.LightCoral; this.label17.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.label17.Location = new System.Drawing.Point(177, 5); this.label17.Name = "label17"; this.label17.Size = new System.Drawing.Size(123, 21); this.label17.TabIndex = 212; this.label17.Text = "ULD HANDLER 1 X"; this.label17.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // Form_Recipe_Type // @@ -3231,6 +3427,8 @@ this.tab_PreAlignOffset.PerformLayout(); this.tab_LoaderHandler1Position.ResumeLayout(false); this.tab_LoaderHandler1Position.PerformLayout(); this.tabPage6.ResumeLayout(false); this.tabPage6.PerformLayout(); this.ResumeLayout(false); } @@ -3488,5 +3686,21 @@ private System.Windows.Forms.TextBox tb_AOI_Mark4_Y; private System.Windows.Forms.Label label8; private System.Windows.Forms.CheckBox cb_AoiMark34Use; private System.Windows.Forms.TabPage tabPage6; private System.Windows.Forms.Label label11; private System.Windows.Forms.TextBox tb_Width_AOI_Mark3_X; private System.Windows.Forms.TextBox tb_Width_AOI_Mark1_X; private System.Windows.Forms.TextBox tb_Width_AOI_Mark3_Y; private System.Windows.Forms.TextBox tb_Width_AOI_Mark1_Y; private System.Windows.Forms.Label label12; private System.Windows.Forms.Label label13; private System.Windows.Forms.TextBox tb_Width_AOI_Mark4_X; private System.Windows.Forms.TextBox tb_Width_AOI_Mark4_Y; private System.Windows.Forms.TextBox tb_Width_AOI_Mark2_X; private System.Windows.Forms.Label label14; private System.Windows.Forms.TextBox tb_Width_AOI_Mark2_Y; private System.Windows.Forms.Label label15; private System.Windows.Forms.Label label16; private System.Windows.Forms.Label label17; } } SHARP_CLAS_UI/100.Screen/Form_Recipe_Type.cs
@@ -707,6 +707,46 @@ cur_vision_info_recipe.AOI_Mark4_Y = value_double; break; } case "tb_Width_AOI_Mark1_X": { cur_vision_info_recipe.Width_AOI_Mark1_X = value_double; break; } case "tb_Width_AOI_Mark1_Y": { cur_vision_info_recipe.Width_AOI_Mark1_Y = value_double; break; } case "tb_Width_AOI_Mark2_X": { cur_vision_info_recipe.Width_AOI_Mark2_X = value_double; break; } case "tb_Width_AOI_Mark2_Y": { cur_vision_info_recipe.Width_AOI_Mark2_Y = value_double; break; } case "tb_Width_AOI_Mark3_X": { cur_vision_info_recipe.Width_AOI_Mark3_X = value_double; break; } case "tb_Width_AOI_Mark3_Y": { cur_vision_info_recipe.Width_AOI_Mark3_Y = value_double; break; } case "tb_Width_AOI_Mark4_X": { cur_vision_info_recipe.Width_AOI_Mark4_X = value_double; break; } case "tb_Width_AOI_Mark4_Y": { cur_vision_info_recipe.Width_AOI_Mark4_Y = value_double; break; } case "tb_AOI_Before_Left_T": { cur_vision_info_recipe.AOI_Before_Left_T = value_double; @@ -1872,6 +1912,15 @@ cb_AoiMark34Use.Checked = cur_vision_info_recipe.AoiMark34Use; tb_Width_AOI_Mark1_X.Text = cur_vision_info_recipe.Width_AOI_Mark1_X.ToString(); tb_Width_AOI_Mark1_Y.Text = cur_vision_info_recipe.Width_AOI_Mark1_Y.ToString(); tb_Width_AOI_Mark2_X.Text = cur_vision_info_recipe.Width_AOI_Mark2_X.ToString(); tb_Width_AOI_Mark2_Y.Text = cur_vision_info_recipe.Width_AOI_Mark2_Y.ToString(); tb_Width_AOI_Mark3_X.Text = cur_vision_info_recipe.Width_AOI_Mark3_X.ToString(); tb_Width_AOI_Mark3_Y.Text = cur_vision_info_recipe.Width_AOI_Mark3_Y.ToString(); tb_Width_AOI_Mark4_X.Text = cur_vision_info_recipe.Width_AOI_Mark4_X.ToString(); tb_Width_AOI_Mark4_Y.Text = cur_vision_info_recipe.Width_AOI_Mark4_Y.ToString(); tb_AOI_Before_Left_T.Text = cur_vision_info_recipe.AOI_Before_Left_T.ToString(); tb_AOI_Before_Right_T.Text = cur_vision_info_recipe.AOI_Before_Right_T.ToString(); tb_AOI_After_Left_T.Text = cur_vision_info_recipe.AOI_After_Left_T.ToString(); @@ -1995,6 +2044,15 @@ tb_AOI_Mark4_X.BackColor = cur_vision_info_recipe.AOI_Mark4_X == recipe.AOI_Mark4_X ? Color.White : Color.Red; tb_AOI_Mark4_Y.BackColor = cur_vision_info_recipe.AOI_Mark4_Y == recipe.AOI_Mark4_Y ? Color.White : Color.Red; tb_Width_AOI_Mark1_X.BackColor = cur_vision_info_recipe.Width_AOI_Mark1_X == recipe.Width_AOI_Mark1_X ? Color.White : Color.Red; tb_Width_AOI_Mark1_Y.BackColor = cur_vision_info_recipe.Width_AOI_Mark1_Y == recipe.Width_AOI_Mark1_Y ? Color.White : Color.Red; tb_Width_AOI_Mark2_X.BackColor = cur_vision_info_recipe.Width_AOI_Mark2_X == recipe.Width_AOI_Mark2_X ? Color.White : Color.Red; tb_Width_AOI_Mark2_Y.BackColor = cur_vision_info_recipe.Width_AOI_Mark2_Y == recipe.Width_AOI_Mark2_Y ? Color.White : Color.Red; tb_Width_AOI_Mark3_X.BackColor = cur_vision_info_recipe.Width_AOI_Mark3_X == recipe.Width_AOI_Mark3_X ? Color.White : Color.Red; tb_Width_AOI_Mark3_Y.BackColor = cur_vision_info_recipe.Width_AOI_Mark3_Y == recipe.Width_AOI_Mark3_Y ? Color.White : Color.Red; tb_Width_AOI_Mark4_X.BackColor = cur_vision_info_recipe.Width_AOI_Mark4_X == recipe.Width_AOI_Mark4_X ? Color.White : Color.Red; tb_Width_AOI_Mark4_Y.BackColor = cur_vision_info_recipe.Width_AOI_Mark4_Y == recipe.Width_AOI_Mark4_Y ? Color.White : Color.Red; tb_AOI_Before_Left_T.BackColor = cur_vision_info_recipe.AOI_Before_Left_T == recipe.AOI_Before_Left_T ? Color.White : Color.Red; tb_AOI_Before_Right_T.BackColor = cur_vision_info_recipe.AOI_Before_Right_T == recipe.AOI_Before_Right_T ? Color.White : Color.Red; tb_AOI_After_Left_T.BackColor = cur_vision_info_recipe.AOI_After_Left_T == recipe.AOI_After_Left_T ? Color.White : Color.Red; SHARP_CLAS_UI/500.Equipment/100.Memory_Address/Memory_Address.cs
@@ -116,6 +116,8 @@ public static SharedmemoryAddressInfo Power_Meter_Max = new SharedmemoryAddressInfo(226, MemberTypes.DOUBLE); public static SharedmemoryAddressInfo Power_Meter_Min = new SharedmemoryAddressInfo(234, MemberTypes.DOUBLE); public static SharedmemoryAddressInfo Power_Meter_Count = new SharedmemoryAddressInfo(242, MemberTypes.INT); public static SharedmemoryAddressInfo Width_Measurement_Count = new SharedmemoryAddressInfo(246, MemberTypes.INT); } /// <summary> @@ -3519,7 +3521,7 @@ public static SharedmemoryAddressInfo Measurement_Right_Mark_4_Point_2 = new SharedmemoryAddressInfo(6787, MemberTypes.DOUBLE); //Measurement 6800 ~ 7100 //Measurement 6800 ~ 7000 public static SharedmemoryAddressInfo Measurement_Grab_Ready_Ack = new SharedmemoryAddressInfo(6800, MemberTypes.BIT); public static SharedmemoryAddressInfo Measurement_Grab_Ready_Result = new SharedmemoryAddressInfo(6801, MemberTypes.INT); SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Client_AOI.cs
@@ -616,6 +616,39 @@ sm.Set_Value(Vision_Address.AOI_PC_System_Time_Sync_Result, system_time_sync_Ack.result); break; } case 301: { WidthMeasurementResultAck measurement_result_Ack; vision_control.Recv_WidthMeasurement_Result(Recvdata, out measurement_result_Ack); if (measurement_result_Ack.moduleIdx == (int)En_Module_Idx.Left) { WriteClientLog($"[Recv]Width Measurement Left Result, Result : {measurement_result_Ack.measurement_result}, Mark1Width : {measurement_result_Ack.Mark1Width}, Mark2Width : {measurement_result_Ack.Mark2Width}, Mark3Width : {measurement_result_Ack.Mark3Width}, Mark4Width : {measurement_result_Ack.Mark4Width}"); sm.Set_Value(Vision_Address.Measurement_Left_Result, measurement_result_Ack.measurement_result); sm.Set_Value(Vision_Address.Measurement_Left_Mark_1_Point_1, measurement_result_Ack.Mark1Width); sm.Set_Value(Vision_Address.Measurement_Left_Mark_2_Point_1, measurement_result_Ack.Mark2Width); sm.Set_Value(Vision_Address.Measurement_Left_Mark_3_Point_1, measurement_result_Ack.Mark3Width); sm.Set_Value(Vision_Address.Measurement_Left_Mark_4_Point_1, measurement_result_Ack.Mark4Width); sm.Set_Bit(Vision_Address.Measurement_Left_Ack, true); } break; } case 302: { WidthMeasurementResultAck measurement_result_Ack; vision_control.Recv_WidthMeasurement_Result(Recvdata, out measurement_result_Ack); if (measurement_result_Ack.moduleIdx == (int)En_Module_Idx.Right) { WriteClientLog($"[Recv]Width Measurement Right Result, Result : {measurement_result_Ack.measurement_result}, Mark1Width : {measurement_result_Ack.Mark1Width}, Mark2Width : {measurement_result_Ack.Mark2Width}, Mark3Width : {measurement_result_Ack.Mark3Width}, Mark4Width : {measurement_result_Ack.Mark4Width}"); sm.Set_Value(Vision_Address.Measurement_Right_Result, measurement_result_Ack.measurement_result); sm.Set_Value(Vision_Address.Measurement_Right_Mark_1_Point_1, measurement_result_Ack.Mark1Width); sm.Set_Value(Vision_Address.Measurement_Right_Mark_2_Point_1, measurement_result_Ack.Mark2Width); sm.Set_Value(Vision_Address.Measurement_Right_Mark_3_Point_1, measurement_result_Ack.Mark3Width); sm.Set_Value(Vision_Address.Measurement_Right_Mark_4_Point_1, measurement_result_Ack.Mark4Width); sm.Set_Bit(Vision_Address.Measurement_Right_Ack, true); } break; } case 100: { VisionAliveAck vision_alive_Ack; @@ -732,7 +765,7 @@ /// Send Grab Start Req /// </summary> /// <param name="ModelIdx">카메라 Module Idx (0: Left, 1: Right)</param> /// <param name="MarkIdx">마크 위치 (0:Left, 1: Right)</param> /// <param name="MarkIdx">마크 위치 (0:Left, 1:Left, 2:Right, 3:Right)</param> /// <param name="MotorOffsetX">현재 Motor Position X</param> /// <param name="MotorOffsetY">현재 Motor Position Y</param> public bool Send_Measurement_Grab_Start_Req(int ModelIdx, int MarkIdx, double MotorOffsetX, double MotorOffsetY) @@ -768,6 +801,55 @@ return SendData(vision_control.Send_Command_Req(CmdType, SeqType, ModuleIdx, Slot_No, PnlIdx, PanelID)); } /// <summary> /// Send Grab Ready Req /// </summary> /// <param name="SeqType">물류 Sequence Type</param> /// <param name="ModuleIdx">카메라 Module Idx (0: Left, 1: Right)</param> /// <param name="GrabDir">단축 Grab(Default), 1: 단축 Grab</param> /// <param name="PnlDir">0: 단면 물류 흐름 방향, 1: 장면 물류 흐름 방향</param> /// <param name="StageNo">현재 검사를 위한 Panel이 로딩된 Stage 번호</param> /// <param name="SlotNo">Tray Slot 번호</param> /// <param name="PnlIdx">Tray 내 Panel이 위치한 Idx 번호</param> /// <param name="PanelID">Panel을 식별하기위한 ID (*없는 경우 NULL)</param> public bool Send_WidthMeasurement_Grab_Ready_Req(int ModuleIdx, int GrabDir, int PnlDir, int StageNo, int SlotNo, int PnlIdx, string PanelID) { int SeqType = 4; sm.Set_Bit(Vision_Address.Measurement_Grab_Ready_Ack, false); if (ModuleIdx == 0) sm.Set_Bit(Vision_Address.Measurement_Left_Ack, false); else sm.Set_Bit(Vision_Address.Measurement_Right_Ack, false); WriteClientLog($"[Send]Measurement Grab Ready, ModuleIdx : {ModuleIdx}, GrabDir : {GrabDir}, PnlDir : {PnlDir}, StageNo : {StageNo}, SlotNo : {SlotNo}, PnlIdx : {PnlIdx}, PanelID : {PanelID}"); return SendData(vision_control.Send_Grab_Ready_Req(SeqType, ModuleIdx, GrabDir, PnlDir, StageNo, SlotNo, PnlIdx, PanelID)); } /// <summary> /// Send Grab Start Req /// </summary> /// <param name="ModelIdx">카메라 Module Idx (0: Left, 1: Right)</param> /// <param name="MarkIdx">마크 위치 (0:Left, 1:Left, 2:Right, 3:Right)</param> /// <param name="MotorOffsetX">현재 Motor Position X</param> /// <param name="MotorOffsetY">현재 Motor Position Y</param> public bool Send_WidthMeasurement_Grab_Start_Req(int ModelIdx, int MarkIdx, double MotorOffsetX, double MotorOffsetY) { int SeqType = 4; if (ModelIdx == 0) sm.Set_Bit(Vision_Address.Measurement_Grab_Start_Left_Ack, false); else sm.Set_Bit(Vision_Address.Measurement_Grab_Start_Right_Ack, false); WriteClientLog($"[Send]Measurement Grab Start, ModelIdx : {ModelIdx}, MarkIdx : {MarkIdx}, MotorOffsetX : {MotorOffsetX}, MotorOffsetY : {MotorOffsetY}"); return SendData(vision_control.Send_Grab_Start_Req(SeqType, ModelIdx, MarkIdx, MotorOffsetX, MotorOffsetY)); } /// <summary> /// Send Motor Pos Move Ack /// </summary> SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Control.cs
@@ -473,6 +473,49 @@ Ack = new MeasurementResultAck(Result_MsgIndex, Result_ModuleIdx, Result_MeasureResult, Result_Mark1Point1, Result_Mark1Point2, Result_Mark2Point1, Result_Mark2Point2, Result_Mark3Point1, Result_Mark3Point2, Result_Mark4Point1, Result_Mark4Point2, Result_MarkDistance, Result_AlignResult); } public void Recv_WidthMeasurement_Result(byte[] Recvdata, out WidthMeasurementResultAck Ack) { byte[] size = new byte[4]; byte[] command = new byte[2]; byte[] MsgIndex = new byte[4]; //TimeStamp (HHMMSSmsmsms) byte[] ModuleIdx = new byte[4]; //카메라 Module Idx (0: Left, 1: Right) byte[] MeasureResult = new byte[4]; //0 : Fail, 1 : Success byte[] Mark1Width = new byte[8]; //Mark1의 넓이 byte[] Mark2Width = new byte[8]; //Mark2의 넓이 byte[] Mark3Width = new byte[8]; //Mark3의 넓이 byte[] Mark4Width = new byte[8]; //Mark4의 넓이 int copylength = 0; Array.Copy(Recvdata, size, size.Length); copylength += size.Length; Array.Copy(Recvdata, copylength, command, 0, command.Length); copylength += command.Length; Array.Copy(Recvdata, copylength, MsgIndex, 0, MsgIndex.Length); copylength += MsgIndex.Length; Array.Copy(Recvdata, copylength, ModuleIdx, 0, ModuleIdx.Length); copylength += ModuleIdx.Length; Array.Copy(Recvdata, copylength, MeasureResult, 0, MeasureResult.Length); copylength += MeasureResult.Length; Array.Copy(Recvdata, copylength, Mark1Width, 0, Mark1Width.Length); copylength += Mark1Width.Length; Array.Copy(Recvdata, copylength, Mark2Width, 0, Mark2Width.Length); copylength += Mark2Width.Length; Array.Copy(Recvdata, copylength, Mark3Width, 0, Mark3Width.Length); copylength += Mark3Width.Length; Array.Copy(Recvdata, copylength, Mark4Width, 0, Mark4Width.Length); copylength += Mark4Width.Length; int Result_MsgIndex = BitConverter.ToInt32(MsgIndex, 0); int Result_ModuleIdx = BitConverter.ToInt32(ModuleIdx, 0); int Result_MeasureResult = BitConverter.ToInt32(MeasureResult, 0); double Result_Mark1Width = BitConverter.ToDouble(Mark1Width, 0); double Result_Mark2Width = BitConverter.ToDouble(Mark2Width, 0); double Result_Mark3Width = BitConverter.ToDouble(Mark3Width, 0); double Result_Mark4Width = BitConverter.ToDouble(Mark4Width, 0); Ack = new WidthMeasurementResultAck(Result_MsgIndex, Result_ModuleIdx, Result_MeasureResult, Result_Mark1Width, Result_Mark2Width, Result_Mark3Width, Result_Mark4Width); } public void Recv_Fine_Align_Result(byte[] Recvdata, out FineAlignResultAck Ack) { byte[] size = new byte[4]; SHARP_CLAS_UI/500.Equipment/400.Module/000.Vision/Vision_Define.cs
@@ -163,6 +163,28 @@ } } public struct WidthMeasurementResultAck { public int msg_Index { get; private set; } public int moduleIdx { get; private set; } public int measurement_result { get; private set; } public double Mark1Width { get; private set; } public double Mark2Width { get; private set; } public double Mark3Width { get; private set; } public double Mark4Width { get; private set; } public WidthMeasurementResultAck(int msg_Index = 0, int moduleIdx = 0, int measurement_result = 0, double mark1Width = 0, double mark2Width = 0, double mark3Width = 0, double mark4Width = 0) { this.msg_Index = msg_Index; this.moduleIdx = moduleIdx; this.measurement_result = measurement_result; this.Mark1Width = mark1Width; this.Mark2Width = mark2Width; this.Mark3Width = mark3Width; this.Mark4Width = mark4Width; } } public struct MotorPosMoveReq { public int msg_Index{ get; private set; } SHARP_CLAS_UI/500.Equipment/400.Module/300.CIM/CIM_Client.cs
@@ -579,11 +579,6 @@ string data_etc = string.Empty; //for (int i = 18; i < 380; i++) //{ // data_etc += ","; //} for (int i = 18; i < 81; i++) { data_etc += $","; @@ -613,8 +608,6 @@ Set_Command_Ack(En_Cim_Command.PREND, false); send_datas.Enqueue(new Cim_Send_Data(En_Cim_Command.PREND, command)); return true; //return Check_Receive_Data(command, En_Cim_Command.PREND); } public bool Send_Panel_Tray_In(string seq_num, string tray_id, string panel_id, string location, En_Port_ID port_id) SHARP_CLAS_UI/500.Equipment/500.Recipe/200.Vision_Info/Vision_Info_Recipe.cs
@@ -56,6 +56,15 @@ public double AOI_Mark4_Y { get; set; } public bool AoiMark34Use { get; set; } public double Width_AOI_Mark1_X { get; set; } public double Width_AOI_Mark1_Y { get; set; } public double Width_AOI_Mark2_X { get; set; } public double Width_AOI_Mark2_Y { get; set; } public double Width_AOI_Mark3_X { get; set; } public double Width_AOI_Mark3_Y { get; set; } public double Width_AOI_Mark4_X { get; set; } public double Width_AOI_Mark4_Y { get; set; } public double AOI_Before_Left_T { get; set; } public double AOI_Before_Right_T { get; set; } @@ -114,6 +123,15 @@ AOI_Mark4_Y = 0; AoiMark34Use = false; Width_AOI_Mark1_X = 0; Width_AOI_Mark1_Y = 0; Width_AOI_Mark2_X = 0; Width_AOI_Mark2_Y = 0; Width_AOI_Mark3_X = 0; Width_AOI_Mark3_Y = 0; Width_AOI_Mark4_X = 0; Width_AOI_Mark4_Y = 0; AOI_Before_Left_T = 0; AOI_Before_Right_T = 0; AOI_After_Left_T = 0; @@ -170,6 +188,14 @@ info.AOI_Mark4_X = this.AOI_Mark4_X; info.AOI_Mark4_Y = this.AOI_Mark4_Y; info.AoiMark34Use = this.AoiMark34Use; info.Width_AOI_Mark1_X = this.Width_AOI_Mark1_X; info.Width_AOI_Mark1_Y = this.Width_AOI_Mark1_Y; info.Width_AOI_Mark2_X = this.Width_AOI_Mark2_X; info.Width_AOI_Mark2_Y = this.Width_AOI_Mark2_Y; info.Width_AOI_Mark3_X = this.Width_AOI_Mark3_X; info.Width_AOI_Mark3_Y = this.Width_AOI_Mark3_Y; info.Width_AOI_Mark4_X = this.Width_AOI_Mark4_X; info.Width_AOI_Mark4_Y = this.Width_AOI_Mark4_Y; info.AOI_Before_Left_T = this.AOI_Before_Left_T; info.AOI_Before_Right_T = this.AOI_Before_Right_T; info.AOI_After_Left_T = this.AOI_After_Left_T; SHARP_CLAS_UI/500.Equipment/600.Info/000.Panel_Info/Panel_Info.cs
@@ -59,6 +59,14 @@ public double Mark4Point1 { get; set; } public double Mark4Point2 { get; set; } public bool WidthMeasurement_Ack { get; set; } public bool WidthMeasurement_Result { get; set; } public double Mark1Width { get; set; } public double Mark2Width { get; set; } public double Mark3Width { get; set; } public double Mark4Width { get; set; } public int Stage_Num { get; set; } public DateTime Start_Time { get; set; } SHARP_CLAS_UI/500.Equipment/600.Info/200.System_Parameter/Parameter_Mode.cs
@@ -12,6 +12,7 @@ public bool Measurement_Skip { get; set; } public bool Ablation_Skip { get; set; } public bool Plasma_Skip { get; set; } public bool Width_Measurement_Skip { get; set; } public bool LD_Stacker_Skip { get; set; } public bool ULD_Stacker_Skip { get; set; } public bool Film_Judge_Mode { get; set; } @@ -20,6 +21,7 @@ public bool Ablation_Stage_2_1_Skip { get; set; } public bool Ablation_Stage_2_2_Skip { get; set; } public bool Auto_Power_Skip { get; set; } public Parameter_Mode() { Agv_Skip = false; @@ -30,6 +32,7 @@ Pre_Align_Skip = false; Fine_Align_Skip = false; Measurement_Skip = false; Width_Measurement_Skip = false; Ablation_Skip = false; Plasma_Skip = false; LD_Stacker_Skip = false; @@ -54,6 +57,7 @@ mode.Pre_Align_Skip = this.Pre_Align_Skip; mode.Fine_Align_Skip = this.Fine_Align_Skip; mode.Measurement_Skip = this.Measurement_Skip; mode.Width_Measurement_Skip = this.Width_Measurement_Skip; mode.Ablation_Skip = this.Ablation_Skip; mode.Plasma_Skip = this.Plasma_Skip; mode.LD_Stacker_Skip = this.LD_Stacker_Skip; SHARP_CLAS_UI/500.Equipment/600.Info/200.System_Parameter/Parameter_Setting.cs
@@ -40,6 +40,8 @@ public double Handler_Pitch { get; set; } public int Cleaning_Count { get; set;} public int Width_Measurement_Count { get; set; } public Parameter_Setting() { Film_Judge_Speed = 0; @@ -79,6 +81,7 @@ Handler_Pitch = 0; Cleaning_Count = 0; Width_Measurement_Count = 0; } public Parameter_Setting Clone() @@ -117,6 +120,7 @@ setting.Stage_2_2_Power_Offset = this.Stage_2_2_Power_Offset; setting.Handler_Pitch = this.Handler_Pitch; setting.Cleaning_Count = this.Cleaning_Count; setting.Width_Measurement_Count = this.Width_Measurement_Count; return setting; } SHARP_CLAS_UI/500.Equipment/700.Unit/300.After/AoiStage.cs
SHARP_CLAS_UI/500.Equipment/700.Unit/400.Unloader/ULD_Handler_1.cs
@@ -1106,6 +1106,9 @@ var isAoiPanel1MeasurementAck = aoiStage.Stage1.IsExist == false || aoiStage.Panel1.Measurement_Ack; var isAoiPanel2MeasurementAck = aoiStage.Stage2.IsExist == false || aoiStage.Panel2.Measurement_Ack; var isAoiPanel1WidthMeasurementAck = aoiStage.Stage1.IsExist == false || aoiStage.Panel1.WidthMeasurement_Ack; var isAoiPanel2WidthMeasurementAck = aoiStage.Stage2.IsExist == false || aoiStage.Panel2.WidthMeasurement_Ack; switch (Step) { case UnloaderHandler1Steps.S4000_MEASUREMENT_START: @@ -1674,13 +1677,25 @@ if (isAoiPanel1MeasurementAck && isAoiPanel2MeasurementAck) { //AOI 완료. -> Width meausrement 여기에 추가 해야 될듯..? if (equipment.Mode.Width_Measurement_Skip || equipment.WidthMeasurementCount < equipment.Setting.Width_Measurement_Count) { equipment.WidthMeasurementCount = equipment.WidthMeasurementCount + 1; if (equipment.cim_mode == En_Cim_Mode.Online) { Step = UnloaderHandler1Steps.S4600_PANEL_LEFT_CIM_SEND; Step = UnloaderHandler1Steps.S4800_PANEL_LEFT_CIM_SEND; } else { Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; } } else { measurement_retry_cnt = 0; Step = UnloaderHandler1Steps.S4600_LEFT_CAMERA_GRAB_READY; } } else @@ -1690,7 +1705,7 @@ if (measurement_retry_cnt >= equipment.Setting.Vision_Retry_Count) { Step = UnloaderHandler1Steps.S4700_USER_COMMAND_START; Step = UnloaderHandler1Steps.S4560_USER_COMMAND_START; } else { @@ -1708,7 +1723,7 @@ { if (sequenceChangedTime.Minute > 5) { Step = UnloaderHandler1Steps.S4700_USER_COMMAND_START; Step = UnloaderHandler1Steps.S4560_USER_COMMAND_START; } } else if (measurement_retry_cnt == equipment.Setting.Vision_Retry_Count) @@ -1717,7 +1732,7 @@ Tact_Move.Stop(); equipment.Write_Tact_Time_Log($"ULD Handler 1, AOI Reading [End]"); equipment.Write_Tact_Time_Log($"ULD Handler 1, AOI Reading [Tact : {Tact_Move.Seconds} (sec)]"); Step = UnloaderHandler1Steps.S4700_USER_COMMAND_START; Step = UnloaderHandler1Steps.S4560_USER_COMMAND_START; } else { @@ -1732,100 +1747,7 @@ break; } case UnloaderHandler1Steps.S4600_PANEL_LEFT_CIM_SEND: { if (equipment.cim_mode != En_Cim_Mode.Online) { Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; return; } Panel_Info info1 = equipment.after.AoiStage.Panel1; if (equipment.after.AoiStage.Stage1.IsExist == false || info1.IsPanelIdRead == false) { Step = UnloaderHandler1Steps.S4620_PANEL_RIGHT_CIM_SEND; return; } else { if (equipment.cim_client.Send_Process_End("E123456", info1)) { Step = UnloaderHandler1Steps.S4610_PANEL_LEFT_CIM_SEND_WAIT; } } break; } case UnloaderHandler1Steps.S4610_PANEL_LEFT_CIM_SEND_WAIT: { if (equipment.cim_mode != En_Cim_Mode.Online) { Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; return; } if (equipment.cim_client.Get_Command_Ack(En_Cim_Command.PREND)) { if (equipment.cim_client.Get_Command_Result(En_Cim_Command.PREND)) { Step = UnloaderHandler1Steps.S4620_PANEL_RIGHT_CIM_SEND; } else { Step = UnloaderHandler1Steps.S4600_PANEL_LEFT_CIM_SEND; } } break; } case UnloaderHandler1Steps.S4620_PANEL_RIGHT_CIM_SEND: { if (equipment.cim_mode != En_Cim_Mode.Online) { Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; return; } Panel_Info info2 = equipment.after.AoiStage.Panel2; if (equipment.after.AoiStage.Stage2.IsExist == false || info2.IsPanelIdRead == false) { Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; } else { if(equipment.cim_client.Send_Process_End("E123456", info2)) { Step = UnloaderHandler1Steps.S4630_PANEL_RIGHT_CIM_SEND_WAIT; } } break; } case UnloaderHandler1Steps.S4630_PANEL_RIGHT_CIM_SEND_WAIT: { if (equipment.cim_mode != En_Cim_Mode.Online) { Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; return; } if (equipment.cim_client.Get_Command_Ack(En_Cim_Command.PREND)) { if (equipment.cim_client.Get_Command_Result(En_Cim_Command.PREND)) { Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; } else { Step = UnloaderHandler1Steps.S4620_PANEL_RIGHT_CIM_SEND; } } break; } case UnloaderHandler1Steps.S4700_USER_COMMAND_START: case UnloaderHandler1Steps.S4560_USER_COMMAND_START: { var aoistage = equipment.after.AoiStage; Panel_Info info1 = aoistage.Panel1; @@ -1844,10 +1766,10 @@ measurement_user_command = new Form_User_Command_Set("Measurement"); measurement_user_command_show = true; Step = UnloaderHandler1Steps.S4710_USER_COMMAND_WAIT; Step = UnloaderHandler1Steps.S4570_USER_COMMAND_WAIT; break; } case UnloaderHandler1Steps.S4710_USER_COMMAND_WAIT: case UnloaderHandler1Steps.S4570_USER_COMMAND_WAIT: { var aoistage = equipment.after.AoiStage; Panel_Info info1 = aoistage.Panel1; @@ -1948,6 +1870,734 @@ } break; } case UnloaderHandler1Steps.S4600_LEFT_CAMERA_GRAB_READY: { Tact_Move.Start(); equipment.Write_Tact_Time_Log($"ULD Handler 1, AOI Ready [Start]"); var info = equipment.after.AoiStage.Panel1; if (isAoiPanel1WidthMeasurementAck) { Step = UnloaderHandler1Steps.S4602_RIGHT_CAMERA_GRAB_READY; return; } if (equipment.Aoi_vision.Send_WidthMeasurement_Grab_Ready_Req(0, 0, 0, info.Stage_Num, info.Tray_Num, info.Panel_Num, info.Panel_ID)) Step = UnloaderHandler1Steps.S4601_LEFT_CAMERA_GRAB_READY_WAIT; break; } case UnloaderHandler1Steps.S4601_LEFT_CAMERA_GRAB_READY_WAIT: { if (equipment.sm.Get_Bit(Vision_Address.Measurement_Grab_Ready_Ack)) { Step = UnloaderHandler1Steps.S4602_RIGHT_CAMERA_GRAB_READY; } else if (sequenceChangedTime.Seconds > equipment.Setting.Vision_Timeout) { Step = UnloaderHandler1Steps.S4600_LEFT_CAMERA_GRAB_READY; } break; } case UnloaderHandler1Steps.S4602_RIGHT_CAMERA_GRAB_READY: { if (sequenceChangedTime.Seconds < 0.1) break; var info = equipment.after.AoiStage.Panel2; if (isAoiPanel2WidthMeasurementAck) { Tact_Move.Stop(); equipment.Write_Tact_Time_Log($"ULD Handler 1, Widht AOI Ready [End]"); equipment.Write_Tact_Time_Log($"ULD Handler 1, Widht AOI Ready [Tact : {Tact_Move.Seconds} (sec)]"); Step = UnloaderHandler1Steps.S4610_MOVE_MEASUREMENT_MARK1_POSITION; return; } if (equipment.Aoi_vision.Send_WidthMeasurement_Grab_Ready_Req(1, 0, 0, info.Stage_Num, info.Tray_Num, info.Panel_Num, info.Panel_ID)) Step = UnloaderHandler1Steps.S4603_RIGHT_CAMERA_GRAB_READY_WAIT; break; } case UnloaderHandler1Steps.S4603_RIGHT_CAMERA_GRAB_READY_WAIT: { if (equipment.sm.Get_Bit(Vision_Address.Measurement_Grab_Ready_Ack)) { Tact_Move.Stop(); equipment.Write_Tact_Time_Log($"ULD Handler 1, Widht AOI Ready [End]"); equipment.Write_Tact_Time_Log($"ULD Handler 1, Widht AOI Ready [Tact : {Tact_Move.Seconds} (sec)]"); Step = UnloaderHandler1Steps.S4610_MOVE_MEASUREMENT_MARK1_POSITION; } else if (sequenceChangedTime.Seconds > equipment.Setting.Vision_Timeout) { Step = UnloaderHandler1Steps.S4600_LEFT_CAMERA_GRAB_READY; } break; } case UnloaderHandler1Steps.S4610_MOVE_MEASUREMENT_MARK1_POSITION: { Tact_Move.Start(); equipment.Write_Tact_Time_Log($"ULD Handler 1, Widht AOI Reading Position [Start]"); if (MotorX.Move_Absolute_Pos(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark1_X, 500) && MotorY.Move_Absolute_Pos(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark1_Y, 500)) Step = UnloaderHandler1Steps.S4611_POSITION_CHECK; break; } case UnloaderHandler1Steps.S4611_POSITION_CHECK: { if (MotorX.MotionComplete && MotorY.MotionComplete) { if (MotorX.Is_Inposition(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark1_X, equipment.Setting.Inposition_Offset) && MotorY.Is_Inposition(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark1_Y, equipment.Setting.Inposition_Offset)) { Tact_Move.Stop(); equipment.Write_Tact_Time_Log($"ULD Handler 1, Widht AOI Reading Position [End]"); equipment.Write_Tact_Time_Log($"ULD Handler 1, Widht AOI Reading Position [Tact : {Tact_Move.Seconds} (sec)]"); vision_delay.Start(); Step = UnloaderHandler1Steps.S4612_LEFT_CAMERA_MARK_1_GRAB_START; } else { Step = UnloaderHandler1Steps.S4610_MOVE_MEASUREMENT_MARK1_POSITION; } } break; } case UnloaderHandler1Steps.S4612_LEFT_CAMERA_MARK_1_GRAB_START: { if (vision_delay.Seconds < equipment.Setting.Vision_Move_Delay) return; Tact_Move.Start(); equipment.Write_Tact_Time_Log($"ULD Handler 1, Widht AOI Reading [Start]"); var info = equipment.after.AoiStage.Panel1; if (isAoiPanel1WidthMeasurementAck) { Step = UnloaderHandler1Steps.S4614_RIGHT_CAMERA_MARK_1_GRAB_START; return; } if (equipment.Aoi_vision.Send_WidthMeasurement_Grab_Start_Req(0, 0, MotorX.Position, MotorY.Position)) Step = UnloaderHandler1Steps.S4613_LEFT_CAMERA_MARK_1_GRAB_WAIT; break; } case UnloaderHandler1Steps.S4613_LEFT_CAMERA_MARK_1_GRAB_WAIT: { if (equipment.sm.Get_Bit(Vision_Address.Measurement_Grab_Start_Left_Ack)) { Step = UnloaderHandler1Steps.S4614_RIGHT_CAMERA_MARK_1_GRAB_START; } else if (sequenceChangedTime.Seconds > equipment.Setting.Vision_Timeout) { Step = UnloaderHandler1Steps.S4600_LEFT_CAMERA_GRAB_READY; } break; } case UnloaderHandler1Steps.S4614_RIGHT_CAMERA_MARK_1_GRAB_START: { if (sequenceChangedTime.Seconds < 0.1) return; var info = equipment.after.AoiStage.Panel2; if (isAoiPanel2WidthMeasurementAck) { Step = UnloaderHandler1Steps.S4620_MOVE_MEASUREMENT_MARK2_POSITION; return; } if (equipment.Aoi_vision.Send_WidthMeasurement_Grab_Start_Req(1, 0, MotorX.Position, MotorY.Position)) Step = UnloaderHandler1Steps.S4615_RIGHT_CAMERA_MARK_1_GRAB_WAIT; break; } case UnloaderHandler1Steps.S4615_RIGHT_CAMERA_MARK_1_GRAB_WAIT: { if (equipment.sm.Get_Bit(Vision_Address.Measurement_Grab_Start_Right_Ack)) { Step = UnloaderHandler1Steps.S4620_MOVE_MEASUREMENT_MARK2_POSITION; } else if (sequenceChangedTime.Seconds > equipment.Setting.Vision_Timeout) { Step = UnloaderHandler1Steps.S4600_LEFT_CAMERA_GRAB_READY; } break; } case UnloaderHandler1Steps.S4620_MOVE_MEASUREMENT_MARK2_POSITION: { if (sequenceChangedTime.Seconds < equipment.Setting.Vision_Move_Delay) break; if (MotorX.Move_Absolute_Pos(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark2_X, 500) && MotorY.Move_Absolute_Pos(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark2_Y, 500)) Step = UnloaderHandler1Steps.S4621_POSITION_CHECK; break; } case UnloaderHandler1Steps.S4621_POSITION_CHECK: { if (MotorX.MotionComplete && MotorY.MotionComplete) { if (MotorX.Is_Inposition(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark2_X, equipment.Setting.Inposition_Offset) && MotorY.Is_Inposition(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark2_Y, equipment.Setting.Inposition_Offset)) { vision_delay.Start(); Step = UnloaderHandler1Steps.S4622_LEFT_CAMERA_MARK_2_GRAB_START; } else { Step = UnloaderHandler1Steps.S4620_MOVE_MEASUREMENT_MARK2_POSITION; } } break; } case UnloaderHandler1Steps.S4622_LEFT_CAMERA_MARK_2_GRAB_START: { if (vision_delay.Seconds < equipment.Setting.Vision_Move_Delay) return; var info = equipment.after.AoiStage.Panel1; if (isAoiPanel1WidthMeasurementAck) { Step = UnloaderHandler1Steps.S4624_RIGHT_CAMERA_MARK_2_GRAB_START; return; } if (equipment.Aoi_vision.Send_WidthMeasurement_Grab_Start_Req(0, 1, MotorX.Position, MotorY.Position)) Step = UnloaderHandler1Steps.S4623_LEFT_CAMERA_MARK_2_GRAB_WAIT; break; } case UnloaderHandler1Steps.S4623_LEFT_CAMERA_MARK_2_GRAB_WAIT: { if (equipment.sm.Get_Bit(Vision_Address.Measurement_Grab_Start_Left_Ack)) { Step = UnloaderHandler1Steps.S4624_RIGHT_CAMERA_MARK_2_GRAB_START; } else if (sequenceChangedTime.Seconds > equipment.Setting.Vision_Timeout) { Step = UnloaderHandler1Steps.S4600_LEFT_CAMERA_GRAB_READY; } break; } case UnloaderHandler1Steps.S4624_RIGHT_CAMERA_MARK_2_GRAB_START: { if (sequenceChangedTime.Seconds < 0.1) return; var info = equipment.after.AoiStage.Panel2; if (isAoiPanel2WidthMeasurementAck) { sequenceChangedTime.Start(); if (equipment.Cur_Main_Recipe.vision_info.AoiMark34Use) { Step = UnloaderHandler1Steps.S4630_MOVE_MEASUREMENT_MARK3_POSITION; } else { Step = UnloaderHandler1Steps.S4650_MEASUREMENT_CHECK; } return; } if (equipment.Aoi_vision.Send_WidthMeasurement_Grab_Start_Req(1, 1, MotorX.Position, MotorY.Position)) Step = UnloaderHandler1Steps.S4625_RIGHT_CAMERA_MARK_2_GRAB_WAIT; break; } case UnloaderHandler1Steps.S4625_RIGHT_CAMERA_MARK_2_GRAB_WAIT: { if (equipment.sm.Get_Bit(Vision_Address.Measurement_Grab_Start_Right_Ack)) { if (equipment.Cur_Main_Recipe.vision_info.AoiMark34Use) { Step = UnloaderHandler1Steps.S4630_MOVE_MEASUREMENT_MARK3_POSITION; } else { Step = UnloaderHandler1Steps.S4650_MEASUREMENT_CHECK; } } else if (sequenceChangedTime.Seconds > equipment.Setting.Vision_Timeout) { Step = UnloaderHandler1Steps.S4600_LEFT_CAMERA_GRAB_READY; } break; } case UnloaderHandler1Steps.S4630_MOVE_MEASUREMENT_MARK3_POSITION: { if (sequenceChangedTime.Seconds < equipment.Setting.Vision_Move_Delay) break; if (MotorX.Move_Absolute_Pos(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark3_X, 500) && MotorY.Move_Absolute_Pos(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark3_Y, 500)) Step = UnloaderHandler1Steps.S4631_POSITION_CHECK; break; } case UnloaderHandler1Steps.S4631_POSITION_CHECK: { if (MotorX.MotionComplete && MotorY.MotionComplete) { if (MotorX.Is_Inposition(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark3_X, equipment.Setting.Inposition_Offset) && MotorY.Is_Inposition(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark3_Y, equipment.Setting.Inposition_Offset)) { vision_delay.Start(); Step = UnloaderHandler1Steps.S4632_LEFT_CAMERA_MARK_3_GRAB_START; } else { Step = UnloaderHandler1Steps.S4630_MOVE_MEASUREMENT_MARK3_POSITION; } } break; } case UnloaderHandler1Steps.S4632_LEFT_CAMERA_MARK_3_GRAB_START: { if (vision_delay.Seconds < equipment.Setting.Vision_Move_Delay) return; var info = equipment.after.AoiStage.Panel1; if (isAoiPanel1WidthMeasurementAck) { Step = UnloaderHandler1Steps.S4634_RIGHT_CAMERA_MARK_3_GRAB_START; return; } if (equipment.Aoi_vision.Send_WidthMeasurement_Grab_Start_Req(0, 2, MotorX.Position, MotorY.Position)) Step = UnloaderHandler1Steps.S4633_LEFT_CAMERA_MARK_3_GRAB_WAIT; break; } case UnloaderHandler1Steps.S4633_LEFT_CAMERA_MARK_3_GRAB_WAIT: { if (equipment.sm.Get_Bit(Vision_Address.Measurement_Grab_Start_Left_Ack)) { Step = UnloaderHandler1Steps.S4634_RIGHT_CAMERA_MARK_3_GRAB_START; } else if (sequenceChangedTime.Seconds > equipment.Setting.Vision_Timeout) { Step = UnloaderHandler1Steps.S4600_LEFT_CAMERA_GRAB_READY; } break; } case UnloaderHandler1Steps.S4634_RIGHT_CAMERA_MARK_3_GRAB_START: { if (sequenceChangedTime.Seconds < 0.1) return; var info = equipment.after.AoiStage.Panel2; if (isAoiPanel2WidthMeasurementAck) { sequenceChangedTime.Start(); Step = UnloaderHandler1Steps.S4640_MOVE_MEASUREMENT_MARK4_POSITION; return; } if (equipment.Aoi_vision.Send_WidthMeasurement_Grab_Start_Req(1, 2, MotorX.Position, MotorY.Position)) Step = UnloaderHandler1Steps.S4635_RIGHT_CAMERA_MARK_3_GRAB_WAIT; break; } case UnloaderHandler1Steps.S4635_RIGHT_CAMERA_MARK_3_GRAB_WAIT: { if (equipment.sm.Get_Bit(Vision_Address.Measurement_Grab_Start_Right_Ack)) { Step = UnloaderHandler1Steps.S4640_MOVE_MEASUREMENT_MARK4_POSITION; } else if (sequenceChangedTime.Seconds > equipment.Setting.Vision_Timeout) { Step = UnloaderHandler1Steps.S4600_LEFT_CAMERA_GRAB_READY; } break; } case UnloaderHandler1Steps.S4640_MOVE_MEASUREMENT_MARK4_POSITION: { if (sequenceChangedTime.Seconds < equipment.Setting.Vision_Move_Delay) break; if (MotorX.Move_Absolute_Pos(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark4_X, 500) && MotorY.Move_Absolute_Pos(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark4_Y, 500)) Step = UnloaderHandler1Steps.S4641_POSITION_CHECK; break; } case UnloaderHandler1Steps.S4641_POSITION_CHECK: { if (MotorX.MotionComplete && MotorY.MotionComplete) { if (MotorX.Is_Inposition(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark4_X, equipment.Setting.Inposition_Offset) && MotorY.Is_Inposition(equipment.Cur_Main_Recipe.vision_info.Width_AOI_Mark4_Y, equipment.Setting.Inposition_Offset)) { vision_delay.Start(); Step = UnloaderHandler1Steps.S4642_LEFT_CAMERA_MARK_4_GRAB_START; } else { Step = UnloaderHandler1Steps.S4640_MOVE_MEASUREMENT_MARK4_POSITION; } } break; } case UnloaderHandler1Steps.S4642_LEFT_CAMERA_MARK_4_GRAB_START: { if (vision_delay.Seconds < equipment.Setting.Vision_Move_Delay) return; var info = equipment.after.AoiStage.Panel1; if (isAoiPanel1WidthMeasurementAck) { Step = UnloaderHandler1Steps.S4644_RIGHT_CAMERA_MARK_4_GRAB_START; return; } if (equipment.Aoi_vision.Send_WidthMeasurement_Grab_Start_Req(0, 3, MotorX.Position, MotorY.Position)) Step = UnloaderHandler1Steps.S4643_LEFT_CAMERA_MARK_4_GRAB_WAIT; break; } case UnloaderHandler1Steps.S4643_LEFT_CAMERA_MARK_4_GRAB_WAIT: { if (equipment.sm.Get_Bit(Vision_Address.Measurement_Grab_Start_Left_Ack)) { Step = UnloaderHandler1Steps.S4644_RIGHT_CAMERA_MARK_4_GRAB_START; } else if (sequenceChangedTime.Seconds > equipment.Setting.Vision_Timeout) { Step = UnloaderHandler1Steps.S4600_LEFT_CAMERA_GRAB_READY; } break; } case UnloaderHandler1Steps.S4644_RIGHT_CAMERA_MARK_4_GRAB_START: { if (sequenceChangedTime.Seconds < 0.1) return; var info = equipment.after.AoiStage.Panel2; if (isAoiPanel2WidthMeasurementAck) { sequenceChangedTime.Start(); Step = UnloaderHandler1Steps.S4650_MEASUREMENT_CHECK; return; } if (equipment.Aoi_vision.Send_WidthMeasurement_Grab_Start_Req(1, 3, MotorX.Position, MotorY.Position)) Step = UnloaderHandler1Steps.S4645_RIGHT_CAMERA_MARK_4_GRAB_WAIT; break; } case UnloaderHandler1Steps.S4645_RIGHT_CAMERA_MARK_4_GRAB_WAIT: { if (equipment.sm.Get_Bit(Vision_Address.Measurement_Grab_Start_Right_Ack)) { Step = UnloaderHandler1Steps.S4650_MEASUREMENT_CHECK; } else if (sequenceChangedTime.Seconds > equipment.Setting.Vision_Timeout) { Step = UnloaderHandler1Steps.S4600_LEFT_CAMERA_GRAB_READY; } break; } case UnloaderHandler1Steps.S4650_MEASUREMENT_CHECK: { var aoistage = equipment.after.AoiStage; var info1 = aoistage.Panel1; var info2 = aoistage.Panel2; object value; bool result; if ((isAoiPanel1WidthMeasurementAck || equipment.sm.Get_Bit(Vision_Address.Measurement_Left_Ack)) && (isAoiPanel2WidthMeasurementAck || equipment.sm.Get_Bit(Vision_Address.Measurement_Right_Ack))) { if (aoistage.Stage1.IsExist && info1.WidthMeasurement_Ack == false) { info1.WidthMeasurement_Ack = true; if (equipment.sm.Get_Bit(Vision_Address.Measurement_Left_Result, out result)) { info1.WidthMeasurement_Result = result; info1.End_Time = DateTime.Now; equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_1_Point_1, out value); info1.Mark1Point1 = double.Parse(value.ToString()); equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_2_Point_1, out value); info1.Mark2Point1 = double.Parse(value.ToString()); equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_3_Point_1, out value); info1.Mark3Point1 = double.Parse(value.ToString()); equipment.sm.Get_Value(Vision_Address.Measurement_Left_Mark_4_Point_1, out value); info1.Mark4Point1 = double.Parse(value.ToString()); aoistage.Panel1 = info1; isAoiPanel1WidthMeasurementAck = aoiStage.Stage1.IsExist == false || aoiStage.Panel1.WidthMeasurement_Ack; } else { return; } } if (aoistage.Stage2.IsExist && info2.WidthMeasurement_Ack == false) { if (equipment.sm.Get_Bit(Vision_Address.Measurement_Right_Align_Result)) { info2.WidthMeasurement_Ack = true; if (equipment.sm.Get_Bit(Vision_Address.Measurement_Right_Result, out result)) { info2.Measurement_Result = result; info2.End_Time = DateTime.Now; equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_1_Point_1, out value); info2.Mark1Point1 = double.Parse(value.ToString()); equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_2_Point_1, out value); info2.Mark2Point1 = double.Parse(value.ToString()); equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_3_Point_1, out value); info2.Mark3Point1 = double.Parse(value.ToString()); equipment.sm.Get_Value(Vision_Address.Measurement_Right_Mark_4_Point_1, out value); info2.Mark4Point1 = double.Parse(value.ToString()); aoistage.Panel2 = info2; isAoiPanel2WidthMeasurementAck = aoiStage.Stage2.IsExist == false || aoiStage.Panel2.WidthMeasurement_Ack; } else { return; } } } Tact_Move.Stop(); equipment.Write_Tact_Time_Log($"ULD Handler 1, Widht AOI Reading [End]"); equipment.Write_Tact_Time_Log($"ULD Handler 1, Widht AOI Reading [Tact : {Tact_Move.Seconds} (sec)]"); if (isAoiPanel1WidthMeasurementAck && isAoiPanel2WidthMeasurementAck) { if (equipment.cim_mode == En_Cim_Mode.Online) { Step = UnloaderHandler1Steps.S4800_PANEL_LEFT_CIM_SEND; } else { Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; } } else { equipment.Aoi_vision.WriteClientLog("no align result"); measurement_retry_cnt++; if (measurement_retry_cnt >= equipment.Setting.Vision_Retry_Count) { Step = UnloaderHandler1Steps.S4700_USER_COMMAND_START; } else { Step = UnloaderHandler1Steps.S4600_LEFT_CAMERA_GRAB_READY; } } } else { if (sequenceChangedTime.Seconds > equipment.Setting.Vision_Timeout) { measurement_retry_cnt++; if (measurement_retry_cnt == equipment.Setting.Vision_Retry_Count) { equipment.Aoi_vision.WriteClientLog("no ack result"); Tact_Move.Stop(); equipment.Write_Tact_Time_Log($"ULD Handler 1, Widht AOI Reading [End]"); equipment.Write_Tact_Time_Log($"ULD Handler 1, Widht AOI Reading [Tact : {Tact_Move.Seconds} (sec)]"); Step = UnloaderHandler1Steps.S4700_USER_COMMAND_START; } else { equipment.Aoi_vision.WriteClientLog("no ack result"); Tact_Move.Stop(); equipment.Write_Tact_Time_Log($"ULD Handler 1, Widht AOI Reading [End]"); equipment.Write_Tact_Time_Log($"ULD Handler 1, Widht AOI Reading [Tact : {Tact_Move.Seconds} (sec)]"); Step = UnloaderHandler1Steps.S4600_LEFT_CAMERA_GRAB_READY; } } } break; } case UnloaderHandler1Steps.S4700_USER_COMMAND_START: { var aoistage = equipment.after.AoiStage; Panel_Info info1 = aoistage.Panel1; Panel_Info info2 = aoistage.Panel2; if (aoistage.Stage1.IsExist && info1.WidthMeasurement_Ack == false) { Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0886_MEASUREMENT_LEFT_ERROR); } if (aoistage.Stage2.IsExist && info2.WidthMeasurement_Ack == false) { Alarm_Manager.Instance.Occurred(En_Alarm_List.AL_0887_MEASUREMENT_RIGHT_ERROR); } measurement_user_command = new Form_User_Command_Set("Measurement"); measurement_user_command_show = true; Step = UnloaderHandler1Steps.S4700_USER_COMMAND_WAIT; break; } case UnloaderHandler1Steps.S4700_USER_COMMAND_WAIT: { var aoistage = equipment.after.AoiStage; Panel_Info info1 = aoistage.Panel1; Panel_Info info2 = aoistage.Panel2; if (measurement_user_command.Command_Type == En_User_Command.Scrap) { if (aoistage.Stage1.IsExist && info1.Measurement_Ack == false) { aoistage.Panel1 = new Panel_Info(); aoistage.Stage_1_Scrap(); equipment.Aoi_vision.Send_Measurement_Command_Req(0, 0, info1.Tray_Num, info1.Panel_Num, info1.Panel_ID); } if (aoistage.Stage2.IsExist && info2.Measurement_Ack == false) { aoistage.Panel2 = new Panel_Info(); aoistage.Stage_2_Scrap(); equipment.Aoi_vision.Send_Measurement_Command_Req(0, 1, info2.Tray_Num, info2.Panel_Num, info2.Panel_ID); } Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; } else if (measurement_user_command.Command_Type == En_User_Command.Retry) { if (aoistage.Stage1.IsExist && info1.Measurement_Ack == false) { equipment.Aoi_vision.Send_Measurement_Command_Req(1, 0, info1.Tray_Num, info1.Panel_Num, info1.Panel_ID); } if (aoistage.Stage2.IsExist && info2.Measurement_Ack == false) { equipment.Aoi_vision.Send_Measurement_Command_Req(1, 1, info2.Tray_Num, info2.Panel_Num, info2.Panel_ID); } measurement_retry_cnt = 0; Step = UnloaderHandler1Steps.S4600_LEFT_CAMERA_GRAB_READY; } else if (measurement_user_command.Command_Type == En_User_Command.Skip) { if (aoistage.Stage1.IsExist && info1.Measurement_Ack == false) { equipment.sm.Set_Bit(Vision_Address.Measurement_Left_Ack, true); equipment.sm.Set_Bit(Vision_Address.Measurement_Left_Align_Result, true); equipment.sm.Set_Bit(Vision_Address.Measurement_Left_Result, false); equipment.Aoi_vision.Send_Measurement_Command_Req(2, 0, info1.Tray_Num, info1.Panel_Num, info1.Panel_ID); } if (aoistage.Stage2.IsExist && info2.Measurement_Ack == false) { equipment.sm.Set_Bit(Vision_Address.Measurement_Right_Ack, true); equipment.sm.Set_Bit(Vision_Address.Measurement_Right_Align_Result, true); equipment.sm.Set_Bit(Vision_Address.Measurement_Right_Result, false); equipment.Aoi_vision.Send_Measurement_Command_Req(2, 1, info2.Tray_Num, info2.Panel_Num, info2.Panel_ID); } Step = UnloaderHandler1Steps.S4650_MEASUREMENT_CHECK; } break; } case UnloaderHandler1Steps.S4800_PANEL_LEFT_CIM_SEND: { if (equipment.cim_mode != En_Cim_Mode.Online) { Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; return; } Panel_Info info1 = equipment.after.AoiStage.Panel1; if (equipment.after.AoiStage.Stage1.IsExist == false || info1.IsPanelIdRead == false) { Step = UnloaderHandler1Steps.S4820_PANEL_RIGHT_CIM_SEND; return; } else { if (equipment.cim_client.Send_Process_End("E123456", info1)) { Step = UnloaderHandler1Steps.S4810_PANEL_LEFT_CIM_SEND_WAIT; } } break; } case UnloaderHandler1Steps.S4810_PANEL_LEFT_CIM_SEND_WAIT: { if (equipment.cim_mode != En_Cim_Mode.Online) { Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; return; } if (equipment.cim_client.Get_Command_Ack(En_Cim_Command.PREND)) { if (equipment.cim_client.Get_Command_Result(En_Cim_Command.PREND)) { Step = UnloaderHandler1Steps.S4820_PANEL_RIGHT_CIM_SEND; } else { Step = UnloaderHandler1Steps.S4800_PANEL_LEFT_CIM_SEND; } } break; } case UnloaderHandler1Steps.S4820_PANEL_RIGHT_CIM_SEND: { if (equipment.cim_mode != En_Cim_Mode.Online) { Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; return; } Panel_Info info2 = equipment.after.AoiStage.Panel2; if (equipment.after.AoiStage.Stage2.IsExist == false || info2.IsPanelIdRead == false) { Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; } else { if (equipment.cim_client.Send_Process_End("E123456", info2)) { Step = UnloaderHandler1Steps.S4830_PANEL_RIGHT_CIM_SEND_WAIT; } } break; } case UnloaderHandler1Steps.S4830_PANEL_RIGHT_CIM_SEND_WAIT: { if (equipment.cim_mode != En_Cim_Mode.Online) { Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; return; } if (equipment.cim_client.Get_Command_Ack(En_Cim_Command.PREND)) { if (equipment.cim_client.Get_Command_Result(En_Cim_Command.PREND)) { Step = UnloaderHandler1Steps.S4999_MEASUREMENT_END; } else { Step = UnloaderHandler1Steps.S4820_PANEL_RIGHT_CIM_SEND; } } break; } case UnloaderHandler1Steps.S4999_MEASUREMENT_END: { Tact_AOI.Stop(); SHARP_CLAS_UI/500.Equipment/700.Unit/Base/Handler.cs
@@ -261,13 +261,61 @@ S4550_MEASUREMENT_CHECK, S4600_PANEL_LEFT_CIM_SEND, S4610_PANEL_LEFT_CIM_SEND_WAIT, S4620_PANEL_RIGHT_CIM_SEND, S4630_PANEL_RIGHT_CIM_SEND_WAIT, S4560_USER_COMMAND_START, S4570_USER_COMMAND_WAIT, //Width Measurment Sequence 추가. /* * Camera ready, 4600 ~ * 위치 이동및 Grab 1 ~ 4 * 종료 확인. * Ok, Retry or Pass 확인. , 4700 ~ * CIM 보고 확인. */ S4600_LEFT_CAMERA_GRAB_READY, S4601_LEFT_CAMERA_GRAB_READY_WAIT, S4602_RIGHT_CAMERA_GRAB_READY, S4603_RIGHT_CAMERA_GRAB_READY_WAIT, S4610_MOVE_MEASUREMENT_MARK1_POSITION, S4611_POSITION_CHECK, S4612_LEFT_CAMERA_MARK_1_GRAB_START, S4613_LEFT_CAMERA_MARK_1_GRAB_WAIT, S4614_RIGHT_CAMERA_MARK_1_GRAB_START, S4615_RIGHT_CAMERA_MARK_1_GRAB_WAIT, S4620_MOVE_MEASUREMENT_MARK2_POSITION, S4621_POSITION_CHECK, S4622_LEFT_CAMERA_MARK_2_GRAB_START, S4623_LEFT_CAMERA_MARK_2_GRAB_WAIT, S4624_RIGHT_CAMERA_MARK_2_GRAB_START, S4625_RIGHT_CAMERA_MARK_2_GRAB_WAIT, S4630_MOVE_MEASUREMENT_MARK3_POSITION, S4631_POSITION_CHECK, S4632_LEFT_CAMERA_MARK_3_GRAB_START, S4633_LEFT_CAMERA_MARK_3_GRAB_WAIT, S4634_RIGHT_CAMERA_MARK_3_GRAB_START, S4635_RIGHT_CAMERA_MARK_3_GRAB_WAIT, S4640_MOVE_MEASUREMENT_MARK4_POSITION, S4641_POSITION_CHECK, S4642_LEFT_CAMERA_MARK_4_GRAB_START, S4643_LEFT_CAMERA_MARK_4_GRAB_WAIT, S4644_RIGHT_CAMERA_MARK_4_GRAB_START, S4645_RIGHT_CAMERA_MARK_4_GRAB_WAIT, S4650_MEASUREMENT_CHECK, S4700_USER_COMMAND_START, S4710_USER_COMMAND_WAIT, S4700_USER_COMMAND_WAIT, //============================== S4800_PANEL_LEFT_CIM_SEND, S4810_PANEL_LEFT_CIM_SEND_WAIT, S4820_PANEL_RIGHT_CIM_SEND, S4830_PANEL_RIGHT_CIM_SEND_WAIT, S4999_MEASUREMENT_END, //======================== AOI PICK ============================ SHARP_CLAS_UI/500.Equipment/Equipment.cs
@@ -367,6 +367,23 @@ } } public int WidthMeasurementCount { get { int count; object value; sm.Get_Value(Process_Memory_Address.Width_Measurement_Count, out value); int.TryParse($"{value}", out count); return count; } set { sm.Set_Value(Process_Memory_Address.Width_Measurement_Count, value); } } public Main_Recipe Cur_Main_Recipe { get @@ -547,7 +564,7 @@ private User_Info _user; private SequenceTimer _modeChangeTime = new SequenceTimer(); private string _programVersion = "001.001.005"; private string _programVersion = "001.002.000"; #endregion #region Construct