using System; using System.Drawing; using System.Threading; using System.Windows.Forms; namespace SHARP_CLAS_UI { public partial class Form_Vision_Status_Viewer : Form { #region Field delegate void UI_Update_Delegate(); Form_Frame _Parent; Thread UI_Update_Th; bool update_check; #endregion #region Construct public Form_Vision_Status_Viewer(Form_Frame _Parent) { InitializeComponent(); this._Parent = _Parent; UI_Update_Th = new Thread(UI_Update_Th_Set); UI_Update_Th.Start(); } #endregion #region Form_Function private void Vision_Status_Viewer_FormClosing(object sender, FormClosingEventArgs e) { if (!_Parent.IsDisposed) { e.Cancel = true; this.Hide(); } } #endregion #region Function private void UI_Update_Th_Set() { while (!_Parent.IsDisposed) { Thread.Sleep(100); if (!update_check) { update_check = true; UI_Update(); } } } private void UI_Update() { if (InvokeRequired) { BeginInvoke(new UI_Update_Delegate(UI_Update)); return; } else { try { DateTime dt = DateTime.Now; Update_Align_PC_UI(); Update_AOI_PC_UI(); Update_Film_Judge_UI(); Update_Pre_Align_UI(); Update_Fine_Align_UI(); Update_Measurement_UI(); TimeSpan ts = DateTime.Now - dt; } catch (Exception ex) { } finally { update_check = false; } } } private void Update_Align_PC_UI() { try { object value; bool check; if(_Parent.sm.Get_Bit(Vision_Address.Align_PC_Recipe_Change_Ack, out check)) { lb_Align_PC_Recipe_Change_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Bit(Vision_Address.Align_PC_System_Time_Sync_Ack, out check)) { lb_Align_PC_System_Time_Sync_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Bit(Vision_Address.Align_PC_Vision_Alive_Ack, out check)) { lb_Align_PC_Vision_Alive_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Align_PC_Recipe_Change_Result, out value)) { lb_Align_PC_Recipe_Change_Result.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Align_PC_System_Time_Sync_Result, out value)) { lb_Align_PC_System_Time_Sync_Result.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Align_PC_Vision_Alive_Heart_Beat, out value)) { lb_Align_PC_Alive_Heart_Beat.Text = value.ToString(); } } catch(Exception ex) { } } private void Update_AOI_PC_UI() { try { object value; bool check; if (_Parent.sm.Get_Bit(Vision_Address.AOI_PC_Recipe_Change_Ack, out check)) { lb_AOI_PC_Recipe_Change_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Bit(Vision_Address.AOI_PC_System_Time_Sync_Ack, out check)) { lb_AOI_PC_System_Time_Sync_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Bit(Vision_Address.AOI_PC_Vision_Alive_Ack, out check)) { lb_AOI_PC_Vision_Alive_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.AOI_PC_Recipe_Change_Result, out value)) { lb_AOI_PC_Recipe_Change_Result.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.AOI_PC_System_Time_Sync_Result, out value)) { lb_AOI_PC_System_Time_Sync_Result.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.AOI_PC_Vision_Alive_Heart_Beat, out value)) { lb_AOI_PC_Alive_Heart_Beat.Text = value.ToString(); } } catch (Exception ex) { } } private void Update_Film_Judge_UI() { try { object value; bool check; if (_Parent.sm.Get_Bit(Vision_Address.Film_Judge_Grab_Ready_Ack, out check)) { lb_Film_Judge_Grab_Ready_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Film_Judge_Grab_Ready_Result, out value)) { lb_Film_Judge_Grab_Ready_Result.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Film_Judge_Grab_Start_Left_Ack, out check)) { lb_Film_Judge_Grab_Start_Left_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Bit(Vision_Address.Film_Judge_Grab_Start_Right_Ack, out check)) { lb_Film_Judge_Grab_Start_Right_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Film_Judge_Grab_Start_Left_Result, out value)) { lb_Film_Judge_Grab_Start_Left_Result.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Film_Judge_Grab_Start_Right_Result, out value)) { lb_Film_Judge_Grab_Start_Right_Result.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Film_Judge_Left_Ack, out check)) { lb_Film_Judge_Result_Left_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Film_Judge_Left_Result, out value)) { lb_Film_Judge_Result_Left.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Film_Judge_Right_Ack, out check)) { lb_Film_Judge_Result_Right_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Film_Judge_Right_Result, out value)) { lb_Film_Judge_Result_Right.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Film_Judge_Motor_Pos_Ack, out check)) { lb_Film_Judge_Motor_Pos_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Film_Judge_Motor_Pos_Module_Index, out value)) { lb_Film_Judge_Motor_Pos_Module_Idx.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Film_Judge_Motor_Pos_Grab_index, out value)) { lb_Film_Judge_Motor_Pos_Grab_Idx.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Film_Judge_User_Command_Ack, out check)) { lb_Film_Judge_User_Command_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Film_Judge_User_Command_Result, out value)) { lb_Film_Judge_User_Command_Result.Text = value.ToString(); } } catch (Exception ex) { } } private void Update_Pre_Align_UI() { try { object value; bool check; if (_Parent.sm.Get_Bit(Vision_Address.Pre_Align_Grab_Ready_Ack, out check)) { lb_Pre_Align_Grab_Ready_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Pre_Align_Grab_Ready_Result, out value)) { lb_Pre_Align_Grab_Ready_Result.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Pre_Align_Grab_Start_Left_Ack, out check)) { lb_Pre_Align_Grab_Start_Left_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Bit(Vision_Address.Pre_Align_Grab_Start_Right_Ack, out check)) { lb_Pre_Align_Grab_Start_Right_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Pre_Align_Grab_Start_Left_Result, out value)) { lb_Pre_Align_Grab_Start_Left_Result.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Pre_Align_Grab_Start_Right_Result, out value)) { lb_Pre_Align_Grab_Start_Right_Result.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Pre_Align_Left_Ack, out check)) { lb_Pre_Align_Result_Left_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Pre_Align_Left_Result, out value)) { lb_Pre_Align_Result_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Pre_Align_Left_Offset_X, out value)) { lb_Pre_Align_Offset_X_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Pre_Align_Left_Offset_Y, out value)) { lb_Pre_Align_Offset_Y_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Pre_Align_Left_Offset_T, out value)) { lb_Pre_Align_Offset_T_Left.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Pre_Align_Right_Ack, out check)) { lb_Pre_Align_Result_Right_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Pre_Align_Right_Result, out value)) { lb_Pre_Align_Result_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Pre_Align_Right_Offset_X, out value)) { lb_Pre_Align_Offset_X_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Pre_Align_Right_Offset_Y, out value)) { lb_Pre_Align_Offset_Y_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Pre_Align_Right_Offset_T, out value)) { lb_Pre_Align_Offset_T_Right.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Pre_Align_Motor_Pos_Ack, out check)) { lb_Pre_Align_Motor_Pos_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Pre_Align_Motor_Pos_Module_Index, out value)) { lb_Pre_Align_Motor_Pos_Module_Idx.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Pre_Align_Motor_Pos_Grab_index, out value)) { lb_Pre_Align_Motor_Pos_Grab_Idx.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Pre_Align_User_Command_Ack, out check)) { lb_Pre_Align_User_Command_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Pre_Align_User_Command_Result, out value)) { lb_Pre_Align_User_Command_Result.Text = value.ToString(); } } catch (Exception ex) { } } private void Update_Fine_Align_UI() { try { object value; bool check; if (_Parent.sm.Get_Bit(Vision_Address.Fine_Align_Grab_Ready_Ack, out check)) { lb_Fine_Align_Grab_Ready_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Fine_Align_Grab_Ready_Result, out value)) { lb_Fine_Align_Grab_Ready_Result.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Fine_Align_Grab_Start_Left_Ack, out check)) { lb_Fine_Align_Grab_Start_Left_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Bit(Vision_Address.Fine_Align_Grab_Start_Right_Ack, out check)) { lb_Fine_Align_Grab_Start_Right_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Fine_Align_Grab_Start_Left_Result, out value)) { lb_Fine_Align_Grab_Start_Left_Result.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Fine_Align_Grab_Start_Right_Result, out value)) { lb_Fine_Align_Grab_Start_Right_Result.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Fine_Align_Left_Ack, out check)) { lb_Fine_Align_Result_Left_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Fine_Align_Left_Result, out value)) { lb_Fine_Align_Result_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Fine_Align_Left_Offset_X, out value)) { lb_Fine_Align_Offset_X_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Fine_Align_Left_Offset_Y, out value)) { lb_Fine_Align_Offset_Y_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Fine_Align_Left_Offset_T, out value)) { lb_Fine_Align_Offset_T_Left.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Fine_Align_Right_Ack, out check)) { lb_Fine_Align_Result_Right_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Fine_Align_Right_Result, out value)) { lb_Fine_Align_Result_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Fine_Align_Right_Offset_X, out value)) { lb_Fine_Align_Offset_X_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Fine_Align_Right_Offset_Y, out value)) { lb_Fine_Align_Offset_Y_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Fine_Align_Right_Offset_T, out value)) { lb_Fine_Align_Offset_T_Right.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Fine_Align_Motor_Pos_Ack, out check)) { lb_Fine_Align_Motor_Pos_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Fine_Align_Motor_Pos_Module_Index, out value)) { lb_Fine_Align_Motor_Pos_Module_Idx.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Fine_Align_Motor_Pos_Grab_index, out value)) { lb_Fine_Align_Motor_Pos_Grab_Idx.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Fine_Align_User_Command_Ack, out check)) { lb_Fine_Align_User_Command_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Fine_Align_User_Command_Result, out value)) { lb_Fine_Align_User_Command_Result.Text = value.ToString(); } } catch (Exception ex) { } } private void Update_Measurement_UI() { try { object value; bool check; if (_Parent.sm.Get_Bit(Vision_Address.Measurement_Grab_Ready_Ack, out check)) { lb_Measurement_Grab_Ready_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Grab_Ready_Result, out value)) { lb_Measurement_Grab_Ready_Result.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Measurement_Grab_Start_Left_Ack, out check)) { lb_Measurement_Grab_Start_Left_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Bit(Vision_Address.Measurement_Grab_Start_Right_Ack, out check)) { lb_Measurement_Grab_Start_Right_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Grab_Start_Left_Result, out value)) { lb_Measurement_Grab_Start_Left_Result.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Grab_Start_Right_Result, out value)) { lb_Measurement_Grab_Start_Right_Result.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Measurement_Left_Ack, out check)) { lb_Measurement_Result_Left_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Left_Result, out value)) { lb_Measurement_Result_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Left_Mark_1_Point_1, out value)) { lb_Measurement_Mark_1_1_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Left_Mark_1_Point_2, out value)) { lb_Measurement_Mark_1_2_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Left_Mark_2_Point_1, out value)) { lb_Measurement_Mark_2_1_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Left_Mark_2_Point_2, out value)) { lb_Measurement_Mark_2_2_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Left_Mark_3_Point_1, out value)) { lb_Measurement_Mark_3_1_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Left_Mark_3_Point_2, out value)) { lb_Measurement_Mark_3_2_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Left_Mark_4_Point_1, out value)) { lb_Measurement_Mark_4_1_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Left_Mark_4_Point_2, out value)) { lb_Measurement_Mark_4_2_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Left_Mark_Distance, out value)) { lb_Measurement_Mark_Distance_Left.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Left_Align_Result, out value)) { lb_Measurement_Align_Result_Left.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Measurement_Right_Ack, out check)) { lb_Measurement_Result_Right_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Right_Result, out value)) { lb_Measurement_Result_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Right_Mark_1_Point_1, out value)) { lb_Measurement_Mark_1_1_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Right_Mark_1_Point_2, out value)) { lb_Measurement_Mark_1_2_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Right_Mark_2_Point_1, out value)) { lb_Measurement_Mark_2_1_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Right_Mark_2_Point_2, out value)) { lb_Measurement_Mark_2_2_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Right_Mark_3_Point_1, out value)) { lb_Measurement_Mark_3_1_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Right_Mark_3_Point_2, out value)) { lb_Measurement_Mark_3_2_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Right_Mark_4_Point_1, out value)) { lb_Measurement_Mark_4_1_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Right_Mark_4_Point_2, out value)) { lb_Measurement_Mark_4_2_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Right_Mark_Distance, out value)) { lb_Measurement_Mark_Distance_Right.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Right_Align_Result, out value)) { lb_Measurement_Align_Result_Right.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Measurement_Motor_Pos_Ack, out check)) { lb_Measurement_Motor_Pos_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Motor_Pos_Module_Index, out value)) { lb_Measurement_Motor_Pos_Module_Idx.Text = value.ToString(); } if (_Parent.sm.Get_Value(Vision_Address.Measurement_Motor_Pos_Grab_index, out value)) { lb_Measurement_Motor_Pos_Grab_Idx.Text = value.ToString(); } if (_Parent.sm.Get_Bit(Vision_Address.Measurement_User_Command_Ack, out check)) { lb_Measurement_User_Command_Ack.BackColor = check ? Color.Lime : Color.Green; } if (_Parent.sm.Get_Value(Vision_Address.Measurement_User_Command_Result, out value)) { lb_Measurement_User_Command_Result.Text = value.ToString(); } } catch (Exception ex) { } } #endregion } }