Commit e13d1fbd 张东亮

按顺序出库

1 个父辈 1ddd7eb7
......@@ -97,7 +97,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// B面等待出库的队列
/// </summary>
public ConcurrentQueue<InOutParam> waitBOutStoreList = new ConcurrentQueue<InOutParam>();
//public ConcurrentQueue<InOutParam> waitBOutStoreList = new ConcurrentQueue<InOutParam>();
//库位表
public List<string> PositionNumList;
/// <summary>
......@@ -803,7 +803,7 @@ namespace OnlineStore.DeviceLibrary
return;
}
}
else if (CheckAOutDoor())
else //if (CheckAOutDoor())
{
InOutParam param = null;
bool result = waitAOutStoreList.TryDequeue(out param);
......@@ -815,31 +815,31 @@ namespace OnlineStore.DeviceLibrary
}
}
}
if (waitBOutStoreList.Count > 0)//
{
if (CloseOutStoreCheck)
{
InOutParam param = null;
bool result = waitBOutStoreList.TryDequeue(out param);
if (result && param != null)
{
LogInfo("执行B面排队的出库【" + param.PosInfo.ToStr() + "】");
StartExecuctOut(param);
return;
}
}
else if (CheckBOutDoor())
{
InOutParam param = null;
bool result = waitBOutStoreList.TryDequeue(out param);
if (result && param != null)
{
LogInfo("执行B面排队的出库【" + param.PosInfo.ToStr() + "】");
StartExecuctOut(param);
return;
}
}
}
//if (waitBOutStoreList.Count > 0)//
//{
// if (CloseOutStoreCheck)
// {
// InOutParam param = null;
// bool result = waitBOutStoreList.TryDequeue(out param);
// if (result && param != null)
// {
// LogInfo("执行B面排队的出库【" + param.PosInfo.ToStr() + "】");
// StartExecuctOut(param);
// return;
// }
// }
// else if (CheckBOutDoor())
// {
// InOutParam param = null;
// bool result = waitBOutStoreList.TryDequeue(out param);
// if (result && param != null)
// {
// LogInfo("执行B面排队的出库【" + param.PosInfo.ToStr() + "】");
// StartExecuctOut(param);
// return;
// }
// }
//}
}
catch (Exception ex)
{
......
......@@ -399,7 +399,7 @@ namespace OnlineStore.DeviceLibrary
//判断排队列表中是否已存在
List<InOutParam> reviceList = new List<InOutParam>();
reviceList.AddRange(waitAOutStoreList);
reviceList.AddRange(waitBOutStoreList);
// reviceList.AddRange(waitBOutStoreList);
reviceList = (from m in reviceList where m.PosInfo.PosId.Equals(posId) select m).ToList<InOutParam>();
if (reviceList.Count > 0)
{
......
......@@ -445,14 +445,14 @@ namespace OnlineStore.DeviceLibrary
{
InOutParam inOut= new InOutParam(new InOutPosInfo(MoveInfo.MoveParam.PosInfo.barcode, MoveInfo.MoveParam.PosInfo.PosId));
LogInfo($"入库 {MoveInfo.SLog}:验证入库完成失败,将该库位出库[{inOut.PosInfo.ToStr()}][{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
if (CheckASide())
// if (CheckASide())
{
waitAOutStoreList.Enqueue(inOut);
}
else
{
waitBOutStoreList.Enqueue(inOut);
}
//else
//{
// waitBOutStoreList.Enqueue(inOut);
//}
}
break;
case StepEnum.SI_19_InoutBack:
......
......@@ -174,52 +174,52 @@ namespace OnlineStore.DeviceLibrary
break;
case StepEnum.SO_13_InoutBack:
//检查另一面是否有出库任务
if (MoveInfo.MoveParam.PosInfoBack == null)
{
if (CheckASide(MoveInfo.MoveParam))
{
if (waitBOutStoreList.Count > 0 && CheckBOutDoor())
{
if (waitBOutStoreList.TryDequeue(out InOutParam inOutParam))//B面料叉空且B面出料口无料,有出库任务
{
MoveInfo.NextMoveStep(StepEnum.SO_01_PullAxis_Ready);
LogInfo($"存储机构-出库 {MoveInfo.SLog}:A面切换到B面,B面取料[{inOutParam.PosInfo.barcode}]");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.MoveParam.PosInfoBack = MoveInfo.MoveParam.PosInfo.ToCopy();
MoveInfo.MoveParam.PosInfo = inOutParam.PosInfo.ToCopy();
MoveInfo.MoveParam.MoveP = new LineMoveP(Config, inOutParam.PosInfo.PosId);
PullAxis_Inout_To_Cam();
return;
}
}
}
else
{
if (waitAOutStoreList.Count > 0 && CheckAOutDoor())
{
if (waitAOutStoreList.TryDequeue(out InOutParam inOutParam))
{
MoveInfo.NextMoveStep(StepEnum.SO_01_PullAxis_Ready);
LogInfo($"存储机构-出库 {MoveInfo.SLog}:B面切换到A面,A面取料[{inOutParam.PosInfo.barcode}]");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.MoveParam.PosInfoBack = MoveInfo.MoveParam.PosInfo.ToCopy();
MoveInfo.MoveParam.PosInfo = inOutParam.PosInfo.ToCopy();
MoveInfo.MoveParam.MoveP = new LineMoveP(Config, inOutParam.PosInfo.PosId);
PullAxis_Inout_To_Cam();
return;
}
}
}
}
else//两夹爪都有料
{
if(MoveInfo.MoveParam.PosInfoBack.PlateW==MoveInfo.MoveParam.PosInfo.PlateW &&
MoveInfo.MoveParam.PosInfoBack.PlateH == MoveInfo.MoveParam.PosInfo.PlateH)
{
MoveInfo.NextMoveStep(StepEnum.SOB_14_GetReels_Ready);
return;
}
}
//if (MoveInfo.MoveParam.PosInfoBack == null)
//{
// if (CheckASide(MoveInfo.MoveParam))
// {
// if (waitBOutStoreList.Count > 0 && CheckBOutDoor())
// {
// if (waitBOutStoreList.TryDequeue(out InOutParam inOutParam))//B面料叉空且B面出料口无料,有出库任务
// {
// MoveInfo.NextMoveStep(StepEnum.SO_01_PullAxis_Ready);
// LogInfo($"存储机构-出库 {MoveInfo.SLog}:A面切换到B面,B面取料[{inOutParam.PosInfo.barcode}]");
// MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
// MoveInfo.MoveParam.PosInfoBack = MoveInfo.MoveParam.PosInfo.ToCopy();
// MoveInfo.MoveParam.PosInfo = inOutParam.PosInfo.ToCopy();
// MoveInfo.MoveParam.MoveP = new LineMoveP(Config, inOutParam.PosInfo.PosId);
// PullAxis_Inout_To_Cam();
// return;
// }
// }
// }
// else
// {
// if (waitAOutStoreList.Count > 0 && CheckAOutDoor())
// {
// if (waitAOutStoreList.TryDequeue(out InOutParam inOutParam))
// {
// MoveInfo.NextMoveStep(StepEnum.SO_01_PullAxis_Ready);
// LogInfo($"存储机构-出库 {MoveInfo.SLog}:B面切换到A面,A面取料[{inOutParam.PosInfo.barcode}]");
// MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
// MoveInfo.MoveParam.PosInfoBack = MoveInfo.MoveParam.PosInfo.ToCopy();
// MoveInfo.MoveParam.PosInfo = inOutParam.PosInfo.ToCopy();
// MoveInfo.MoveParam.MoveP = new LineMoveP(Config, inOutParam.PosInfo.PosId);
// PullAxis_Inout_To_Cam();
// return;
// }
// }
// }
//}
//else//两夹爪都有料
//{
// if(MoveInfo.MoveParam.PosInfoBack.PlateW==MoveInfo.MoveParam.PosInfo.PlateW &&
// MoveInfo.MoveParam.PosInfoBack.PlateH == MoveInfo.MoveParam.PosInfo.PlateH)
// {
// MoveInfo.NextMoveStep(StepEnum.SOB_14_GetReels_Ready);
// return;
// }
//}
//直接出库,执行该步骤的情况:1.另一个料叉有料;2.另一面有出库任务但出料口有料;3.另一面没有出库任务;
MoveInfo.NextMoveStep(StepEnum.SO_14_GetReels_Ready);
MoveAxisToP1();
......
......@@ -1169,19 +1169,19 @@ namespace OnlineStore.DeviceLibrary
List<InOutParam> reviceList = new List<InOutParam>();
reviceList.AddRange(waitAOutStoreList);
reviceList.AddRange(waitBOutStoreList);
//reviceList.AddRange(waitBOutStoreList);
reviceList = (from m in reviceList where m.PosInfo.PosId.Equals(param.PosInfo.PosId) select m).ToList<InOutParam>();
if (reviceList.Count == 0)
{
LogInfo(" 执行出库【" + param.PosInfo.ToStr() + "】失败,加入等待队列");
if (param.PosInfo.GetPosSide().Equals("A"))
// if (param.PosInfo.GetPosSide().Equals("A"))
{
waitAOutStoreList.Enqueue(param);
}
else if (param.PosInfo.GetPosSide().Equals("B"))
{
waitBOutStoreList.Enqueue(param);
}
//else if (param.PosInfo.GetPosSide().Equals("B"))
//{
// waitBOutStoreList.Enqueue(param);
//}
}
}
}
......
......@@ -232,15 +232,15 @@ namespace OnlineStore.XLRStore
text += param.PosInfo.ToStr() + "\r";
}
}
List<InOutParam> psB = new List<InOutParam>(boxBean.waitBOutStoreList);
if (psB.Count > 0)
{
text = "B面等待出库列表:\r";
foreach (InOutParam param in psB)
{
text += param.PosInfo.ToStr() + "\r";
}
}
//List<InOutParam> psB = new List<InOutParam>(boxBean.waitBOutStoreList);
//if (psB.Count > 0)
//{
// text = "B面等待出库列表:\r";
// foreach (InOutParam param in psB)
// {
// text += param.PosInfo.ToStr() + "\r";
// }
//}
}
}
if (!lblInstoreList.Text.Equals(text))
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!