1、增加Input料仓取料失败自动跳过功能。

2、增加Input料盘取料完成搬运到Empty前报警检查是否有产品。
develop
lhiven 3 weeks ago
parent d22ab75ed0
commit af57b09169

@ -22,7 +22,19 @@ namespace Rs.Framework
{
#region newpro
/// <summary>
/// 料仓取料失败是否跳过
/// </summary>
[ParameterInit("bool", "true", "system", "料仓取料失败是否跳过")]
public static bool BinTakeFailSkip
{
get
{
return SysConfigParam.GetValue<bool>(nameof(BinTakeFailSkip));
}
}
/// <summary>
/// XY到位后延时
/// </summary>

@ -244,5 +244,11 @@ namespace Rs.MotionPlat.Flow
/// 二维码长度异常报警
/// </summary>
public const int = 1049;
/// <summary>
/// Input料盘开始搬运到Empty前报警
/// </summary>
public const int InputEmpty = 1050;
}
}

@ -352,6 +352,11 @@ namespace Rs.MotionPlat.Flow
{
//先把轴移动到安全位
DischargeModuleGoSafePosFlow.Instance.GoSafePostion();
alarmEntity = AlarmCollection.Get(AlarmConstID.InputEmpty);
if(alarmEntity!=null)
{
Msgbox.ShowDialog(alarmEntity, EButtonType.Ok, true);
}
TakeTrayFlow.Instance.Take(ETrayType.Input, ETrayType.Empty);
//GlobalTray.InputTray.ChangeStatus(ESlotStatus.Have);
takeSlotIndex = 1;

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

@ -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")]

Loading…
Cancel
Save