/// <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; } } }
/// <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; } } }
/// <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; } } }
/// <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; } } }
/// <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); } }
/// <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); } } }
/// <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; } } }
/// <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(); } }
/// <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; } } }
/// <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; } } }
/// <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); } }
/// <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); }
/// <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; } }
/// <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; } }
/// <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); } } }
/// <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; } } } }
/// <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; } } }
/// <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; } } }
/// <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; } }
/// <summary> /// 信息提示 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnActionArgs(object sender, CUIUserArgs <CUIActionAgrs> e) { ShowActionArgs(e); }
/// <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; } } }
/// <summary> /// 系统消息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnSystem(object sender, CUIUserArgs <CUISystemArgs> e) { ShowSystem(e); }
/// <summary> /// 库位信息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnUUT(object sender, CUIUserArgs <CUUT> e) { uiUUT[e.idNo].SetUUT(e.model); }
/// <summary> /// 良率预警 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnPassRate(object sender, CUIUserArgs <CWarnRate> e) { ShowPassRate(e); }
/// <summary> /// 机种UI消息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnModel(object sender, CUIUserArgs <CModelPara> e) { ShowModel(e); }
/// <summary> /// 测试工站 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnInBI(object sender, CUIUserArgs <CStatHub> e) { ShowInBI(e); }
/// <summary> /// 工位数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnStatData(object sender, CUIUserArgs <CUIStatDataArgs> e) { ShowStatData(e); }
/// <summary> /// 测试工站 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnStatTest(object sender, CUIUserArgs <CStat> e) { ShowStatTest(e); }
/// <summary> /// 扫描条码 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnScanSn(object sender, CUIUserArgs <CUIScanSnArgs> e) { ShowScanSn(e); }
/// <summary> /// 治具绑定位UI消息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnBandSn(object sender, CUIUserArgs <CStatHub> e) { ShowBandSn(e); }