diff --git a/Rs.SkyLine/Flow/NormalFlow/TurnoverFlow.cs b/Rs.SkyLine/Flow/NormalFlow/TurnoverFlow.cs index 1d334ab..905d832 100644 --- a/Rs.SkyLine/Flow/NormalFlow/TurnoverFlow.cs +++ b/Rs.SkyLine/Flow/NormalFlow/TurnoverFlow.cs @@ -717,41 +717,44 @@ namespace Rs.MotionPlat.Flow //先检测光纤 if(GlobalVar.EnableTestFixtureFiberCheck)//如果启用光纤 { - if (Ops.IsOn($"测试{nozzle.NozzleIndex}号穴位光纤检测") || GlobalVar.RunSpace) + if (Ops.IsOff($"测试{nozzle.NozzleIndex}号穴位光纤检测") || GlobalVar.RunSpace) { - bool exit = false; - while (!exit) + //如果出现光纤异常,先用压头压一下 + FiberWarningPressFlow.Instance.Press(); + //压一下之后如果还出现异常,则报警 + if(Ops.IsOff($"测试{nozzle.NozzleIndex}号穴位光纤检测")) { - alarmInfo = $"测试治具{nozzle.NozzleIndex}号光纤异常,有可能叠料,请处理"; - MessageQueue.Instance.Warn(GetClassName() + alarmInfo); - TestCenterMessageBox.Show(AlarmConstID.NozzlesLoseMaterialAlarm, alarmInfo, MessageButtonManager.GetRetry_Skip_MoveToSafe_Button(), MessageButtonManager.GetRetry_Skip_MoveToSafe_ButtonText()); - msgBox = TestCenterMessageBox.WaitResult(AlarmConstID.NozzlesLoseMaterialAlarm); - switch (msgBox.Button) + bool exit = false; + while (!exit) { - case ETipButton.Retry: - VacManager.TestTrayVacSuction(EVacOperator.Open, nozzle.NozzleIndex); - if (!Ops.IsOn($"测试{nozzle.NozzleIndex}号穴位光纤检测") || GlobalVar.RunSpace) - { - //GlobalTray.TestTray.ChangeStatus(nozzle.NozzleIndex, ESlotStatus.Have); - //TestTrayManager.Instance.Slot(nozzle.NozzleIndex).AddProduct(nozzle); - //nozzle.Clear(); - exit = true; - } - break; - case ETipButton.Skip: - //镭射头过来复检,有产品则继续报警 - TestHeightResult heightReulst = LaserFlow.Instance.HasProduct(ETrayType.Test, nozzle.NozzleIndex); - if (!heightReulst.HasProduct) - { + alarmInfo = $"测试治具{nozzle.NozzleIndex}号穴位光纤异常,有可能叠料,请处理"; + MessageQueue.Instance.Warn(GetClassName() + alarmInfo); + TestCenterMessageBox.Show(AlarmConstID.NozzlesLoseMaterialAlarm, alarmInfo, MessageButtonManager.GetRetry_Skip_MoveToSafe_Button(), MessageButtonManager.GetRetry_Skip_MoveToSafe_ButtonText()); + msgBox = TestCenterMessageBox.WaitResult(AlarmConstID.NozzlesLoseMaterialAlarm); + switch (msgBox.Button) + { + case ETipButton.Retry: + VacManager.TestTrayVacSuction(EVacOperator.Open, nozzle.NozzleIndex); + if (Ops.IsOn($"测试{nozzle.NozzleIndex}号穴位光纤检测") || GlobalVar.RunSpace) + { + exit = true; + } + break; + case ETipButton.Skip: + //镭射头过来复检,有产品则继续报警 + TestHeightResult heightReulst = LaserFlow.Instance.HasProduct(ETrayType.Test, nozzle.NozzleIndex); + if (!heightReulst.HasProduct) + { + VacManager.TestTrayVacSuction(EVacOperator.Close, nozzle.NozzleIndex); + nozzle.Clear(); + exit = true; + } + break; + case ETipButton.Yes://移动到安全位 VacManager.TestTrayVacSuction(EVacOperator.Close, nozzle.NozzleIndex); - nozzle.Clear(); - exit = true; - } - break; - case ETipButton.Yes://移动到安全位 - VacManager.TestTrayVacSuction(EVacOperator.Close, nozzle.NozzleIndex); - TransitModuleSafePosFlow.Instance.GoSafePostion(EExceptionSafePos.Socket); - break; + TransitModuleSafePosFlow.Instance.GoSafePostion(EExceptionSafePos.Socket); + break; + } } } }