|
|
|
@ -39,7 +39,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
到治具取料等待位,
|
|
|
|
|
等待到治具取料等待位,
|
|
|
|
|
等待治具测试完成换料,
|
|
|
|
|
治具取放料,
|
|
|
|
|
治具取料,
|
|
|
|
|
治具放料,
|
|
|
|
|
//料仓放料
|
|
|
|
|
判断是否需要放料到料仓,
|
|
|
|
@ -132,7 +132,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
{
|
|
|
|
|
while (run)
|
|
|
|
|
{
|
|
|
|
|
if (stop || !GlobalVar.DeviceIsAuto)
|
|
|
|
|
if (stop)
|
|
|
|
|
{
|
|
|
|
|
Thread.Sleep(10);
|
|
|
|
|
continue;
|
|
|
|
@ -508,7 +508,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
needPlaceNozzle = GetPlaceNozzle(curFixture);
|
|
|
|
|
if (needPlaceNozzle != null)
|
|
|
|
|
{
|
|
|
|
|
flowStep = EDischargeFlowStep.治具取放料;
|
|
|
|
|
flowStep = EDischargeFlowStep.治具取料;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
@ -516,7 +516,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
//治具里面有产品但是吸嘴已经没有可以产品可以交换
|
|
|
|
|
if (GlobalVar.Clear && NozzleManager.GetIdelNozzle() != null)
|
|
|
|
|
{
|
|
|
|
|
flowStep = EDischargeFlowStep.治具取放料;
|
|
|
|
|
flowStep = EDischargeFlowStep.治具取料;
|
|
|
|
|
break;
|
|
|
|
|
//在这里先去把要放的产品给放下去,再回来取
|
|
|
|
|
}
|
|
|
|
@ -537,25 +537,37 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
case EDischargeFlowStep.治具取放料:
|
|
|
|
|
case EDischargeFlowStep.治具取料:
|
|
|
|
|
FixtureTakeFlow.Instance.Take(curFixture.Index);
|
|
|
|
|
if(needPlaceNozzle != null)
|
|
|
|
|
if(needPlaceNozzle != null && needPlaceNozzle.Status== ENozzleStatus.ToTest)
|
|
|
|
|
{
|
|
|
|
|
flowStep = EDischargeFlowStep.治具放料;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
int num = TestFixtureManager.Instance.GetHaveProductFixtureList().Count();
|
|
|
|
|
if(GlobalVar.Clear && NozzleManager.GetToTestNozzle()==null && ((num==0) ||(NozzleManager.GetIdelNozzle() == null)))
|
|
|
|
|
{
|
|
|
|
|
int tounloadNum = NozzleManager.GetNozzlesByStatus(ENozzleStatus.ToUnload).Count();
|
|
|
|
|
//if(GlobalVar.Clear && (
|
|
|
|
|
// (tounloadNum==3)
|
|
|
|
|
// || (num==0)
|
|
|
|
|
// ||(NozzleManager.GetToTestNozzle() == null)))
|
|
|
|
|
if(tounloadNum == 3
|
|
|
|
|
|| num == 0
|
|
|
|
|
//|| NozzleManager.GetToTestNozzle() == null
|
|
|
|
|
)
|
|
|
|
|
{
|
|
|
|
|
logInfo =GetClassName()+ $"clear:{GlobalVar.Clear},tounloadnum:{tounloadNum},num:{num}";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
//if(curFixture.Index==6)
|
|
|
|
|
//{
|
|
|
|
|
// DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock);
|
|
|
|
|
//}
|
|
|
|
|
CreateCheckFixtureQueue(curFixture.Index);
|
|
|
|
|
flowStep = EDischargeFlowStep.判断是否需要放料到料仓;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
CreateCheckFixtureQueue(curFixture.Index);
|
|
|
|
|
flowStep = EDischargeFlowStep.到治具取料等待位;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -569,18 +581,41 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
//lastFixtureIndex = checkFixtureList[0] - 1;
|
|
|
|
|
//lastFixtureIndex = curFixture.Index == checkFixtureList.Max() ? checkFixtureList.Min()-1 : curFixture.Index;
|
|
|
|
|
//lastFixtureIndex = curFixture.Index == 6 ? 0 : curFixture.Index;
|
|
|
|
|
if (NozzleManager.GetToTestNozzle() != null || (GlobalVar.Clear && TestFixtureManager.Instance.GetHasProuctFixtureCount()>0))
|
|
|
|
|
|
|
|
|
|
int num = TestFixtureManager.Instance.GetHaveProductFixtureList().Count();
|
|
|
|
|
int tounloadNum = NozzleManager.GetNozzlesByStatus(ENozzleStatus.ToUnload).Count();
|
|
|
|
|
if (
|
|
|
|
|
tounloadNum==3
|
|
|
|
|
|| num==0
|
|
|
|
|
|| NozzleManager.GetToTestNozzle() == null
|
|
|
|
|
)
|
|
|
|
|
//GlobalVar.Clear && (
|
|
|
|
|
//NozzleManager.GetToTestNozzle() == null
|
|
|
|
|
//|| (tounloadNum == 3)
|
|
|
|
|
//|| (num == 0)
|
|
|
|
|
//|| (NozzleManager.GetIdelNozzle() == null)))
|
|
|
|
|
{
|
|
|
|
|
flowStep = EDischargeFlowStep.到治具取料等待位;
|
|
|
|
|
flowStep = EDischargeFlowStep.判断是否需要放料到料仓;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//if (curFixture.Index == 6)
|
|
|
|
|
flowStep = EDischargeFlowStep.到治具取料等待位;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// if (NozzleManager.GetToTestNozzle() != null
|
|
|
|
|
// ||(GlobalVar.Clear && TestFixtureManager.Instance.GetHasProuctFixtureCount()>0 && NozzleManager.GetNozzlesByStatus(ENozzleStatus.ToUnload).Count<3))
|
|
|
|
|
//{
|
|
|
|
|
// DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock);
|
|
|
|
|
// flowStep = EDischargeFlowStep.到治具取料等待位;
|
|
|
|
|
//}
|
|
|
|
|
//else
|
|
|
|
|
//{
|
|
|
|
|
// //if (curFixture.Index == 6)
|
|
|
|
|
// //{
|
|
|
|
|
// // DischargeModuleGoSafePosFlow.Instance.GoSafePostion(ESafePosSide.PlaceToStock);
|
|
|
|
|
// //}
|
|
|
|
|
// flowStep = EDischargeFlowStep.判断是否需要放料到料仓;
|
|
|
|
|
//}
|
|
|
|
|
flowStep = EDischargeFlowStep.判断是否需要放料到料仓;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|