diff --git a/Rs.DeweyTester/Commom/GlobalVar.cs b/Rs.DeweyTester/Commom/GlobalVar.cs index b63c6fb..d028dbb 100644 --- a/Rs.DeweyTester/Commom/GlobalVar.cs +++ b/Rs.DeweyTester/Commom/GlobalVar.cs @@ -22,7 +22,19 @@ namespace Rs.Framework { #region newpro - + /// + /// 料仓取料失败是否跳过 + /// + [ParameterInit("bool", "true", "system", "料仓取料失败是否跳过")] + public static bool BinTakeFailSkip + { + get + { + return SysConfigParam.GetValue(nameof(BinTakeFailSkip)); + } + } + + /// /// XY到位后延时 /// diff --git a/Rs.DeweyTester/Flow/AlarmConstID.cs b/Rs.DeweyTester/Flow/AlarmConstID.cs index 2e42bd2..cc6b4a8 100644 --- a/Rs.DeweyTester/Flow/AlarmConstID.cs +++ b/Rs.DeweyTester/Flow/AlarmConstID.cs @@ -244,5 +244,11 @@ namespace Rs.MotionPlat.Flow /// 二维码长度异常报警 /// public const int 二维码长度异常报警 = 1049; + + /// + /// Input料盘开始搬运到Empty前报警 + /// + public const int Input料盘开始搬运到Empty前报警 = 1050; + } } diff --git a/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs b/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs index 68274bf..a49f12c 100644 --- a/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs +++ b/Rs.DeweyTester/Flow/NormalFlow/DischargeFlow.cs @@ -352,6 +352,11 @@ namespace Rs.MotionPlat.Flow { //先把轴移动到安全位 DischargeModuleGoSafePosFlow.Instance.GoSafePostion(); + alarmEntity = AlarmCollection.Get(AlarmConstID.Input料盘开始搬运到Empty前报警); + if(alarmEntity!=null) + { + Msgbox.ShowDialog(alarmEntity, EButtonType.Ok, true); + } TakeTrayFlow.Instance.Take(ETrayType.Input, ETrayType.Empty); //GlobalTray.InputTray.ChangeStatus(ESlotStatus.Have); takeSlotIndex = 1; diff --git a/Rs.DeweyTester/Flow/SubFlow/StockTakeFlow.cs b/Rs.DeweyTester/Flow/SubFlow/StockTakeFlow.cs index ea035d9..14cd1f7 100644 --- a/Rs.DeweyTester/Flow/SubFlow/StockTakeFlow.cs +++ b/Rs.DeweyTester/Flow/SubFlow/StockTakeFlow.cs @@ -252,43 +252,56 @@ namespace Rs.MotionPlat.Flow.SubFlow } else { - AlarmEntity alarmEntity = AlarmCollection.Get(AlarmConstID.排料吸嘴取料失败报警).Transform($"{curNozzle.NozzleIndex}",$"{waitTakeProductSlot.Row}",$"{waitTakeProductSlot.Column}",$"{waitTakeProductSlot.Index}"); - EButtonType btnSelect = Msgbox.ShowDialog(alarmEntity,EButtonType.EndInput | EButtonType.Retry | EButtonType.Skip | EButtonType.Recheck,true); - switch (btnSelect) + if(GlobalVar.BinTakeFailSkip && trayType== ETrayType.Input) { - case EButtonType.EndInput: - logInfo = GetClassName() + $"选择了结束上料"; - MessageQueue.Instance.Insert(logInfo); - GlobalVar.Clear = true; - finished = true; - flowStep = EStockTakeFlowStep.待触发; - break; - case EButtonType.Retry: - logInfo = GetClassName() + $"选择了重试"; - MessageQueue.Instance.Insert(logInfo); - curNozzle.VacBreak(EIoOperate.Close, GetClassName()); - curNozzle.VacSuction(EIoOperate.Close, GetClassName()); - //先把产品放下 - //StockPlaceFlow.Instance.Place(ETrayType.Input, waitTakeProductSlot.Index, curNozzle.NozzleIndex); - flowStep = EStockTakeFlowStep.到料仓取料位下方; - break; - case EButtonType.Recheck: - logInfo = GetClassName() + $"选择了重新检查真空"; - MessageQueue.Instance.Insert(logInfo); - flowStep = EStockTakeFlowStep.料仓取料真空吸检测; - break; - case EButtonType.Skip: - logInfo = GetClassName() + $"选择了跳过"; - curNozzle.VacBreak(EIoOperate.Close, GetClassName()); - curNozzle.VacSuction(EIoOperate.Close, GetClassName()); - MessageQueue.Instance.Insert(logInfo); - finished = true; - flowStep = EStockTakeFlowStep.待触发; - break; - - default: - break; + logInfo = GetClassName() + $"{trayType} bin {waitTakeProductSlot.Index} take fail auto skip"; + MessageQueue.Instance.Insert(logInfo); + curNozzle.VacBreak(EIoOperate.Close, GetClassName()); + curNozzle.VacSuction(EIoOperate.Close, GetClassName()); + finished = true; + flowStep = EStockTakeFlowStep.待触发; + } + else + { + AlarmEntity alarmEntity = AlarmCollection.Get(AlarmConstID.排料吸嘴取料失败报警).Transform($"{curNozzle.NozzleIndex}", $"{waitTakeProductSlot.Row}", $"{waitTakeProductSlot.Column}", $"{waitTakeProductSlot.Index}"); + EButtonType btnSelect = Msgbox.ShowDialog(alarmEntity, EButtonType.EndInput | EButtonType.Retry | EButtonType.Skip | EButtonType.Recheck, true); + switch (btnSelect) + { + case EButtonType.EndInput: + logInfo = GetClassName() + $"选择了结束上料"; + MessageQueue.Instance.Insert(logInfo); + GlobalVar.Clear = true; + finished = true; + flowStep = EStockTakeFlowStep.待触发; + break; + case EButtonType.Retry: + logInfo = GetClassName() + $"选择了重试"; + MessageQueue.Instance.Insert(logInfo); + curNozzle.VacBreak(EIoOperate.Close, GetClassName()); + curNozzle.VacSuction(EIoOperate.Close, GetClassName()); + //先把产品放下 + //StockPlaceFlow.Instance.Place(ETrayType.Input, waitTakeProductSlot.Index, curNozzle.NozzleIndex); + flowStep = EStockTakeFlowStep.到料仓取料位下方; + break; + case EButtonType.Recheck: + logInfo = GetClassName() + $"选择了重新检查真空"; + MessageQueue.Instance.Insert(logInfo); + flowStep = EStockTakeFlowStep.料仓取料真空吸检测; + break; + case EButtonType.Skip: + logInfo = GetClassName() + $"选择了跳过"; + curNozzle.VacBreak(EIoOperate.Close, GetClassName()); + curNozzle.VacSuction(EIoOperate.Close, GetClassName()); + MessageQueue.Instance.Insert(logInfo); + finished = true; + flowStep = EStockTakeFlowStep.待触发; + break; + + default: + break; + } } + } break; } diff --git a/Rs.DeweyTester/Properties/AssemblyInfo.cs b/Rs.DeweyTester/Properties/AssemblyInfo.cs index 97808c4..bdcd4a7 100644 --- a/Rs.DeweyTester/Properties/AssemblyInfo.cs +++ b/Rs.DeweyTester/Properties/AssemblyInfo.cs @@ -31,6 +31,6 @@ using System.Runtime.InteropServices; // //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //通过使用 "*",如下所示: - [assembly: AssemblyVersion("20.25.34.2")] + [assembly: AssemblyVersion("20.25.35.1")] //[assembly: AssemblyVersion("1.0.0.0")] //[assembly: AssemblyFileVersion("1.0.0.0")]