优化光纤检测,当光纤检测异常时,先用压头下压一次

master
lhiven 1 year ago
parent a606fb800c
commit fe24183d0e

@ -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;
}
}
}
}

Loading…
Cancel
Save