Commit 3977416b LN

入料托盘逻辑修改。

1 个父辈 b972efa0
......@@ -519,7 +519,7 @@ namespace OnlineStore.DeviceLibrary
int targetPositon = Config.GetUpdownP2Detial(LastHeight, LastWidth);
UpdownAxis.AbsMove(MoveInfo, targetPositon, Config.UpdownAxis_P2Speed);
LastPosParam.TrayNumber = currTrayNum;
InLog("料盘移栽" + MoveInfo.SLog + ":升降轴到P2: [" + targetPositon + "] 暂不更新托盘信息");
InLog("料盘移栽" + MoveInfo.SLog + ":升降轴到P2: [" + targetPositon + "] 暂不更新托盘["+currTrayNum+"]信息");
if (IOValue(IO_Type.SL_AxisLocationCheck).Equals(IO_VALUE.LOW) && MoveInfo.ShelfNoTray.Equals(false))
{
......@@ -1200,52 +1200,6 @@ namespace OnlineStore.DeviceLibrary
//是出料的模块
if (Config.IsCanOut.Equals(1))
{
////此托盘是紧急出料盘,需要通过料架出库
//bool debugNeed = (runStatus >= LineRunStatus.Runing) && info.IsFull && info.InOrOutStore.Equals(2);
//debugNeed = false;
//bool isJinji = (param.cutReel||param.urgentReel) && info.InOrOutStore.Equals(2) && info.IsFull && runStatus >= LineRunStatus.Runing;
////bool isJinji = (param.urgentReel || param.cutReel) && info.InOrOutStore.Equals(2) && info.IsFull && runStatus >= LineRunStatus.Runing;
//if (debugNeed || isJinji)
//{
// //判断是否有料架,是否可以出库
// if (IOValue(IO_Type.SL_Location_Check).Equals(IO_VALUE.LOW))
// {
// LogUtil.error(Name + " 【" + info.ToStr() + "】需要出库,定位工位无料架,暂不处理", DeviceID * 1000 + 16);
// return false;
// }
// else if (OutStoreHeight < 0)
// {
// LogUtil.error(Name + " 【" + info.ToStr() + "】需要出库,料架未准备好,暂不处理", DeviceID * 1000 + 17);
// return false;
// }
// //如果已经开始送出料架,暂不处理
// if (MoveInfo.MoveType.Equals(LineMoveType.OutStore) && MoveInfo.MoveStep >= LineMoveStep.FO_51_BatchAxisToP2)
// {
// LogUtil.error(Name + " 【" + info.ToStr() + "】需要出库,正在送出料架,暂不处理", DeviceID * 1000 + 18);
// return false;
// }
// string lastXuniRfid = LastOutParam.rfid;
// if (String.IsNullOrEmpty(lastXuniRfid).Equals(false) && (!lastXuniRfid.Equals(param.rfid)))
// {
// //如果流水线还有次料架的任务,暂不送出
// int count = TrayManager.GetOutTaskByRfid(lastXuniRfid);
// if (count > 0)
// {
// LogUtil.error(Name + " 【" + info.ToStr() + "】需要出库,料架号不一致[" + lastXuniRfid + "][" + param.rfid + "],当前料架还有【" + count + "】个任务,托盘先离开", DeviceID * 1000 + 19);
// return false;
// }
// }
// //if (NeedSaveParam)
// //{
// // LogInfo(" 【" + info.ToStr() + "】需要出库 ,拦截托盘 ");
// //}
// return true;
//}
}
else if (!info.IsFull)
{
......@@ -1254,11 +1208,11 @@ namespace OnlineStore.DeviceLibrary
{
//入料执行中, 且需要空托盘
if (MoveInfo.IsStep(LineMoveStep.FI_32_WaitTray) && MoveInfo.IsInWait.Equals(false))
{
{
return true;
}
//入料执行中, 可以提前拦截托盘
else if (MoveInfo.MoveStep >= LineMoveStep.FI_22_WaitTime && MoveInfo.MoveStep <= LineMoveStep.FI_32_WaitTray)
else if (MoveInfo.MoveStep >= LineMoveStep.FI_22_WaitTime && MoveInfo.MoveStep <= LineMoveStep.FI_32_WaitTray)
{
//如果报警直接离开
if ((!alarmType.Equals(LineAlarmType.None)) || WarnMsg.Contains("获取库位号超时"))
......@@ -1267,21 +1221,18 @@ namespace OnlineStore.DeviceLibrary
}
List<MoveEquip> equips = new List<MoveEquip>(LineManager.Line.MoveEquipMap.Values);
//如果有移栽在等待空托盘,需要放行
foreach(MoveEquip move in equips)
foreach (MoveEquip move in equips)
{
if (move.IsWaitEmptyTray())
{
return false;
}
}
return true;
}
return true;
}
}
}
//if ( LineManager.Line.runStatus >= LineRunStatus.HomeMoving && LineManager.Line.CanProcessLine())
//{
// LogUtil.debug(" 【" + info.ToStr() + "】不需要出入库");
//}
}
catch (Exception ex)
{
......@@ -1306,6 +1257,10 @@ namespace OnlineStore.DeviceLibrary
if (MoveInfo.IsStep(LineMoveStep.FI_32_WaitTray) && MoveInfo.IsInWait.Equals(false))
{
return true;
}
else if (MoveInfo.MoveStep > LineMoveStep.FI_32_WaitTray && MoveInfo.MoveStep <= LineMoveStep.FI_37_TrayMoveOk)
{
return true;
}
}
}
......
......@@ -353,23 +353,6 @@ namespace OnlineStore.DeviceLibrary
FeedingEquip feed = LineManager.Line.FeedingEquipMap[Config.WorkDeviceId];
if (feed.Config.IsCanOut.Equals(1))
{
//TrayInfo trayInfo = TrayManager.GetTrayInfo(currTrayNum);
////紧急出料
//if (feed.StartTrayOut(trayInfo.InoutPar))
//{
// MoveInfo.NextMoveStep(LineMoveStep.HY08_SL_WaitProcessReel);
// CheckLog("托盘阻挡" + MoveInfo.SLog + " " + feed.Name + "始抓料,等待料盘放入或料盘离开 ");
//}
//else if (MoveInfo.IsTimeOut(30))
//{
// MoveTimeOut(MoveInfo, "等待" + feed.Name + "开始出库超时");
// //如果当前无料串,或者料串已离开,直接放行 托盘
// TrayCanLeave();
//}
//else if (MoveInfo.IsTimeOut(20))
//{
// MoveTimeOut(MoveInfo, "等待" + feed.Name + "开始出库超时");
//}
}
else
{
......@@ -542,7 +525,7 @@ namespace OnlineStore.DeviceLibrary
FeedingEquip feedT = LineManager.Line.FeedingEquipMap[Config.WorkDeviceId];
if (!feedT.WaitEmptyTray())
{
LogUtil.info(Name + " " + MoveInfo.SLog + " 已等待15秒,且[" + feedT.Name + "]未开始等待空托盘,先放托盘离开");
LogUtil.info(Name + " " + MoveInfo.SLog + " 已等待15秒,且[" + feedT.Name + "]未开始等待空托盘,先放托盘["+currTrayNum+"]离开");
TrayCanLeave();
}
}
......
......@@ -375,11 +375,11 @@ namespace OnlineStore.DeviceLibrary
return true;
}
//TODO 调试模式直接返回true
if (IsDebug && hy.runStatus <= LineRunStatus.Wait)
{
return true;
}
////TODO 调试模式直接返回true
//if (IsDebug && hy.runStatus <= LineRunStatus.Wait)
//{
// return true;
//}
}
}
return false;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!