Commit 795df774 LN

1.HY9和HY15,如果是NG料直接横移。

2.入库时需要判断托盘的库位号和入库任务的库位号一致。
3.横移模块出口加延迟
1 个父辈 4a2d765f

20200105
1.获取入库库位号时需要判断是否是出库料。
2.HY9和HY15,如果是NG料直接横移。
3.入库时需要判断托盘的库位号和入库任务的库位号一致。
4.横移模块出口加延迟。
20201022
新建项目,SO664环形线
......
......@@ -641,15 +641,7 @@ namespace OnlineStore.DeviceLibrary
protected void CheckLog(string msg)
{
//if (DeviceID.Equals(201) || DeviceID.Equals(202))
//{
// LogUtil.info(Name + "" + msg);
//}
//else
{
LogUtil.debug(Name + "" + msg);
}
LogUtil.debug(Name + "" + msg);
}
protected void InLog(string msg )
{
......
......@@ -1110,19 +1110,19 @@ namespace OnlineStore.DeviceLibrary
}
if (NeedSaveParam)
{
LogInfo(" 【" + info.ToStr() + "】需要出库 ,拦截托盘 ");
LogInfo(" 【" + info.ToStr() + "】需要出库 ,拦截托盘 ");
}
return true;
}
}
else
else if (!info.IsFull)
{
bool trayCanUse = LineManager.Line.runStatus <= LineRunStatus.Wait || (!info.IsFull);
if (trayCanUse && runStatus.Equals(LineRunStatus.Busy) && MoveInfo.MoveType.Equals(LineMoveType.InStore))
//bool trayCanUse = LineManager.Line.runStatus <= LineRunStatus.Wait || (!info.IsFull);
if ((!info.IsFull) && runStatus.Equals(LineRunStatus.Busy) && MoveInfo.MoveType.Equals(LineMoveType.InStore))
{
//入料执行中, 且需要空托盘
if (MoveInfo.IsStep(LineMoveStep.FI_32_WaitTray) && MoveInfo.IsInWait.Equals(false))
if (MoveInfo.IsStep(LineMoveStep.FI_32_WaitTray) && MoveInfo.IsInWait.Equals(false))
{
//if (NeedEmptyTrayGo())
......@@ -1132,7 +1132,7 @@ namespace OnlineStore.DeviceLibrary
//}
if (NeedSaveParam)
{
{
LogUtil.info(Name + "拦截到空托盘【" + trayNum + "】,入料执行中,需要空托盘");
}
return true;
......
......@@ -159,11 +159,11 @@ namespace OnlineStore.DeviceLibrary
{
if (IOValue(IO_Type.HY_TrayCheck).Equals(IO_VALUE.HIGH))
{
trayCheck2LowWait.Stop();
trayCheckLowWait.Stop();
}
else
{
CheckStopWatch(trayCheck2LowWait, 30000, false);
CheckStopWatch(trayCheckLowWait, 30000, false);
}
if (MoveInfo.MoveType.Equals(LineMoveType.RHome) || MoveInfo.MoveType.Equals(LineMoveType.Reset))
{
......@@ -180,7 +180,7 @@ namespace OnlineStore.DeviceLibrary
private Stopwatch trayCheckWait = new Stopwatch();//检测到托盘的时间
private Stopwatch frontTrayCheckWait = new Stopwatch();
private Stopwatch trayCheck2LowWait = new Stopwatch();//上一个托盘离开的时间
private Stopwatch trayCheckLowWait = new Stopwatch();//上一个托盘离开的时间
private Stopwatch olcheckWatch = new Stopwatch();
private object lockObj = "";
......@@ -193,13 +193,13 @@ namespace OnlineStore.DeviceLibrary
{
if (IOValue(IO_Type.HY_TrayCheck).Equals(IO_VALUE.HIGH))
{
trayCheck2LowWait.Stop();
trayCheckLowWait.Stop();
CheckStopWatch(trayCheckWait, 30000, false);
}
else
{
trayCheckWait.Stop();
CheckStopWatch(trayCheck2LowWait, 30000, false);
CheckStopWatch(trayCheckLowWait, 30000, false);
}
if (Config.DIList.ContainsKey(IO_Type.HY_FrontStopCheck) && IOValue(IO_Type.HY_FrontStopCheck).Equals(IO_VALUE.HIGH))
{
......@@ -233,7 +233,14 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NewMove(LineMoveType.Fixture);
runStatus = LineRunStatus.Busy;
MoveInfo.NextMoveStep(LineMoveStep.HY03_FrontStopUp);
CheckLog("托盘检测," + MoveInfo.SLog + " 检测到托盘 ,阻挡上升");
if (DeviceID.Equals(219))
{
LogInfo("托盘检测," + MoveInfo.SLog + " 检测到托盘 ,阻挡上升");
}
else
{
CheckLog("托盘检测," + MoveInfo.SLog + " 检测到托盘 ,阻挡上升");
}
if (Config.DOList.ContainsKey(IO_Type.HY_FrontStopDown))
{
IOMove(IO_Type.HY_FrontStopDown, IO_VALUE.LOW);
......@@ -243,12 +250,12 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.HY_OL_StopDown, IO_VALUE.LOW);
MoveInfo.OneWaitCanEndStep = true;
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(20000));
}
}
else
{
bool check2IsOk = CheckStopWatch(trayCheck2LowWait, TrayWaitTime, false);
bool check2IsOk = CheckStopWatch(trayCheckLowWait, TrayWaitTime, false);
if (preTrayIsC1Line && Config.IsOutLineOut && IOValue(IO_Type.HY_OL_Tray_Check).Equals(IO_VALUE.HIGH))
{
//C1线和出料线交替处理
......@@ -261,18 +268,25 @@ namespace OnlineStore.DeviceLibrary
preTrayIsC1Line = true;
//托盘在前阻挡处
frontTrayCheckWait.Stop();
trayCheck2LowWait.Stop();
trayCheckLowWait.Stop();
MoveInfo.NewMove(LineMoveType.Fixture);
runStatus = LineRunStatus.Busy;
MoveInfo.NextMoveStep(LineMoveStep.HY02_FrontStopDown);
CheckLog(" 托盘检测:" + MoveInfo.SLog + ",检测到前阻挡托盘,前阻挡下降");
if (DeviceID.Equals(219))
{
LogInfo(" 托盘检测:" + MoveInfo.SLog + ",检测到前阻挡托盘,前阻挡下降");
}
else
{
CheckLog(" 托盘检测:" + MoveInfo.SLog + ",检测到前阻挡托盘,前阻挡下降");
}
ClearTrayRFID();
IOMove(IO_Type.HY_FrontStopDown, IO_VALUE.HIGH, 1200);
MoveInfo.OneWaitCanEndStep = true;
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_FrontStopCheck, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
CylinderMove(null, IO_Type.HY_TopCylinder_Up, IO_Type.HY_TopCylinder_Down);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(20000));
IOMove(IO_Type.HY_OL_StopDown, IO_VALUE.LOW);
}
}
......@@ -299,13 +313,13 @@ namespace OnlineStore.DeviceLibrary
}
private void HY71_OL_Wait()
{
bool check2IsOk = CheckStopWatch(trayCheck2LowWait, TrayWaitTime, false);
bool check2IsOk = CheckStopWatch(trayCheckLowWait, TrayWaitTime, false);
if (CheckStopWatch(olcheckWatch, TrayWaitTime, false) && check2IsOk)
{
preTrayIsC1Line = false;
//托盘在前阻挡处
olcheckWatch.Stop();
trayCheck2LowWait.Stop();
trayCheckLowWait.Stop();
MoveInfo.NewMove(LineMoveType.Fixture);
runStatus = LineRunStatus.Busy;
MoveInfo.NextMoveStep(LineMoveStep.HY71_OL_Wait);
......@@ -318,7 +332,7 @@ namespace OnlineStore.DeviceLibrary
internal void HY03_FrontStopUp()
{
frontTrayCheckWait.Stop();
trayCheck2LowWait.Stop();
trayCheckLowWait.Stop();
MoveInfo.NewMove(LineMoveType.Fixture);
runStatus = LineRunStatus.Busy;
MoveInfo.NextMoveStep(LineMoveStep.HY03_FrontStopUp);
......@@ -383,7 +397,7 @@ namespace OnlineStore.DeviceLibrary
else
{
//未检测到信号或阻挡下降失败,结束处理
LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=LOW 结束处理 ");
LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=HIGH 结束处理 ");
MoveEndS();
}
}
......@@ -626,6 +640,7 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo.NextMoveStep(LineMoveStep.HY56_CheckWait);
CheckLog("托盘阻挡" + MoveInfo.SLog + " 再次等待托盘信号");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
}
else if (MoveInfo.IsStep(LineMoveStep.HY56_CheckWait))
......@@ -746,6 +761,9 @@ namespace OnlineStore.DeviceLibrary
}
else if (MoveInfo.IsStep(LineMoveStep.HY92_StopDown))
{
trayCheckWait.Stop();
trayCheckLowWait.Stop();
MoveInfo.NextMoveStep(LineMoveStep.HY93_Stop2Check);
CheckLog("放盘离开" + MoveInfo.SLog + " ,等待托盘检测无信号 ");
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.LOW));
......
......@@ -309,7 +309,7 @@ namespace OnlineStore.DeviceLibrary
else
{
//未检测到信号或阻挡下降失败,结束处理
LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=LOW 结束处理 ");
LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=HIGH 结束处理 ");
MoveEndS();
}
}
......@@ -493,6 +493,7 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo.NextMoveStep(LineMoveStep.HY56_CheckWait);
CheckLog("托盘阻挡" + MoveInfo.SLog + " 再次等待托盘信号");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
}
else if (MoveInfo.IsStep(LineMoveStep.HY56_CheckWait))
......
......@@ -536,7 +536,13 @@ namespace OnlineStore.DeviceLibrary
{
return false;
}
InOutParam currCode = null;
TrayInfo tray = TrayManager.GetTrayInfo(currTrayNum);
if (tray.InoutPar.InStoreNg)
{
return false;
}
if (waitInStoreList.Count > 0)
{
lock (waitInListLock)
......@@ -549,10 +555,19 @@ namespace OnlineStore.DeviceLibrary
if (cc.TrayNumber.Equals(currTrayNum) && (!cc.WareCode.Equals("")))
//if (cc.TrayNumber.Equals(currTrayNum) && (!cc.WareCode.Equals("")) && LineServer.RightInPosId(DeviceID, cc.PosId))
{
reIndex = i;
currCode = cc;
SecondMoveInfo.MoveParam = new InOutParam(cc.TrayNumber, cc.WareCode, cc.PosId, cc.PlateH, cc.PlateW, cc.InStoreNg);
break;
if (cc.PosId.Equals(tray.InoutPar.PosId))
{
reIndex = i;
currCode = cc;
SecondMoveInfo.MoveParam = new InOutParam(cc.TrayNumber, cc.WareCode, cc.PosId, cc.PlateH, cc.PlateW, cc.InStoreNg);
break;
}
else
{
LogUtil.error(Name + "托盘信息 " + tray.ToStr() + " 与入库任务 " + cc.ToStr() + " 不一致,请检查托盘");
}
}
}
if (reIndex >= 0)
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!