Exemple #1
0
        public void ShowProductionLineStatus()
        {
            pdtLinesToShow.Clear();

            // 根据站点,分屏显示或者显示全部产线安灯事件状态
            switch (CurrentStationInfo.Instance.Station.HostParameter)
            {
            case 1:             // 表示当前站点为监控站点,需要自动刷屏
                for (int i = currentRecordNo; i < currentRecordNo + recordCountforPerPage; i++)
                {
                    if (i >= pdtLines.Count)
                    {
                        break;
                    }
                    AndonProductionLineStatus line = pdtLines[i].Clone();
                    pdtLinesToShow.Add(line);
                }
                break;

            default:
                foreach (AndonProductionLineStatus line in pdtLines)
                {
                    pdtLinesToShow.Add(line.Clone());
                }
                break;
            }

            grdPrdtLines.DataSource = pdtLinesToShow;
        }
Exemple #2
0
        private void ShowAndonStatusWithProductionLine()
        {
            string strProcedureName =
                string.Format(
                    "{0}.{1}",
                    className,
                    MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                List <ProductionSurveillance> lines = null;

                try
                {
                    lines = GetAllPrdtLinesAndonStatus();

                    pdtLines.Clear();
                    AndonProductionLineStatus pdtLine = null;
                    foreach (ProductionSurveillance lineEventStatus in lines)
                    {
                        if (pdtLine == null || pdtLine.T134LeafID != lineEventStatus.LeafID)
                        {
                            pdtLine = new AndonProductionLineStatus()
                            {
                                NodeID       = lineEventStatus.T134NodeID,
                                NodeName     = lineEventStatus.T134NodeName,
                                T134LeafID   = lineEventStatus.LeafID,
                                T134NodeName = lineEventStatus.NodeName,
                            };
                            pdtLines.Add(pdtLine);
                        }

                        switch (lineEventStatus.T179Code)
                        {
                        case "M":
                            if (lineEventStatus.ResourceStatus == 0)
                            {
                                grdbndMaterial.Visible = false;
                            }
                            else
                            {
                                grdbndMaterial.Visible = true;

                                pdtLine.MaterialStatus      = lineEventStatus.ResourceStatus;
                                pdtLine.MaterialTimeElapsed = lineEventStatus.ElapsedSeconds;
                                pdtLine.MaterialResponded   = lineEventStatus.OnSiteResponded;
                            }
                            break;

                        case "R":
                            if (lineEventStatus.ResourceStatus == 0)
                            {
                                grdbndEquipment.Visible = false;
                            }
                            else
                            {
                                grdbndEquipment.Visible = true;

                                pdtLine.EquipmentStatus      = lineEventStatus.ResourceStatus;
                                pdtLine.EquipmentTimeElapsed = lineEventStatus.ElapsedSeconds;
                                pdtLine.EquipmentResponded   = lineEventStatus.OnSiteResponded;
                            }
                            break;

                        case "Q":
                            if (lineEventStatus.ResourceStatus == 0)
                            {
                                grdbndQuality.Visible = false;
                            }
                            else
                            {
                                grdbndQuality.Visible = true;

                                pdtLine.QualifyStatus      = lineEventStatus.ResourceStatus;
                                pdtLine.QualifyTimeElapsed = lineEventStatus.ElapsedSeconds;
                                pdtLine.QualifyResponded   = lineEventStatus.OnSiteResponded;
                            }
                            break;

                        case "O":
                            if (lineEventStatus.ResourceStatus == 0)
                            {
                                grdbndOther.Visible = false;
                            }
                            else
                            {
                                grdbndOther.Visible = true;

                                pdtLine.OtherStatus      = lineEventStatus.ResourceStatus;
                                pdtLine.OtherTimeElapsed = lineEventStatus.ElapsedSeconds;
                                pdtLine.OtherResponded   = lineEventStatus.OnSiteResponded;
                            }
                            break;

                        case "S":
                            if (lineEventStatus.ResourceStatus == 0)
                            {
                                grdbndSafety.Visible = false;
                            }
                            else
                            {
                                grdbndSafety.Visible = true;

                                pdtLine.SecurityStatus      = lineEventStatus.ResourceStatus;
                                pdtLine.SecurityTimeElapsed = lineEventStatus.ElapsedSeconds;
                                pdtLine.SecurityResponded   = lineEventStatus.OnSiteResponded;
                            }
                            break;

                        case "T":
                            if (lineEventStatus.ResourceStatus == 0)
                            {
                                grdbndTooling.Visible = false;
                            }
                            else
                            {
                                grdbndTooling.Visible = true;

                                pdtLine.ToolingStatus      = lineEventStatus.ResourceStatus;
                                pdtLine.ToolingTimeElapsed = lineEventStatus.ElapsedSeconds;
                                pdtLine.ToolingResponded   = lineEventStatus.OnSiteResponded;
                            }
                            break;

                        case "D":
                            if (lineEventStatus.ResourceStatus == 0)
                            {
                                grdbndDesign.Visible = false;
                            }
                            else
                            {
                                grdbndDesign.Visible = true;

                                pdtLine.DesignStatus      = lineEventStatus.ResourceStatus;
                                pdtLine.DesignTimeElapsed = lineEventStatus.ElapsedSeconds;
                                pdtLine.DesignResponded   = lineEventStatus.OnSiteResponded;
                            }
                            break;

                        case "X":
                            if (lineEventStatus.ResourceStatus == 0)
                            {
                                grdbndTechnology.Visible = false;
                            }
                            else
                            {
                                grdbndTechnology.Visible = true;

                                pdtLine.TechnologyStatus      = lineEventStatus.ResourceStatus;
                                pdtLine.TechnologyTimeElapsed = lineEventStatus.ElapsedSeconds;
                                pdtLine.TechnologyResponded   = lineEventStatus.OnSiteResponded;
                            }
                            break;
                        }
                    }

                    ShowProductionLineStatus();
                    SetConnectionStatus(true);
                }
                catch (Exception error)
                {
                    WriteLog.Instance.Write(error.Message, strProcedureName);
                    SetConnectionStatus(false);

                    AppOperationLog log = new AppOperationLog()
                    {
                        Time    = DateTime.Now,
                        ErrCode = -1,
                        ErrText = error.Message,
                    };
                    AddLog(log);
                }

                frmKanbanPS_Resize(this, null);
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }