Exemple #1
0
        /// <summary>
        /// 测试工位UI
        /// </summary>
        /// <param name="e"></param>
        private void ShowStatHub(CUIUserArgs <CStat> e)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action <CUIUserArgs <CStat> >(ShowStatHub), e);
            }
            else
            {
                switch (e.model.hub.Para.DoRun)
                {
                case ERUN.空闲:
                    break;

                case ERUN.读卡报警:
                    uiPreTest.SetIdAlarm();
                    break;

                case ERUN.异常报警:
                    uiPreTest.SetStatus(e.model.hub.Para.AlarmInfo, true);
                    break;

                case ERUN.空治具过站:
                    uiPreTest.SetNull(e.model.hub.Fixture.IdCard);
                    break;

                case ERUN.正常治具过站:
                    uiPreTest.SetStatus(e.model.hub.Para.AlarmInfo, false);
                    break;

                default:
                    break;
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// 系统UI
        /// </summary>
        /// <param name="e"></param>
        private void ShowSystem(CUIUserArgs <CUISystemArgs> e)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action <CUIUserArgs <CUISystemArgs> >(ShowSystem), e);
            }
            else
            {
                switch (e.model.DoRun)
                {
                case EUISystem.空闲:
                    uiModel.SetModelEnable(true);
                    uiModel.SetUIEnable(true);
                    uiModel.SetUseNumUI(true);
                    break;

                case EUISystem.启动:
                    uiModel.SetModelEnable(false);
                    uiModel.SetUIEnable(false);
                    uiModel.SetUseNumUI(false);
                    break;

                default:
                    break;
                }
            }
        }
Exemple #3
0
        /// <summary>
        /// 测试工位UI
        /// </summary>
        /// <param name="e"></param>
        private void ShowInBI(CUIUserArgs <CStatHub> e)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action <CUIUserArgs <CStatHub> >(ShowInBI), e);
            }
            else
            {
                switch (e.model.Para.DoRun)
                {
                case ERUN.空闲:
                    uiInBI.SetFree();
                    break;

                case ERUN.读卡报警:
                    uiInBI.SetIdAlarm();
                    break;

                case ERUN.异常报警:
                    uiInBI.SetStatus(e.model.Para.AlarmInfo, true);
                    break;

                case ERUN.空治具过站:
                    uiInBI.SetNull(e.model.Fixture.IdCard);
                    break;

                case ERUN.正常治具过站:
                    uiInBI.SetEnd(e.model.Fixture.IdCard, e.model.Fixture.SerialNo, e.model.Fixture.Result);
                    break;

                default:
                    break;
                }
            }
        }
Exemple #4
0
        /// <summary>
        /// 显示扫描条码UI
        /// </summary>
        /// <param name="e"></param>
        private void ShowScanSn(CUIUserArgs <CUIScanSnArgs> e)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action <CUIUserArgs <CUIScanSnArgs> >(ShowScanSn), e);
            }
            else
            {
                switch (e.model.DoRun)
                {
                case EUIScanSn.空闲:
                    break;

                case EUIScanSn.文本聚焦:
                    uiSnBand.SetSnTextFouse(e.model.AlarmInfo, e.model.bAlarm);
                    break;

                case EUIScanSn.设置条码:
                    uiSnBand.SetSn(e.model.SlotNo, e.model.SerialNo, e.model.AlarmInfo, e.model.bAlarm);
                    break;

                case EUIScanSn.绑定完毕:
                    uiSnBand.SetStatus(e.model.AlarmInfo);
                    break;

                default:
                    break;
                }
            }
        }
Exemple #5
0
 /// <summary>
 /// 信息提示
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnActionArgs(object sender, CUIUserArgs <CUIActionAgrs> e)
 {
     if (e.name == "Action")
     {
         ShowActionArgs(e);
     }
     else
     {
         ShowSetActionArgs(e);
     }
 }
Exemple #6
0
        /// <summary>
        /// 测试工位UI
        /// </summary>
        /// <param name="e"></param>
        private void ShowStatTest(CUIUserArgs <CStat> e)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action <CUIUserArgs <CStat> >(ShowStatTest), e);
            }
            else
            {
                if (e.lPara == 0)
                {
                    switch (e.model.test.Para.DoRun)
                    {
                    case ERUN.空闲:
                        uiPreTest.SetFree();
                        break;

                    case ERUN.读卡报警:
                        uiPreTest.SetIdAlarm();
                        break;

                    case ERUN.异常报警:
                        uiPreTest.SetStatus(e.model.test.Para.AlarmInfo, true);
                        break;

                    case ERUN.正常治具过站:
                        uiPreTest.SetEnd(e.model.test.Fixture.Result, e.model.test.Para.TestTime);
                        break;

                    case ERUN.到位:
                        uiPreTest.SetReady(e.model.test.Fixture.IdCard, e.model.test.Fixture.SerialNo);
                        break;

                    case ERUN.等待:
                        uiPreTest.SetStatus(e.model.test.Para.AlarmInfo, false);
                        break;

                    case ERUN.就绪:
                        uiPreTest.SetStatus(e.model.test.Para.AlarmInfo, false);
                        break;

                    case ERUN.测试:
                        break;

                    default:
                        break;
                    }
                }
                else if (e.lPara == 1)
                {
                    uiPreTest.SetEnd(e.model.test.Fixture.Result, e.model.test.Para.TestTime);
                }
            }
        }
Exemple #7
0
        /// <summary>
        /// 测试工位数据
        /// </summary>
        /// <param name="e"></param>
        private void ShowStatData(CUIUserArgs <CUIStatDataArgs> e)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action <CUIUserArgs <CUIStatDataArgs> >(ShowStatData), e);
            }
            else
            {
                switch (e.model.DoRun)
                {
                case EUIStatData.空闲:
                    uiRunTest.SetFree();
                    break;

                case EUIStatData.使用次数:
                    uiRunTest.SetUseTimes(e.model.UseNum);
                    break;

                case EUIStatData.产能统计:
                    uiRunTest.SetTestNum(e.model.TTNum, e.model.FailNum);
                    uiRunTest.SetFailTimes(e.model.ConFailNum);
                    break;

                case EUIStatData.测试信息:
                    uiRunTest.ShowData(e.model.SerialNo, e.model.V, e.model.I,
                                       e.model.DD, e.model.TestTime, e.model.TestEnd);
                    break;

                case EUIStatData.设定电压:
                    uiRunTest.SetACV(e.model.ACV.ToString(), e.model.ACFlag);
                    break;

                case EUIStatData.监控时间:
                    uiRunTest.SetMonTime(e.model.MonTime);
                    break;

                case EUIStatData.确定不良:
                    uiPreTest.SetFailCfg();
                    break;

                case EUIStatData.取消确定:
                    uiPreTest.DisFailCfg();
                    break;

                case EUIStatData.状态提示:
                    uiPreTest.SetStatus(e.model.AlarmInfo, e.model.bAlarm);
                    break;

                default:
                    break;
                }
            }
        }
Exemple #8
0
        /// <summary>
        /// 提示信息
        /// </summary>
        /// <param name="e"></param>
        private void ShowActionArgs(CUIUserArgs <CUIActionAgrs> e)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action <CUIUserArgs <CUIActionAgrs> >(ShowActionArgs), e);
            }
            else
            {
                SFCS.FrmAction.CreateInstance().Show();

                Application.DoEvents();
            }
        }
Exemple #9
0
        /// <summary>
        /// 显示治具绑定位UI
        /// </summary>
        /// <param name="e"></param>
        private void ShowBandSn(CUIUserArgs <CStatHub> e)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action <CUIUserArgs <CStatHub> >(ShowBandSn), e);
            }
            else
            {
                switch (e.model.Para.DoRun)
                {
                case ERUN.空闲:
                    uiSnBand.SetFree();
                    break;

                case ERUN.读卡报警:
                    uiSnBand.SetIdAlarm();
                    break;

                case ERUN.就绪:
                    uiSnBand.SetReady(e.model.Fixture.IdCard);
                    break;

                case ERUN.绑定:
                    uiSnBand.SetSnTextEnable(CGlobalPara.SysPara.Mes.SnMode);
                    break;

                case ERUN.等待:
                    uiSnBand.SetSnTextEnable(CGlobalPara.SysPara.Mes.SnMode);
                    break;

                case ERUN.正常治具过站:
                    uiSnBand.SetEnd(e.model.Fixture.IdCard, e.model.Fixture.SerialNo);
                    break;

                case ERUN.空治具过站:
                    uiSnBand.SetNull(e.model.Fixture.IdCard);
                    break;

                case ERUN.点检治具过站:
                    uiSnBand.SetStatus(e.model.Para.AlarmInfo);
                    break;

                case ERUN.异常报警:
                    uiSnBand.SetStatus(e.model.Para.AlarmInfo, true);
                    break;

                default:
                    break;
                }
            }
        }
Exemple #10
0
 /// <summary>
 /// 提示报警信息
 /// </summary>
 /// <param name="e"></param>
 private void ShowSetActionArgs(CUIUserArgs <CUIActionAgrs> e)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new Action <CUIUserArgs <CUIActionAgrs> >(ShowSetActionArgs), e);
     }
     else
     {
         if (SFCS.FrmAction.AlarmFlag == 0)
         {
             SFCS.FrmAction.AlarmFlag = e.model.AlarmFlag;
             SFCS.FrmAction.AlarmInfo = e.model.AlarmInfo;
         }
     }
 }
Exemple #11
0
 /// <summary>
 /// 显示良率
 /// </summary>
 /// <param name="e"></param>
 private void ShowPassRate(CUIUserArgs <CWarnRate> e)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new Action <CUIUserArgs <CWarnRate> >(ShowPassRate), e);
     }
     else
     {
         if (e.model.bAlarm == 1)
         {
             tabControl1.SelectTab(2);
         }
         uiPassRate.SetYield(e.model);
     }
 }
Exemple #12
0
        /// <summary>
        /// 机种信息消息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnModel(object sender, CUIUserArgs <CModelPara> e)
        {
            double TLow = e.model.Temp.TSet - e.model.Temp.TLP;

            double THigh = e.model.Temp.TSet + e.model.Temp.THP;

            string temp = e.model.Temp.TSet.ToString() + "℃[" + TLow.ToString() + "℃~" + THigh.ToString() + "℃]";

            uiModel.SetModelName(e.model.Base.Model);

            uiModel.SetTemp(temp);

            uiModel.SetBITime(e.model.Para.BITime);

            uiOutPut.SetValue(e.model);
        }
Exemple #13
0
        /// <summary>
        /// 界面消息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnMain(object sender, CUIUserArgs <CUIMainArgs> e)
        {
            switch (e.model.DoRun)
            {
            case EUIStatus.设置状态:
                uiHpInfo.SetStatus((udcHPInfo.ERun)e.model.RunStatus);
                break;

            case EUIStatus.设置时间:
                uiHpInfo.SetTimes(e.model.WatcherTime);
                break;

            case EUIStatus.设置产能:
                uiHpInfo.SetYield(e.model.TTNum, e.model.FailNum);
                break;

            case EUIStatus.设置按钮:
                uiHpInfo.SetDebugBtn(e.model.BtnNo, e.model.BtnValue);
                break;

            case EUIStatus.治具就绪:
                uiHpResult.SetFixtureId(e.model.IdCard);
                break;

            case EUIStatus.设置条码:
                uiHpResult.SetSnId(e.model.SlotNo, e.model.CurSn);
                uiHpResult.SetFree(e.model.SlotNo);
                uiHpData.SetFree(e.model.SlotNo);
                break;

            case EUIStatus.设置结果:
                uiHpResult.SetResult(e.model.SlotNo, e.model.Result);
                uiHpData.SetTestVal(e.model.SlotNo, e.model.HPResult);
                break;

            case EUIStatus.设置参数:
                uiHpData.RefreshUI(e.model.Step);
                break;

            case EUIStatus.TCP界面:
                ShowTcpUI(e.model.TcpReponse);
                break;

            default:
                break;
            }
        }
Exemple #14
0
        /// <summary>
        /// 界面消息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnMain(object sender, CUIUserArgs <CUIMainArgs> e)
        {
            switch (e.model.DoRun)
            {
            case EUIStatus.空闲:
                uiATE.SetFree();
                break;

            case EUIStatus.TCP状态:
                uiATE.SetTCPStatus(e.model.AlarmInfo, e.model.bAlarm);
                break;

            case EUIStatus.治具到位:
                uiATE.SetReady(e.model.AlarmInfo);
                uiStat.SetReady(e.model.IdCard, e.model.SerialNo);
                break;

            case EUIStatus.测试状态:
                uiATE.SetTimes(e.model.WaitTime);
                uiATE.SetStatus(e.model.AlarmInfo, e.model.bAlarm);
                break;

            case EUIStatus.测试结束:
                uiStat.SetEnd(e.model.Result, e.model.WaitTime);
                uiATE.SetStatus(e.model.AlarmInfo, e.model.bAlarm);
                break;

            case EUIStatus.产能计数:
                uiYield.SetYield(e.model.TTNum, e.model.FailNum, e.model.SlotTTNum, e.model.SlotFailNum);
                break;

            case EUIStatus.ATE状态:
                uiATE.SetATEStatus(e.model.AlarmInfo, e.model.bAlarm);
                break;

            case EUIStatus.ATE信息:
                uiATE.SetATEInfo(e.model.ProName, e.model.ModeName, e.model.ElapsedTime);
                break;

            case EUIStatus.调试模式:
                uiStat.SetDebugMode(e.model.DebugMode);
                break;

            default:
                break;
            }
        }
Exemple #15
0
 /// <summary>
 /// 显示机种UI
 /// </summary>
 /// <param name="e"></param>
 private void ShowModel(CUIUserArgs <CModelPara> e)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new Action <CUIUserArgs <CModelPara> >(ShowModel), e);
     }
     else
     {
         if (e.model != null)
         {
             uiRunTest.Vmin = e.model.OutPut.Vmin;
             uiRunTest.Vmax = e.model.OutPut.Vmax;
             uiRunTest.Imin = e.model.OutPut.LoadMin;
             uiRunTest.Imax = e.model.OutPut.LoadMax;
             uiModel.ShowModel(e.model);
         }
     }
 }
Exemple #16
0
        /// <summary>
        /// 界面消息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnMain(object sender, CUIUserArgs <CUIMainArgs> e)
        {
            lock (UILock)
            {
                if (e.name == CYOHOOApp.HIPOT_FlowName)
                {
                    ShowHPUI(e);
                }
                else if (e.name == CYOHOOApp.ATE_FlowName)
                {
                    ShowATEUI(e);
                }
                else if (e.name == CYOHOOApp.UNLOAD_FlowName)
                {
                    ShowUnLoadUI(e);
                }
                else
                {
                    switch (e.model.DoRun)
                    {
                    case EUIStatus.产能计数:
                        uiFinal.SetTestNum(e.idNo, e.model.TTNum, e.model.FailNum);
                        break;

                    case EUIStatus.工位计数:
                        uiFinal.SetFlowNum(e.model.Yields);
                        break;

                    case EUIStatus.显示计数:
                        uiYield[e.model.YieldKey].SetYield(e.model.Yield);
                        break;

                    case EUIStatus.变更机种:
                        ShowModelChange(e.model.Info);
                        break;

                    default:
                        break;
                    }
                }
            }
        }
Exemple #17
0
        /// <summary>
        /// 下机位UI显示
        /// </summary>
        /// <param name="e"></param>
        private void ShowUnLoadUI(CUIUserArgs <CUIMainArgs> e)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action <CUIUserArgs <CUIMainArgs> >(ShowUnLoadUI), e);
            }
            else
            {
                switch (e.model.StatUnLoad.UIDoRun)
                {
                case EUIStatus.空闲:
                    uiFinal.SetFree();
                    break;

                case EUIStatus.治具到位:
                    break;

                case EUIStatus.空治具过站:
                    uiFinal.SetIsNull(e.model.StatUnLoad.IdCard);
                    break;

                case EUIStatus.状态信息:
                    uiFinal.SetInfo(e.model.StatUnLoad.Info);
                    break;

                case EUIStatus.读卡报警:
                    uiFinal.SetIdAlarm();
                    break;

                case EUIStatus.异常报警:
                    uiFinal.SetAlarm(e.model.StatUnLoad.Info);
                    break;

                case EUIStatus.测试结束:
                    uiFinal.SetResult(e.model.StatUnLoad.IdCard, e.model.StatUnLoad.SerialNo, e.model.StatUnLoad.Result, e.model.StatUnLoad.ResultId);
                    break;

                default:
                    break;
                }
            }
        }
Exemple #18
0
        /// <summary>
        /// 系统UI
        /// </summary>
        /// <param name="e"></param>
        private void ShowSystem(CUIUserArgs <CUISystemArgs> e)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action <CUIUserArgs <CUISystemArgs> >(ShowSystem), e);
            }
            else
            {
                switch (e.model.DoRun)
                {
                case EUISystem.空闲:
                    break;

                case EUISystem.启动:
                    break;

                default:
                    break;
                }
            }
        }
Exemple #19
0
        /// <summary>
        /// 状态信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnMain(object sender, CUIUserArgs <CUIMainArgs> e)
        {
            switch (e.model.DoRun)
            {
            case EUIStatus.刷新机种:
                RefreshModelList(e.model.CurModelChange, e.model.CurOutModel, e.model.CurModelList);
                break;

            case EUIStatus.刷新数量:
                RefreshModelNum(e.model.CurOutModel, e.model.CurModelNum, e.model.CurModelOutNum);
                break;

            case EUIStatus.读取温度:
                uiModel.ReadTemp(e.model.rTemp, e.model.rColor);
                break;

            case EUIStatus.读取电压:
                uiModel.ReadACVolt(e.model.ACV, e.model.rColor);
                break;

            default:
                break;
            }
        }
Exemple #20
0
 /// <summary>
 /// 信息提示
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnActionArgs(object sender, CUIUserArgs <CUIActionAgrs> e)
 {
     ShowActionArgs(e);
 }
Exemple #21
0
        /// <summary>
        /// 测试工位UI显示
        /// </summary>
        /// <param name="e"></param>
        private void ShowATEUI(CUIUserArgs <CUIMainArgs> e)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action <CUIUserArgs <CUIMainArgs> >(ShowATEUI), e);
            }
            else
            {
                switch (e.model.StatATE[e.idNo].UIDoRun)
                {
                case EUIStatus.空闲:
                    //uiATE.SetFree();
                    break;

                case EUIStatus.状态信息:
                    uiATE.SetInfo(e.model.StatATE[e.idNo].Info);
                    break;

                case EUIStatus.读卡报警:
                    break;

                case EUIStatus.异常报警:
                    uiATE.SetAlarm(e.model.StatATE[e.idNo].Info);
                    break;

                case EUIStatus.治具到位:
                    uiATE.SetReady(e.model.StatATE[e.idNo].IdCard, e.model.StatATE[e.idNo].SerialNo);
                    break;

                case EUIStatus.空治具过站:
                    uiATE.SetNull(e.model.StatATE[e.idNo].IdCard);
                    break;

                case EUIStatus.测试中:
                    if (e.model.StatATE[e.idNo].SideIndex == -1)
                    {
                        uiATE.SetTesting();
                    }
                    else
                    {
                        uiATE.SetTesting(e.model.StatATE[e.idNo].SideIndex);
                    }
                    break;

                case EUIStatus.测试结束:
                    if (e.model.StatATE[e.idNo].SideIndex == -1)
                    {
                        uiATE.SetEnd(e.model.StatATE[e.idNo].Result);
                    }
                    else
                    {
                        uiATE.SetEnd(e.model.StatATE[e.idNo].Result, e.model.StatATE[e.idNo].SideIndex);
                    }
                    break;

                case EUIStatus.良确认:
                    uiATE.SetFailCfg();
                    break;

                default:
                    break;
                }
            }
        }
Exemple #22
0
 /// <summary>
 /// 系统消息
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnSystem(object sender, CUIUserArgs <CUISystemArgs> e)
 {
     ShowSystem(e);
 }
Exemple #23
0
 /// <summary>
 /// 库位信息
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnUUT(object sender, CUIUserArgs <CUUT> e)
 {
     uiUUT[e.idNo].SetUUT(e.model);
 }
Exemple #24
0
 /// <summary>
 /// 良率预警
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnPassRate(object sender, CUIUserArgs <CWarnRate> e)
 {
     ShowPassRate(e);
 }
Exemple #25
0
 /// <summary>
 /// 机种UI消息
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnModel(object sender, CUIUserArgs <CModelPara> e)
 {
     ShowModel(e);
 }
Exemple #26
0
 /// <summary>
 /// 测试工站
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnInBI(object sender, CUIUserArgs <CStatHub> e)
 {
     ShowInBI(e);
 }
Exemple #27
0
 /// <summary>
 /// 工位数据
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnStatData(object sender, CUIUserArgs <CUIStatDataArgs> e)
 {
     ShowStatData(e);
 }
Exemple #28
0
 /// <summary>
 /// 测试工站
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnStatTest(object sender, CUIUserArgs <CStat> e)
 {
     ShowStatTest(e);
 }
Exemple #29
0
 /// <summary>
 /// 扫描条码
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnScanSn(object sender, CUIUserArgs <CUIScanSnArgs> e)
 {
     ShowScanSn(e);
 }
Exemple #30
0
 /// <summary>
 /// 治具绑定位UI消息
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void OnBandSn(object sender, CUIUserArgs <CStatHub> e)
 {
     ShowBandSn(e);
 }