Commit c85b9cbc 张东亮

存储机构-优先入库以及出库前对缓存区检查

1 个父辈 e20db586
...@@ -105,7 +105,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -105,7 +105,7 @@ namespace OnlineStore.DeviceLibrary
var simpletemp = Path.Combine(pnpath, $"{imgname}-{score.ToString("##.##")}-{pn}.png"); var simpletemp = Path.Combine(pnpath, $"{imgname}-{score.ToString("##.##")}-{pn}.png");
bitmap.Save(simpletemp, ImageFormat.Png); bitmap.Save(simpletemp, ImageFormat.Png);
bitmap.Dispose(); bitmap.Dispose();
return false; return score > Config.TongsDetectThreshold;
} }
/// <summary> /// <summary>
/// 匹配抓手外观类型 /// 匹配抓手外观类型
......
...@@ -290,6 +290,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -290,6 +290,10 @@ namespace OnlineStore.DeviceLibrary
//} //}
} }
static int axisDiff = 20000; static int axisDiff = 20000;
private bool CheckTongsPos()
{
return false;
}
private void MoveResetPro() private void MoveResetPro()
{ {
if (MoveInfo.IsInWait) if (MoveInfo.IsInWait)
...@@ -699,7 +703,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -699,7 +703,11 @@ namespace OnlineStore.DeviceLibrary
// } // }
// return; // return;
//} //}
if (waitAOutStoreList.Count > 0)//&& CheckAOutDoor() if (InDoorSigCheck())
{
return;
}
if (waitAOutStoreList.Count > 0 && CheckAOutDoor())//
{ {
InOutParam param = null; InOutParam param = null;
bool result = waitAOutStoreList.TryDequeue(out param); bool result = waitAOutStoreList.TryDequeue(out param);
...@@ -710,7 +718,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -710,7 +718,7 @@ namespace OnlineStore.DeviceLibrary
return; return;
} }
} }
if (waitBOutStoreList.Count > 0)//&& CheckBOutDoor() if (waitBOutStoreList.Count > 0 && CheckBOutDoor())//
{ {
InOutParam param = null; InOutParam param = null;
bool result = waitBOutStoreList.TryDequeue(out param); bool result = waitBOutStoreList.TryDequeue(out param);
......
...@@ -275,20 +275,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -275,20 +275,17 @@ namespace OnlineStore.DeviceLibrary
case StepEnum.SI_09_ToTray: case StepEnum.SI_09_ToTray:
MoveInfo.NextMoveStep(StepEnum.SI_10_LiftTray); MoveInfo.NextMoveStep(StepEnum.SI_10_LiftTray);
LogInfo($"入库 {MoveInfo.SLog}:提升抽屉,料斗拉取升降轴到料屉提取高点P3[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"); LogInfo($"入库 {MoveInfo.SLog}:提升抽屉,料斗拉取升降轴到料屉提取高点P3[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
SaveSpecifiedImage();
PullAxis_UpdownToHighP3(); PullAxis_UpdownToHighP3();
break; break;
case StepEnum.SI_10_LiftTray: case StepEnum.SI_10_LiftTray:
MoveInfo.NextMoveStep(StepEnum.SI_11_PullTray); MoveInfo.NextMoveStep(StepEnum.SI_11_PullTray);
LogInfo($"入库 {MoveInfo.SLog}:拉抽屉到库位点,料斗拉取进出轴到料屉库位点P3/P5[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"); LogInfo($"入库 {MoveInfo.SLog}:拉抽屉到库位点,料斗拉取进出轴到料屉库位点P3/P5[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_Inout_To_P3_P5(); PullAxis_Inout_To_P3_P5();
SaveSpecifiedImage();
break; break;
case StepEnum.SI_11_PullTray: case StepEnum.SI_11_PullTray:
MoveInfo.NextMoveStep(StepEnum.SI_12_DropTrayToPos); MoveInfo.NextMoveStep(StepEnum.SI_12_DropTrayToPos);
LogInfo($"入库 {MoveInfo.SLog}:将抽屉降到库位提取点,料斗拉取升降轴到P2料屉提取水平点P2,到位后检测{trayRows[GetPosRow()]}=1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"); LogInfo($"入库 {MoveInfo.SLog}:将抽屉降到库位提取点,料斗拉取升降轴到P2料屉提取水平点P2,到位后检测{trayRows[GetPosRow()]}=1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_UpdownToMiddleP2(); PullAxis_UpdownToMiddleP2();
SaveSpecifiedImage();
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayRows[GetPosRow()], IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayRows[GetPosRow()], IO_VALUE.HIGH));
break; break;
case StepEnum.SI_12_DropTrayToPos: case StepEnum.SI_12_DropTrayToPos:
...@@ -301,7 +298,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -301,7 +298,6 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(StepEnum.SI_14_ReleaseCompress); MoveInfo.NextMoveStep(StepEnum.SI_14_ReleaseCompress);
LogInfo($"入库 {MoveInfo.SLog}:压紧轴开始缓慢释放,移栽压紧轴到压紧前点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"); LogInfo($"入库 {MoveInfo.SLog}:压紧轴开始缓慢释放,移栽压紧轴到压紧前点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
ComAxis_To_P2(); ComAxis_To_P2();
SaveSpecifiedImage();
break; break;
case StepEnum.SI_14_ReleaseCompress: case StepEnum.SI_14_ReleaseCompress:
MoveInfo.NextMoveStep(StepEnum.SI_15_UpDownBack); MoveInfo.NextMoveStep(StepEnum.SI_15_UpDownBack);
...@@ -310,7 +306,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -310,7 +306,6 @@ namespace OnlineStore.DeviceLibrary
SetBoxStatus(DeviceStatus.InStoreEnd, RunStatus.Busy, MoveInfo.MoveParam.PosInfo.PosId); SetBoxStatus(DeviceStatus.InStoreEnd, RunStatus.Busy, MoveInfo.MoveParam.PosInfo.PosId);
executeTime = (DateTime.Now - startTime).TotalSeconds.ToString("f2"); executeTime = (DateTime.Now - startTime).TotalSeconds.ToString("f2");
UpdownAxisTo_P6_P12(); UpdownAxisTo_P6_P12();
SaveSpecifiedImage();
break; break;
case StepEnum.SI_15_UpDownBack: case StepEnum.SI_15_UpDownBack:
MoveInfo.NextMoveStep(StepEnum.SI_16_LiftTray); MoveInfo.NextMoveStep(StepEnum.SI_16_LiftTray);
...@@ -323,7 +318,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -323,7 +318,6 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(StepEnum.SI_18_PutTrayMiddle); MoveInfo.NextMoveStep(StepEnum.SI_18_PutTrayMiddle);
LogInfo($"入库 {MoveInfo.SLog}:推到抽屉提取点,料斗拉取进出轴到料屉提取点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"); LogInfo($"入库 {MoveInfo.SLog}:推到抽屉提取点,料斗拉取进出轴到料屉提取点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_Inout_To_P2_P4(); PullAxis_Inout_To_P2_P4();
SaveSpecifiedImage();
break; break;
//case StepEnum.SI_17_PushTray: //case StepEnum.SI_17_PushTray:
// MoveInfo.NextMoveStep(StepEnum.SI_18_PutTrayMiddle); // MoveInfo.NextMoveStep(StepEnum.SI_18_PutTrayMiddle);
...@@ -345,7 +339,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -345,7 +339,6 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(StepEnum.SI_18_PutTrayDown); MoveInfo.NextMoveStep(StepEnum.SI_18_PutTrayDown);
//LogInfo($"入库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"); //LogInfo($"入库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_UpdownToLowP4(); PullAxis_UpdownToLowP4();
SaveSpecifiedImage();
if (CheckASide()) if (CheckASide())
{ {
LogInfo($"入库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4,同时检测{trayAColumns[GetPosColumn()]}=1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"); LogInfo($"入库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4,同时检测{trayAColumns[GetPosColumn()]}=1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
...@@ -363,10 +356,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -363,10 +356,8 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(StepEnum.SI_19_InoutBack); MoveInfo.NextMoveStep(StepEnum.SI_19_InoutBack);
LogInfo($"入库 {MoveInfo.SLog}:料斗拉取进出轴到拍照点[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"); LogInfo($"入库 {MoveInfo.SLog}:料斗拉取进出轴到拍照点[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_Inout_To_Cam(); PullAxis_Inout_To_Cam();
SaveSpecifiedImage();
break; break;
case StepEnum.SI_19_InoutBack: case StepEnum.SI_19_InoutBack:
SaveSpecifiedImage();
if (!CheckInStoreOtherSideInfo()) if (!CheckInStoreOtherSideInfo())
{ {
SetBoxStatus(DeviceStatus.StoreOnline, RunStatus.Runing); SetBoxStatus(DeviceStatus.StoreOnline, RunStatus.Runing);
......
...@@ -75,13 +75,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -75,13 +75,11 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(StepEnum.SO_04_LiftTray); MoveInfo.NextMoveStep(StepEnum.SO_04_LiftTray);
LogInfo($"出库 {MoveInfo.SLog}:提升抽屉,料斗拉取升降轴到料屉提取高点P3[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"); LogInfo($"出库 {MoveInfo.SLog}:提升抽屉,料斗拉取升降轴到料屉提取高点P3[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_UpdownToHighP3(); PullAxis_UpdownToHighP3();
SaveSpecifiedImage();
break; break;
case StepEnum.SO_04_LiftTray: case StepEnum.SO_04_LiftTray:
MoveInfo.NextMoveStep(StepEnum.SO_05_PullTray); MoveInfo.NextMoveStep(StepEnum.SO_05_PullTray);
LogInfo($"出库 {MoveInfo.SLog}:拉抽屉到库位点,料斗拉取进出轴到料屉库位点P3/P5[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"); LogInfo($"出库 {MoveInfo.SLog}:拉抽屉到库位点,料斗拉取进出轴到料屉库位点P3/P5[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_Inout_To_P3_P5(); PullAxis_Inout_To_P3_P5();
SaveSpecifiedImage();
break; break;
case StepEnum.SO_05_PullTray: case StepEnum.SO_05_PullTray:
MoveInfo.NextMoveStep(StepEnum.SO_06_DropTrayToPos); MoveInfo.NextMoveStep(StepEnum.SO_06_DropTrayToPos);
...@@ -121,7 +119,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -121,7 +119,6 @@ namespace OnlineStore.DeviceLibrary
PullAxis_Inout_To_P2_P4(); PullAxis_Inout_To_P2_P4();
MiddleAxis_To_P2(); MiddleAxis_To_P2();
XAxis_To_P1(); XAxis_To_P1();
SaveSpecifiedImage();
break; break;
//case StepEnum.SO_11_PushTray: //case StepEnum.SO_11_PushTray:
// MoveInfo.NextMoveStep(StepEnum.SO_12_PutTrayMiddle); // MoveInfo.NextMoveStep(StepEnum.SO_12_PutTrayMiddle);
...@@ -143,7 +140,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -143,7 +140,6 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(StepEnum.SO_12_PutTrayDown); MoveInfo.NextMoveStep(StepEnum.SO_12_PutTrayDown);
//LogInfo($"出库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"); //LogInfo($"出库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_UpdownToLowP4(); PullAxis_UpdownToLowP4();
SaveSpecifiedImage();
if (CheckASide()) if (CheckASide())
{ {
LogInfo($"出库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4,同时检测{trayAColumns[GetPosColumn()]}=1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"); LogInfo($"出库 {MoveInfo.SLog}:放下料屉,料斗拉取升降轴到料屉提取低点P4,同时检测{trayAColumns[GetPosColumn()]}=1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
......
...@@ -798,7 +798,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -798,7 +798,18 @@ namespace OnlineStore.DeviceLibrary
return false; return false;
} }
/// <summary>
/// 入料口有料
/// </summary>
/// <returns>true:有料</returns>
private bool InDoorSigCheck()
{
if(IOValue(IO_Type.UpperArea_Check_A).Equals(IO_VALUE.HIGH) || IOValue(IO_Type.UpperArea_Check_B).Equals(IO_VALUE.HIGH))
{
return true;
}
return false;
}
protected override void InstoreProcess() protected override void InstoreProcess()
{ {
if (MoveInfo.IsInWait) if (MoveInfo.IsInWait)
...@@ -901,10 +912,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -901,10 +912,14 @@ namespace OnlineStore.DeviceLibrary
private DateTime startOutStoreTime = DateTime.Now; private DateTime startOutStoreTime = DateTime.Now;
public override bool StartOutstore(InOutParam param) public override bool StartOutstore(InOutParam param)
{ {
//if (!OutDoorCheck(param)) if(InDoorSigCheck())
//{ {
// return false; return false;
//} }
if (!OutDoorCheck(param))
{
return false;
}
if (isInSuddenDown || isNoAirpressure_Check if (isInSuddenDown || isNoAirpressure_Check
|| !runStatus.Equals(RunStatus.Runing) || !runStatus.Equals(RunStatus.Runing)
|| !MoveInfo.MoveType.Equals(MoveType.None)) || !MoveInfo.MoveType.Equals(MoveType.None))
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!