Commit 04ccfb05 张东亮

存储机构开始出库时入料机构上料口空料串即变为出库料串

1 个父辈 0b9c064b
...@@ -1029,9 +1029,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -1029,9 +1029,12 @@ namespace OnlineStore.DeviceLibrary
{ {
if (isFastLoad) if (isFastLoad)
{ {
CurrShelf = BufferDataManager.LoadData<ShelfInfo>(configStr); //CurrShelf = BufferDataManager.LoadData<ShelfInfo>(configStr);
//CurrShelf.ShelfState = 1;
CurrShelf = new ShelfInfo();
isFastLoad = false; isFastLoad = false;
LogUtil.info(Name + "首次初始化料串,从配置中加载到当前料串信息:" + CurrShelf.ToStr()); //LogUtil.info(Name + "首次初始化料串,从配置中加载到当前料串信息:" + CurrShelf.ToStr());
LogUtil.info(Name + "首次初始化料串,设置当前料串为入库料串:" + CurrShelf.ToStr());
return false; return false;
} }
else else
......
...@@ -464,7 +464,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -464,7 +464,13 @@ namespace OnlineStore.DeviceLibrary
if (MoveInfo.MoveType.Equals(MoveType.None) && NoErrorAlarm()) if (MoveInfo.MoveType.Equals(MoveType.None) && NoErrorAlarm())
{ {
if (CheckStartOutPos("A下暂存区", BufferDataManager.AOutStoreInfo, IO_Type.FeedingA_Outstore_UnderArea_ReelCheck, BatchMoveList))
if (StoreManager.XLRStore.boxEquip.MoveInfo.MoveType.Equals(MoveType.OutStore))
{
CheckStartOutPos("存储机构", StoreManager.XLRStore.boxEquip.MoveInfo.MoveParam.PosInfo, IO_VALUE.HIGH, BatchMoveList);
}
else if (CheckStartOutPos("A下暂存区", BufferDataManager.AOutStoreInfo, IO_Type.FeedingA_Outstore_UnderArea_ReelCheck, BatchMoveList))
{ {
} }
...@@ -511,19 +517,63 @@ namespace OnlineStore.DeviceLibrary ...@@ -511,19 +517,63 @@ namespace OnlineStore.DeviceLibrary
CheckAxisAlarm(); CheckAxisAlarm();
} }
} }
private bool CheckStartOutPos(string posType, InOutPosInfo posInfo, IO_VALUE ioval, List<BatchMoveBean> BatchMoveList, bool shelfAutoLeave = false)
{
DoorInfo doorinfo = null;
if (posInfo != null && ioval.Equals(IO_VALUE.HIGH))
{
foreach (BatchMoveBean moveBean in BatchMoveList)
{
var curhSerial = moveBean.MoveInfo.MoveParam?.PosInfo?.hSerial;
if (!string.IsNullOrEmpty(curhSerial) && curhSerial != posInfo.hSerial)
{
LogInfo($"{posType}当前料串的 hSerial:{curhSerial},与准备出库到料串 hSerial:{posInfo.hSerial} 不符");
moveBean.ShelfNeedLeave = true;
}
else if (moveBean.MoveInfo.MoveType == MoveType.InStore && moveBean.MoveInfo.MoveStep == StepEnum.IS23_WaitAgv)
{
moveBean.MoveInfo.NextMoveStep(StepEnum.IB20_InStoreEnd);
moveBean.StartOutstore();
return true;
}
else if (moveBean.ShelfReadyOut(posInfo, shelfAutoLeave))
{
InOutParam param = new InOutParam(posInfo.ToCopy());
param.ShelfType = moveBean.ShelfType;
LogInfo($"{posType}物料{param.PosInfo.ToStr()},准备出库到料串{param.ShelfType}");
StartOutstore(param);
return true;
}
if (moveBean.MoveInfo.MoveType == MoveType.None)
{
doorinfo = moveBean.doorInfo;
}
}
if (doorinfo != null)
{
doorinfo.status = doorStatusE.needBox;
doorinfo.hasContainer = false;
}
}
return false;
}
private bool CheckStartOutPos(string posType, InOutPosInfo posInfo, String ioType, List<BatchMoveBean> BatchMoveList, bool shelfAutoLeave = false) private bool CheckStartOutPos(string posType, InOutPosInfo posInfo, String ioType, List<BatchMoveBean> BatchMoveList, bool shelfAutoLeave = false)
{ {
DoorInfo doorinfo =null; DoorInfo doorinfo = null;
if (posInfo != null && IOValue(ioType).Equals(IO_VALUE.HIGH)) if (posInfo != null && IOValue(ioType).Equals(IO_VALUE.HIGH))
{ {
foreach (BatchMoveBean moveBean in BatchMoveList) foreach (BatchMoveBean moveBean in BatchMoveList)
{ {
var curhSerial = moveBean.MoveInfo.MoveParam?.PosInfo?.hSerial; var curhSerial = moveBean.MoveInfo.MoveParam?.PosInfo?.hSerial;
if (!string.IsNullOrEmpty(curhSerial) && curhSerial != posInfo.hSerial) { if (!string.IsNullOrEmpty(curhSerial) && curhSerial != posInfo.hSerial)
{
LogInfo($"{posType}当前料串的 hSerial:{curhSerial},与准备出库到料串 hSerial:{posInfo.hSerial} 不符"); LogInfo($"{posType}当前料串的 hSerial:{curhSerial},与准备出库到料串 hSerial:{posInfo.hSerial} 不符");
moveBean.ShelfNeedLeave = true; moveBean.ShelfNeedLeave = true;
} }
else if (moveBean.MoveInfo.MoveType== MoveType.InStore && moveBean.MoveInfo.MoveStep== StepEnum.IS23_WaitAgv) { else if (moveBean.MoveInfo.MoveType == MoveType.InStore && moveBean.MoveInfo.MoveStep == StepEnum.IS23_WaitAgv)
{
moveBean.MoveInfo.NextMoveStep(StepEnum.IB20_InStoreEnd); moveBean.MoveInfo.NextMoveStep(StepEnum.IB20_InStoreEnd);
moveBean.StartOutstore(); moveBean.StartOutstore();
return true; return true;
...@@ -536,11 +586,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -536,11 +586,13 @@ namespace OnlineStore.DeviceLibrary
StartOutstore(param); StartOutstore(param);
return true; return true;
} }
if (moveBean.MoveInfo.MoveType == MoveType.None) { if (moveBean.MoveInfo.MoveType == MoveType.None)
{
doorinfo = moveBean.doorInfo; doorinfo = moveBean.doorInfo;
} }
} }
if (doorinfo != null) { if (doorinfo != null)
{
doorinfo.status = doorStatusE.needBox; doorinfo.status = doorStatusE.needBox;
doorinfo.hasContainer = false; doorinfo.hasContainer = false;
} }
...@@ -861,7 +913,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -861,7 +913,7 @@ namespace OnlineStore.DeviceLibrary
if (MoveInfo.MoveType.Equals(MoveType.None)) if (MoveInfo.MoveType.Equals(MoveType.None))
{ {
SetWarnMsg(rason+",暂停运动"); SetWarnMsg(rason + ",暂停运动");
LogUtil.info($"{Name}{rason},暂停运动,MoveStop={MoveStop},{msg},稍后复位"); LogUtil.info($"{Name}{rason},暂停运动,MoveStop={MoveStop},{msg},稍后复位");
} }
else else
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!