优化排料放周转盘先检测真空,如果真空有效则不再检测粘料

master
lhiven 1 year ago
parent 8adb42119f
commit 46252f3642

@ -58,8 +58,8 @@ namespace Rs.MotionPlat.Flow
,
,
,
,
,
,
,
,
,
@ -1371,12 +1371,31 @@ namespace Rs.MotionPlat.Flow
{
logInfo = GetClassName()+$"排料吸嘴{curNozzle.NozzleIndex}号{WitchTrayWitchSlot(curNozzle.ToType, curNozzle.ToIndex)}放料完成已起位";
MessageQueue.Instance.Insert(logInfo);
if(curNozzle.ToType== TurnoverType.Turnover)
{
flowStep = EDischargeFlowStep.;
}
else
{
flowStep = EDischargeFlowStep.;
}
}
break;
case EDischargeFlowStep.:
case EDischargeFlowStep.:
if (curNozzle.ToType == TurnoverType.Turnover)
{
if (Ops.IsOn($"周转盘{curNozzle.ToIndex + 1}号穴位真空吸检测") || GlobalVar.RunSpace)
{
logInfo = GetClassName() + $"周转盘{curNozzle.ToIndex + 1}号穴位真空吸检测OK";
MessageQueue.Instance.Insert(logInfo);
flowStep = EDischargeFlowStep.;
}
else
{
//打开真空吸
curNozzle.VacSuction(EIoOperate.Open);
//如果粘料
if (curNozzle.HasProduct())
{
bool skip = false;
@ -1412,27 +1431,14 @@ namespace Rs.MotionPlat.Flow
}
else
{
logInfo = GetClassName() + $"排料吸嘴{curNozzle.NozzleIndex}号SN={curNozzle.SN}放{WitchTrayWitchSlot(curNozzle.ToType, curNozzle.ToIndex)}";
MessageQueue.Instance.Insert(logInfo);
curNozzle.VacSuction(EIoOperate.Close);
flowStep = EDischargeFlowStep.;
}
break;
case EDischargeFlowStep.:
if (curNozzle.ToType == TurnoverType.Turnover)
{
if (Ops.IsOn($"周转盘{curNozzle.ToIndex + 1}号穴位真空吸检测") || GlobalVar.RunSpace)
{
logInfo = GetClassName()+$"周转盘{curNozzle.ToIndex + 1}号穴位真空吸检测OK";
MessageQueue.Instance.Insert(logInfo);
flowStep = EDischargeFlowStep.;
}
else
{
//如果没有粘料,说明产品放下去了,这个时候用相机检测产品是否在穴位种
UpCameraScanBarCodeFlow.Instance.ScanSingle(curNozzle.ToIndex + 1, true);
VisionResult vr = UpCameraScanBarCodeFlow.Instance.WaitSingle();
if (UpCameraScanBarCodeFlow.Instance.CheckResult(vr))
{
logInfo = GetClassName() + $"排料吸嘴{curNozzle.NozzleIndex}号SN={curNozzle.SN}放{WitchTrayWitchSlot(curNozzle.ToType, curNozzle.ToIndex)}";
MessageQueue.Instance.Insert(logInfo);
curNozzle.VacSuction(EIoOperate.Close);
flowStep = EDischargeFlowStep.;
}
else
@ -1463,6 +1469,9 @@ namespace Rs.MotionPlat.Flow
vr = UpCameraScanBarCodeFlow.Instance.WaitSingle();
if (UpCameraScanBarCodeFlow.Instance.CheckResult(vr))
{
logInfo = GetClassName() + $"排料吸嘴{curNozzle.NozzleIndex}号SN={curNozzle.SN}放{WitchTrayWitchSlot(curNozzle.ToType, curNozzle.ToIndex)}";
MessageQueue.Instance.Insert(logInfo);
curNozzle.VacSuction(EIoOperate.Close);
exit = true;
flowStep = EDischargeFlowStep.;
}
@ -1505,11 +1514,52 @@ namespace Rs.MotionPlat.Flow
}
}
}
}
break;
case EDischargeFlowStep.:
//打开真空吸
curNozzle.VacSuction(EIoOperate.Open);
if(curNozzle.HasProduct())
{
bool skip = false;
while(!skip)
{
//粘料报警,提示用户粘料,移动到安全位,或者点击跳过
//alarmInfo = $"排料{curNozzle.NozzleIndex}号吸嘴可能粘料,请查看吸嘴状态后处理";
alarmInfo = string.Format(AlarmCollection.GetAlarm(AlarmConstID.), curNozzle.NozzleIndex);
MessageQueue.Instance.Warn(GetClassName()+ alarmInfo);
//TestCenterMessageBox.Show(AlarmConstID.NozzleTackinessAlarm, alarmInfo, MessageButtonManager.GetSkip_MoveToSafe_Button(), MessageButtonManager.GetSkip_MoveToSafe_ButtonText());
msgBox = MsgBox.ShowDialog(AlarmConstID., alarmInfo, MessageButtonManager.GetSkip_MoveToSafe_Button(), MessageButtonManager.GetSkip_MoveToSafe_ButtonText());// TestCenterMessageBox.WaitResult(AlarmConstID.NozzleTackinessAlarm);
switch (msgBox.Button)
{
case ETipButton.Skip:
logInfo = GetClassName() + "选择了跳过按钮";
MessageQueue.Instance.Insert(logInfo);
if (!curNozzle.HasProduct())
{
curNozzle.VacSuction(EIoOperate.Close);
curNozzle.Reset();
skip = true;
flowStep = EDischargeFlowStep.;
}
break;
case ETipButton.Yes:
logInfo = GetClassName() + "选择了移动到安全位按钮";
MessageQueue.Instance.Insert(logInfo);
DischargeModuleGoSafePosFlow.Instance.GoSafePostion();
break;
}
}
}
else
{
logInfo = GetClassName() + $"排料吸嘴{curNozzle.NozzleIndex}号SN={curNozzle.SN}放{WitchTrayWitchSlot(curNozzle.ToType, curNozzle.ToIndex)}";
MessageQueue.Instance.Insert(logInfo);
curNozzle.VacSuction(EIoOperate.Close);
flowStep = EDischargeFlowStep.;
}
break;
case EDischargeFlowStep.:
//AxisControl.GetAxis($"NozzleZ{curNozzle.NozzleIndex}").Home();

@ -79,6 +79,8 @@ namespace Rs.MotionPlat.Flow
,
,
,
,
,
,

Loading…
Cancel
Save