public void SetTimeUsage(TimeUsage value) { if (timeUsage != value) { timeUsage = value; } }
public void SetTimeUsage(int value) { TimeUsage convertedValue = (TimeUsage)value; if (timeUsage != convertedValue) { timeUsage = convertedValue; } }
public ErrorInfoWithPause ActionStartThicknessMeas(DataComp NeedComp, bool CheckVacuum = true) { DataNeedComp = NeedComp; DateTime start = DateTime.Now; if (!HavePart()) { return(null); } ErrorInfoWithPause res; //if (CheckVacuum) //{ // res = CheckVacuumStatus(); // if (res != null) return res; //} TimeSpan span1 = DateTime.Now - start; res = ActionLoad(); TimeSpan span2 = DateTime.Now - start; if (res != null) { return(res); } #region 开始实时读取 //if (ThicknessDataStations[0].CellData != null) //{ // SerialPort[0].SerialDataReceiveEvent += ClassZone厚度测量_SerialDataReceiveEvent0; // StartSerialRealSend(SerialPort[0], HardwareSerialProtocolName.ThicknessRead); //} //if (ThicknessDataStations[1].CellData != null) //{ // SerialPort[1].SerialDataReceiveEvent += ClassZone厚度测量_SerialDataReceiveEvent1; // StartSerialRealSend(SerialPort[1], HardwareSerialProtocolName.ThicknessRead); //} //if (ThicknessDataStations[2].CellData != null) //{ // SerialPort[2].SerialDataReceiveEvent += ClassZone厚度测量_SerialDataReceiveEvent2; // StartSerialRealSend(SerialPort[2], HardwareSerialProtocolName.ThicknessRead); //} #endregion 开始实时读取 TimeClass.Delay(ClassCommonSetting.SysParam.ThicknessMeasDelayTime); //for (int i = 0; i < CELLCOUNT; i++) // if (ThicknessDataStations[i].CellData != null) // GetData((EnumCellIndex)i, SerialPort[i].Data, NeedComp); #region 实时读取结束 //for (int i = 0; i < CELLCOUNT; i++) // if (ThicknessDataStations[i].CellData != null) // StopSerialRealSend(SerialPort[i]); //if (ThicknessDataStations[0].CellData != null) // SerialPort[0].SerialDataReceiveEvent -= ClassZone厚度测量_SerialDataReceiveEvent0; //if (ThicknessDataStations[1].CellData != null) // SerialPort[1].SerialDataReceiveEvent -= ClassZone厚度测量_SerialDataReceiveEvent1; //if (ThicknessDataStations[2].CellData != null) // SerialPort[2].SerialDataReceiveEvent -= ClassZone厚度测量_SerialDataReceiveEvent2; #endregion 实时读取结束 TimeSpan span3 = DateTime.Now - start; res = StartThicknessReading(NeedComp); TimeSpan span4 = DateTime.Now - start; if (res != null) { return(res); } res = ActionUnload(); TimeSpan span5 = DateTime.Now - start; TimeUsage.UpdateTimeUsage(TimeUsageItem.ZoneThickness, span5.TotalSeconds, string.Format("检查真空: {0:0.00}s\n加载电芯: {1:0.00}s\n延时等待: {2:0.00}s\n读取厚度: {3:0.00}s\n卸载电芯: {4:0.00}s", span1.TotalSeconds, (span2 - span1).TotalSeconds, (span3 - span2).TotalSeconds, (span4 - span3).TotalSeconds, (span5 - span4).TotalSeconds)); for (int i = 0; i < ClassBaseWorkZone.CELLCOUNT; i++) { ThicknessCellVacuums[i].SetOutPortStatus(false); } return(res); }
public ErrorInfoWithPause ActionStartCCDMeas(DataComp NeedComp) { if (ClassWorkFlow.Instance.WorkMode != EnumWorkMode.空跑) { //Open vacuum CellBlow.SetOutPortStatus(false); CellVacuums[EnumCellIndex.左电芯].SetOutPortStatus(CCDMeasDataStations[(int)EnumCellIndex.左电芯].CellData != null); CellVacuums[EnumCellIndex.中电芯].SetOutPortStatus(CCDMeasDataStations[(int)EnumCellIndex.中电芯].CellData != null); CellVacuums[EnumCellIndex.右电芯].SetOutPortStatus(CCDMeasDataStations[(int)EnumCellIndex.右电芯].CellData != null); } ErrorInfoWithPause res = null;// = CheckVacuumStatus(); //if (res != null) return res; //for (int i = 0; i < CELLCOUNT; i++) //{ // _camTrigFinish[i] = CCDMeasDataStations[i].CellData == null; // MeasDone[i] = CCDMeasDataStations[i].CellData == null; // BufferDatas[i] = CCDMeasDataStations[i].CellData; //} DateTime start = DateTime.Now; _camTrigFinish[CELLCOUNT] = false; if (CCDMeasDataStations[EnumCellIndex.右电芯].CellData != null) { while (!AxisOutlineMeasX.MoveTo(EnumPointX.Start)) //return DispMotionError(AxisOutlineMeasX, EnumCellIndex.右电芯); { res = DispMotionError(AxisOutlineMeasX, EnumCellIndex.右电芯); if (res != null) { return(res); } } ActionOneCCDMeas(EnumCellIndex.右电芯, NeedComp); } TimeSpan span1 = DateTime.Now - start; if (CCDMeasDataStations[EnumCellIndex.中电芯].CellData != null) { while (!AxisOutlineMeasX.MoveTo(EnumPointX.Start, true, AxisOutlineMeasX.PointList[EnumPointX.Pitch].Position)) //return DispMotionError(AxisOutlineMeasX, EnumCellIndex.中电芯); { res = DispMotionError(AxisOutlineMeasX, EnumCellIndex.中电芯); if (res != null) { return(res); } } ActionOneCCDMeas(EnumCellIndex.中电芯, NeedComp); } TimeSpan span2 = DateTime.Now - start; if (CCDMeasDataStations[EnumCellIndex.左电芯].CellData != null) { while (!AxisOutlineMeasX.MoveTo(EnumPointX.Start, true, AxisOutlineMeasX.PointList[EnumPointX.Pitch].Position * 2)) //return DispMotionError(AxisOutlineMeasX, EnumCellIndex.左电芯); { res = DispMotionError(AxisOutlineMeasX, EnumCellIndex.左电芯); if (res != null) { return(res); } } ActionOneCCDMeas(EnumCellIndex.左电芯, NeedComp); } TimeSpan span3 = DateTime.Now - start; while (!AxisOutlineMeasX.MoveTo(EnumPointX.PartOut)) //return DispMotionError(AxisOutlineMeasX, EnumPointX.PartOut); { res = DispMotionError(AxisOutlineMeasX, EnumPointX.PartOut); if (res != null) { return(res); } } //while (!_measDone[0] || !_measDone[1] || !_measDone[2]) // Thread.Sleep(1); //if (AfterCCDMeas != null) //{ // _afterCallBack = AfterCCDMeas; // _afterCallBack.BeginInvoke(WorkZoneActionAsyncReturn, _afterCallBack); //} TimeSpan span4 = DateTime.Now - start; TimeUsage.UpdateTimeUsage(TimeUsageItem.ZoneCCD, span4.TotalSeconds, string.Format("右电芯测量: {0:0.00}s\n中电芯测量: {1:0.00}s\n左电芯测量: {2:0.00}s\n移到出料位: {3:0.00}s", span1.TotalSeconds, (span2 - span1).TotalSeconds, (span3 - span2).TotalSeconds, (span4 - span3).TotalSeconds)); for (int i = 0; i < ClassBaseWorkZone.CELLCOUNT; i++) { CellVacuums[i].SetOutPortStatus(false); } return(null); }