丢料报警优化

master
lhiven 2 years ago
parent 96b0135a2c
commit ca92b46256

@ -122,5 +122,10 @@ namespace Rs.MotionPlat.Flow
/// NG料光纤检测异常 /// NG料光纤检测异常
/// </summary> /// </summary>
public const int NgProductFiberCheckAlarm = 23; public const int NgProductFiberCheckAlarm = 23;
/// <summary>
/// 排料吸嘴丢料报警
/// </summary>
public const int DischargeNozzleLostProductAlarm = 24;
} }
} }

@ -193,6 +193,7 @@ namespace Rs.MotionPlat.Flow
if (curTask.FromType == TurnoverType.Turnover) if (curTask.FromType == TurnoverType.Turnover)
{ {
curSlotPoint = TrayPointManager.GetSlotPoint( ETrayType.Turnover, curTask.FromIndex + 1); curSlotPoint = TrayPointManager.GetSlotPoint( ETrayType.Turnover, curTask.FromIndex + 1);
curNozzle.FromIndex = curTask.FromIndex + 1;
logInfo = GetClassName()+ $"{curNozzle.NozzleIndex}号排料吸嘴到周转盘{curTask.FromIndex + 1}号穴位取料"; logInfo = GetClassName()+ $"{curNozzle.NozzleIndex}号排料吸嘴到周转盘{curTask.FromIndex + 1}号穴位取料";
MessageQueue.Instance.Insert(logInfo); MessageQueue.Instance.Insert(logInfo);
} }
@ -338,27 +339,31 @@ namespace Rs.MotionPlat.Flow
case EDischargeFlowStep.: case EDischargeFlowStep.:
/*打开排料吸嘴真空吸*/ /*打开排料吸嘴真空吸*/
Ops.On($"{curNozzle.NozzleIndex}号吸嘴真空吸电磁阀"); //Ops.On($"{curNozzle.NozzleIndex}号吸嘴真空吸电磁阀");
Thread.Sleep(GlobalVar.LoadNozzleOpenVacSuctionDelaytime); //Thread.Sleep(GlobalVar.LoadNozzleOpenVacSuctionDelaytime);
logInfo = GetClassName()+ $"打开{curNozzle.NozzleIndex}号排料吸嘴真空吸"; VacManager.DischargeVacSuction(EVacOperator.Open, curNozzle.NozzleIndex);
MessageQueue.Instance.Insert(logInfo); //logInfo = GetClassName()+ $"打开{curNozzle.NozzleIndex}号排料吸嘴真空吸";
//MessageQueue.Instance.Insert(logInfo);
if (curTask.FromType == TurnoverType.Turnover) if (curTask.FromType == TurnoverType.Turnover)
{ {
/*关闭周转盘真空吸*/ /*关闭周转盘真空吸*/
logInfo = GetClassName() + $"关闭周转盘{curTask.FromIndex + 1}号穴位真空吸"; //logInfo = GetClassName() + $"关闭周转盘{curTask.FromIndex + 1}号穴位真空吸";
Ops.Off($"周转盘{curTask.FromIndex + 1}号穴位真空吸"); //Ops.Off($"周转盘{curTask.FromIndex + 1}号穴位真空吸");
Thread.Sleep(GlobalVar.TurnoverTrayCloseVacSuctionDelaytime); //Thread.Sleep(GlobalVar.TurnoverTrayCloseVacSuctionDelaytime);
MessageQueue.Instance.Insert(logInfo); //MessageQueue.Instance.Insert(logInfo);
VacManager.TurnoverTrayVacSuction(EVacOperator.Close, curNozzle.FromIndex);
/*打开周转盘真空破*/ /*打开周转盘真空破*/
logInfo = GetClassName() + $"打开周转盘{curTask.FromIndex + 1}号穴位真空破"; //logInfo = GetClassName() + $"打开周转盘{curTask.FromIndex + 1}号穴位真空破";
Ops.On($"周转盘{curTask.FromIndex + 1}号穴位真空破"); //Ops.On($"周转盘{curTask.FromIndex + 1}号穴位真空破");
Thread.Sleep(GlobalVar.TurnoverTrayOpenVacBreakDelaytime); //Thread.Sleep(GlobalVar.TurnoverTrayOpenVacBreakDelaytime);
MessageQueue.Instance.Insert(logInfo); //MessageQueue.Instance.Insert(logInfo);
VacManager.TurnoverTrayVacBreak( EVacOperator.Open,curNozzle.FromIndex);
/*关闭周转盘真空破*/ /*关闭周转盘真空破*/
logInfo = GetClassName() + $"关闭周转盘{curTask.FromIndex + 1}号穴位真空破"; //logInfo = GetClassName() + $"关闭周转盘{curTask.FromIndex + 1}号穴位真空破";
Ops.Off($"周转盘{curTask.FromIndex + 1}号穴位真空破"); //Ops.Off($"周转盘{curTask.FromIndex + 1}号穴位真空破");
Thread.Sleep(GlobalVar.TurnoverTrayCloseVacBreakDelaytime); //Thread.Sleep(GlobalVar.TurnoverTrayCloseVacBreakDelaytime);
MessageQueue.Instance.Insert(logInfo); //MessageQueue.Instance.Insert(logInfo);
VacManager.TurnoverTrayVacBreak( EVacOperator.Close,curNozzle.FromIndex);
} }
flowStep = EDischargeFlowStep.; flowStep = EDischargeFlowStep.;
break; break;
@ -930,7 +935,7 @@ namespace Rs.MotionPlat.Flow
List<Nozzle> toUnloadNozzles = NozzleManager.GetNozzlesByStatus(ENozzleStatus.ToUnload); List<Nozzle> toUnloadNozzles = NozzleManager.GetNozzlesByStatus(ENozzleStatus.ToUnload);
foreach (var nozzle in toUnloadNozzles) foreach (var nozzle in toUnloadNozzles)
{ {
if(!Ops.IsOn("")) if(!nozzle.HasProduct())
{ {
lostNozzles.Add(nozzle); lostNozzles.Add(nozzle);
} }
@ -939,8 +944,8 @@ namespace Rs.MotionPlat.Flow
{ {
//弹框报警 //弹框报警
alarmInfo = $"{lostNozzles.Select(ln=>ln.NozzleIndex).ToJoinString()}丢料报警"; alarmInfo = $"{lostNozzles.Select(ln=>ln.NozzleIndex).ToJoinString()}丢料报警";
//TestCenterMessageBox.Show(1, alarmInfo,); TestCenterMessageBox.Show(AlarmConstID.DischargeNozzleLostProductAlarm,alarmInfo,MessageButtonManager.GetSkip_MoveToSafe_Button(),MessageButtonManager.GetSkip_MoveToSafe_ButtonText());
msgBox = TestCenterMessageBox.WaitResult(1); msgBox = TestCenterMessageBox.WaitResult(AlarmConstID.DischargeNozzleLostProductAlarm);
switch (msgBox.Button) switch (msgBox.Button)
{ {
case ETipButton.Skip: case ETipButton.Skip:

Loading…
Cancel
Save