Exemplo n.º 1
0
        public static void UpdateFoupID(string PortName, string FoupID)
        {
            try
            {
                Form    form = Application.OpenForms["FormWaferMapping"];
                TextBox W;
                if (form == null)
                {
                    return;
                }

                W = form.Controls.Find(PortName.ToUpper() + "_FID", true).FirstOrDefault() as TextBox;
                if (W == null)
                {
                    return;
                }

                if (W.InvokeRequired)
                {
                    UpdatePort ph = new UpdatePort(UpdateFoupID);
                    W.BeginInvoke(ph, PortName, FoupID);
                }
                else
                {
                    W.Text = FoupID;
                }
            }
            catch
            {
                logger.Error("UpdateFoupID: Update fail.");
            }
        }
Exemplo n.º 2
0
        public static void UpdateLoadPortMode(string PortName, string Mode)
        {
            try
            {
                Form  form = Application.OpenForms["FormWaferMapping"];
                Label Port_Mode;
                if (form == null)
                {
                    return;
                }

                Port_Mode = form.Controls.Find(PortName + "State_lb", true).FirstOrDefault() as Label;
                if (Port_Mode == null)
                {
                    return;
                }

                if (Port_Mode.InvokeRequired)
                {
                    UpdatePort ph = new UpdatePort(UpdateLoadPortMode);
                    Port_Mode.BeginInvoke(ph, PortName, Mode);
                }
                else
                {
                    NodeManagement.Get(PortName).Mode = Mode;
                    Port_Mode.Text = PortName + "  [" + Mode + "]";
                }
            }
            catch (Exception e)
            {
                logger.Error("UpdateLoadPortMode: Update fail:" + e.StackTrace);
            }
        }
Exemplo n.º 3
0
        private void BlinkUpdate(object PortName, string Text)
        {
            try
            {
                //Form form = Application.OpenForms[FormName];
                Form  form = this;
                Label port;
                if (form == null)
                {
                    return;
                }

                port = form.Controls.Find(PortName + "_lb", true).FirstOrDefault() as Label;
                if (port == null)
                {
                    return;
                }

                if (port.InvokeRequired)
                {
                    UpdatePort ph = new UpdatePort(BlinkUpdate);
                    port.BeginInvoke(ph, PortName, Text);
                }
                else
                {
                    port.ForeColor = Color.Red;
                    port.Text      = Text;
                }
            }
            catch
            {
                logger.Error("BlinkUpdate: Update fail.");
            }
        }
Exemplo n.º 4
0
        public void Save()
        {
            XElement dbConfigElem = _objRootElem.Element("DBConfig");

            dbConfigElem.Element("Server").Value   = Server;
            dbConfigElem.Element("Database").Value = Database;
            dbConfigElem.Element("UID").Value      = UID;
            dbConfigElem.Element("PWD").Value      = PWD;

            XElement servicesConfigElem = _objRootElem.Element("ServicesConfig");

            servicesConfigElem.Element("Binding").Value    = Binding.ToString();
            servicesConfigElem.Element("IP").Value         = IP;
            servicesConfigElem.Element("Port").Value       = Port.ToString();
            servicesConfigElem.Element("UpdatePort").Value = UpdatePort.ToString();

            //XElement accountConfigElem = _objRootElem.Element("SuperAccount");
            //accountConfigElem.Element("Account").Value = SuperAccount;
            //accountConfigElem.Element("Password").Value = SuperPassword;

            using (StreamWriter sw = new StreamWriter(ConfigPath, false, Encoding.UTF8))
            {
                _objRootElem.Save(sw);
                sw.Flush();
                sw.Close();
            }
        }
Exemplo n.º 5
0
 public void SetPortWebSocekt(int port)
 {
     if (this.lb_port_ws.InvokeRequired)
     {
         var deleg = new UpdatePort(SetPortWebSocekt);
         this.lb_port_ws.Invoke(deleg, new object[] { port });
     }
     else
     {
         lb_port_ws.Text = port.ToString();
     }
 }
Exemplo n.º 6
0
        public void Save()
        {
            _objRootElem.Element("Binding").Value    = Binding.ToString();
            _objRootElem.Element("IP").Value         = IP;
            _objRootElem.Element("Port").Value       = Port.ToString();
            _objRootElem.Element("UpdatePort").Value = UpdatePort.ToString();
            _objRootElem.Element("IsLogin").Value    = IsLogin ? "1" : "0";

            using (StreamWriter sw = new StreamWriter(ConfigPath, false, Encoding.UTF8))
            {
                _objRootElem.Save(sw);
                sw.Flush();
                sw.Close();
            }
        }
Exemplo n.º 7
0
 public virtual void UpdateSyncTween(bool sync)
 {
     if (paintAllPort != null)
     {
         paint.Disconnect(paintAllPort);
     }
     if (paintPort != null)
     {
         paint.Disconnect(paintPort);
     }
     if (update != null)
     {
         update.Disconnect(updatePort);
     }
     if (sync)
     {
         paint.Connect(paintAllPort = new PaintAllPort(this));
     }
     else
     {
         paint.Connect(paintPort   = new PaintPort(this));
         update.Connect(updatePort = new UpdatePort());
     }
 }
Exemplo n.º 8
0
        public static void UpdateLoadPortMapping(string PortName, string Mapping)
        {
            try
            {
                Form         form = Application.OpenForms["FormWaferMapping"];
                DataGridView Port_gv;
                if (form == null)
                {
                    return;
                }

                Port_gv = form.Controls.Find(PortName + "Assign_Gv", true).FirstOrDefault() as DataGridView;
                if (Port_gv == null)
                {
                    return;
                }

                if (Port_gv.InvokeRequired)
                {
                    UpdatePort ph = new UpdatePort(UpdateLoadPortMapping);
                    Port_gv.BeginInvoke(ph, PortName, Mapping);
                }
                else
                {
                    Node port = NodeManagement.Get(PortName);
                    //List<Job> MappingData = new List<Job>();
                    //port.IsMapping = true;
                    if (Mapping.Equals(""))
                    {
                        foreach (Job eachJob in port.JobList.Values)
                        {
                            JobManagement.Remove(eachJob.Job_Id);
                        }
                        port.JobList.Clear();
                        port.ReserveList.Clear();
                        JobManagement.ClearAssignJobByPort(port.Name);
                    }
                    else
                    {
                        int currentIdx = 1;
                        for (int i = 0; i < Mapping.Length; i++)
                        {
                            Job wafer = RouteControl.CreateJob();
                            wafer.Slot         = (i + 1).ToString();
                            wafer.FromPort     = PortName;
                            wafer.FromPortSlot = wafer.Slot;
                            wafer.Position     = PortName;
                            wafer.AlignerFlag  = false;
                            wafer.RecipeID     = "300MM";
                            string Slot = (i + 1).ToString("00");
                            switch (Mapping[i])
                            {
                            case '0':
                                wafer.Job_Id      = "No wafer";
                                wafer.Host_Job_Id = wafer.Job_Id;
                                //MappingData.Add(wafer);
                                break;

                            case '1':
                                while (true)
                                {
                                    wafer.Job_Id      = "Wafer" + currentIdx.ToString("00");
                                    wafer.Host_Job_Id = wafer.Job_Id;
                                    wafer.MapFlag     = true;
                                    if (JobManagement.Add(wafer.Job_Id, wafer))
                                    {
                                        //MappingData.Add(wafer);
                                        break;
                                    }
                                    currentIdx++;
                                }

                                break;

                            case '2':
                                wafer.Job_Id      = "Crossed";
                                wafer.Host_Job_Id = wafer.Job_Id;
                                wafer.MapFlag     = true;
                                //MappingData.Add(wafer);
                                break;

                            case '?':
                                wafer.Job_Id      = "Undefined";
                                wafer.Host_Job_Id = wafer.Job_Id;
                                wafer.MapFlag     = true;
                                //MappingData.Add(wafer);
                                break;

                            case 'W':
                                wafer.Job_Id      = "Double";
                                wafer.Host_Job_Id = wafer.Job_Id;
                                wafer.MapFlag     = true;
                                //MappingData.Add(wafer);
                                break;
                            }
                            if (!port.AddJob(wafer.Slot, wafer))
                            {
                                Job org = port.GetJob(wafer.Slot);
                                JobManagement.Remove(org.Job_Id);
                                port.RemoveJob(wafer.Slot);
                                port.AddJob(wafer.Slot, wafer);
                            }
                        }
                    }
                    List <Job> tmp = port.JobList.Values.ToList();
                    tmp.Sort((x, y) => { return(-Convert.ToInt16(x.Slot).CompareTo(Convert.ToInt16(y.Slot))); });
                    Port_gv.DataSource                          = tmp;
                    Port_gv.Columns["Slot"].Width               = 25;
                    Port_gv.Columns["Slot"].HeaderText          = "S";
                    Port_gv.Columns["Host_Job_Id"].Width        = 75;
                    Port_gv.Columns["DisplayDestination"].Width = 55;
                    Port_gv.Columns["DestinationSlot"].Width    = 30;
                    Port_gv.Columns["Offset"].Visible           = false;
                    Port_gv.Columns["Angle"].Visible            = false;
                    Port_gv.Columns["Job_Id"].Visible           = false;
                    Port_gv.Columns["Destination"].Visible      = false;
                    Port_gv.Columns["ProcessFlag"].Visible      = false;
                    // Port_gv.Columns["Piority"].Visible = false;
                    Port_gv.Columns["AlignerFlag"].Visible     = false;
                    Port_gv.Columns["OCRFlag"].Visible         = false;
                    Port_gv.Columns["AlignerFinished"].Visible = false;
                    Port_gv.Columns["OCRFinished"].Visible     = false;
                    Port_gv.Columns["Position"].Visible        = false;
                    Port_gv.Columns["FromPort"].Visible        = false;
                    Port_gv.Columns["LastNode"].Visible        = false;
                    Port_gv.Columns["CurrentState"].Visible    = false;
                    Port_gv.Columns["WaitToDo"].Visible        = false;
                    //Port_gv.Columns["FetchRobot"].Visible = false;
                    Port_gv.Columns["ProcessNode"].Visible           = false;
                    Port_gv.Columns["MapFlag"].Visible               = false;
                    Port_gv.Columns["DisplayDestination"].HeaderText = "Dest";
                    Port_gv.Columns["DestinationSlot"].HeaderText    = "DS";
                    Port_gv.Columns["Host_Job_Id"].HeaderText        = "ID";
                    Port_gv.ColumnHeadersDefaultCellStyle.Font       = new Font("Arial", 10);
                    Port_gv.Columns["NeedProcess"].Visible           = false;
                    Port_gv.Columns["OCRImgPath"].Visible            = false;
                    Port_gv.Columns["OCRScore"].Visible              = false;
                    Port_gv.Columns["LastSlot"].Visible              = false;
                    Port_gv.Columns["FromPortSlot"].Visible          = false;
                    Port_gv.Columns["AssignTime"].Visible            = false;
                    Port_gv.Columns["DefaultOCR"].Visible            = false;
                    Port_gv.Columns["RecipeID"].Visible              = false;
                    Port_gv.Columns["ErrPosition"].Visible           = false;
                    Port_gv.Columns["InProcess"].Visible             = false;
                    Port_gv.Columns["Host_Lot_Id"].Visible           = false;

                    MonitoringUpdate.UpdateNodesJob(PortName);
                    port.IsMapping = true;
                }
            }
            catch (Exception e)
            {
                logger.Error("UpdateLoadPortMapping: Update fail:" + e.StackTrace);
            }
        }