public void RaiseMcDownEvent(CCCDataLogger data) { if (OnMcDownTrigger != null) { OnMcDownTrigger(this, new CCCMcDownTriggerEvent(data)); } }
public CCCFinalRunResult(CCCRunResult partRunData, CCCDataLogger runResult, CCCOutput.Trigger_Type type, TIC_BIN_DATA uticData) { PartUnitData = partRunData; RunResult = runResult; TriggerType = type; UticData = uticData; }
public void UpdateData(CCCResult result) { //Mar-2020 change triggering count var TotalMCDownTrigger = HSTMachine.Workcell.TICCccControl.CCCControlTicMc1.CccResult.OutputCounter.MCDownTriggering + HSTMachine.Workcell.TICCccControl.CCCControlTicMc2.CccResult.OutputCounter.MCDownTriggering; var TotalTICTrigger = HSTMachine.Workcell.TICCccControl.CCCControlTicMc1.CccResult.OutputCounter.TicDefactCounter + HSTMachine.Workcell.TICCccControl.CCCControlTicMc2.CccResult.OutputCounter.TicDefactCounter; string triggerType = string.Empty; triggerType = result.OutputCounter.McTriggerType == Trigger_Type.CRDL ? "HIGH_PERCENT_CRDL" : "HIGH_PERCENT_TIC"; decimal mc1FailPartCounter = decimal.Parse(HSTMachine.Workcell.TICCccControl.CCCControlTicMc1.CccResult.OutputCounter.AdaptiveDefectCounter.ToString()); decimal totalParts = decimal.Parse(result.AdaptivePartCounter.ToString()); decimal mc2FailPartCounter = decimal.Parse(HSTMachine.Workcell.TICCccControl.CCCControlTicMc2.CccResult.OutputCounter.AdaptiveDefectCounter.ToString()); decimal currentYield = 0; var totalcount = (totalParts - mc1FailPartCounter) * 100; try { if (totalParts != 0) { currentYield = decimal.Divide(totalcount, totalParts); } } catch (Exception) { } result.SetAdaptiveNumber(); if (result.OutputCounter.LastCCCOutputUTICtime == null) { result.OutputCounter.LastCCCOutputUTICtime = ""; } CCCDataLogger dataUpdate = new CCCDataLogger { DateTime = DateTime.Now.ToString(), TEST_RUN_COUNT = HSTMachine.Workcell.HSTSettings.CccParameterSetting.TestRunGroup.ToString(), YIELD_TARGET = HSTMachine.Workcell.HSTSettings.CccParameterSetting.YeildTarget.ToString(), YIELD_LIMIT = HSTMachine.Workcell.HSTSettings.CccParameterSetting.YeildLimit.ToString(), DEFECT_LIMIT = HSTMachine.Workcell.HSTSettings.CccParameterSetting.DefectCounterLimit.ToString(), LCL = HSTMachine.Workcell.HSTSettings.CccParameterSetting.Alpha.ToString(), PART_COUNT = ((result.OutputCounter.LastRunGoodCounter == 0) ? 0 : result.OutputCounter.LastRunGoodCounter - 1).ToString(), PART_LIMIT_YIELD = result.YieldTest.ToString(), // not define yet PART_TRIGGER = result.AdaptiveNumber.ToString(), // not define yet DEFECT_COUNTER = result.OutputCounter.AdaptiveDefectCounter.ToString(), //not define yet CCC_TRIGGERING = result.OutputCounter.InternalTriggerCounter.ToString(), // not define yet TIC_TRIGGERING_COUNT = result.OutputCounter.TicDefactCounter.ToString(), HIGH_CRDL_PERCENT_TRIGGERING_COUNT = result.OutputCounter.HstHighPercentTriggeringCounter.ToString(), CRDL_TRIGGERING_COUNT = result.OutputCounter.HstDefactCounter.ToString(), MC_TRIGGERING_COUNT = result.OutputCounter.MCDownTriggering.ToString(), MC_TRIGGER_TYPE = result.OutputCounter.McTriggerType.ToString(), TRIGERING_TYPE = triggerType, FAILURE_TYPE = result.OutputCounter.TriggerFailureType.ToString(), ALL_MC_TRIGGER = TotalMCDownTrigger.ToString(), PART_RUNNING = result.AdaptivePartCounter.ToString(), TotalParts = totalParts.ToString(), FailM1PartCounter = mc1FailPartCounter.ToString(), FailM2PartCounter = mc2FailPartCounter.ToString(), CurrentYield = currentYield.ToString(), ALL_TIC_TRIGGERING = TotalTICTrigger.ToString(), uTICdate = result.OutputCounter.LastCCCOutputUTICtime.ToString() }; result.CCCDataLogger = dataUpdate; CccResult.CCCDataLogger = dataUpdate; }
public CCCMcDownTriggerEvent(CCCDataLogger data) { PartUnitData = data; }