Commit 68889301 LN

hy托盘卡顿修改。清理托盘时如果是入库的,直接清除进仓的入库任务。

1 个父辈 c6aaa1b1
......@@ -451,8 +451,8 @@ namespace OnlineStore.AssemblyLine
DialogResult resut = MessageBox.Show("确定手动清空托盘【" + num + "】的信息?\r\n " + tray.ToStr() + "", "提示", MessageBoxButtons.YesNo);
if (resut.Equals(DialogResult.Yes))
{
TrayManager.ClearInstore( tray);
TrayManager.UpdateTrayInfo(num);
TrayInfo info = TrayManager.GetTrayInfo(num);
MessageBox.Show("更新成功:\r" + info.ToStr());
LogUtil.info("界面点击手动清空托盘信息:" + info.ToStr());
......
......@@ -664,11 +664,12 @@ namespace OnlineStore.AssemblyLine
DialogResult resut = MessageBox.Show("确定手动清空所有托盘信息?", "提示", MessageBoxButtons.YesNo);
if (resut.Equals(DialogResult.Yes))
{
List<TrayInfo> tray = TrayManager.getTrayList();
List<TrayInfo> trayList = TrayManager.getTrayList();
LogUtil.info("-------------------点击:清空托盘。清空前打印托盘信息:");
foreach (TrayInfo t in tray)
foreach (TrayInfo tray in trayList)
{
LogUtil.info(t.ToStr());
TrayManager.ClearInstore(tray);
LogUtil.info(tray.ToStr());
}
TrayManager.ClearTrayInfo();
LogUtil.info("-------------------点击:清空托盘。托盘内容已清空");
......
......@@ -56,6 +56,8 @@
20201223
托盘检测经常卡主。
......
......@@ -232,7 +232,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NewMove(LineMoveType.Fixture);
runStatus = LineRunStatus.Busy;
MoveInfo.NextMoveStep(LineMoveStep.HY03_FrontStopUp);
CheckLog("托盘检测," + MoveInfo.SLog + " 检测到托盘 ,阻挡上升");
LogInfo("托盘检测," + MoveInfo.SLog + " 检测到托盘 ,阻挡上升");
if (Config.DOList.ContainsKey(IO_Type.HY_FrontStopDown))
{
IOMove(IO_Type.HY_FrontStopDown, IO_VALUE.LOW);
......@@ -264,7 +264,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NewMove(LineMoveType.Fixture);
runStatus = LineRunStatus.Busy;
MoveInfo.NextMoveStep(LineMoveStep.HY02_FrontStopDown);
CheckLog(" 托盘检测:" + MoveInfo.SLog + ",检测到前阻挡托盘,前阻挡下降");
LogInfo(" 托盘检测:" + MoveInfo.SLog + ",检测到前阻挡托盘,前阻挡下降");
ClearTrayRFID();
IOMove(IO_Type.HY_FrontStopDown, IO_VALUE.HIGH, 1200);
MoveInfo.OneWaitCanEndStep = true;
......@@ -350,7 +350,7 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo.NextMoveStep(LineMoveStep.HY04_WaitTime);
CheckLog("托盘阻挡" + MoveInfo.SLog + " 再次等待托盘信号");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(800));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
MoveInfo.OneWaitCanEndStep = true;
}
......@@ -359,7 +359,7 @@ namespace OnlineStore.DeviceLibrary
//未检测到信号或阻挡下降失败,结束处理
LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=LOW 结束处理 ");
MoveEndS();
}
}
}
else if (MoveInfo.IsStep(LineMoveStep.HY04_WaitTime))
{
......@@ -367,8 +367,9 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo.NextMoveStep(LineMoveStep.HY05_TrayCheck);
CheckLog("托盘阻挡" + MoveInfo.SLog + " 再次等待托盘信号");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
MoveInfo.OneWaitCanEndStep = true;
}
else
{
......@@ -379,28 +380,37 @@ namespace OnlineStore.DeviceLibrary
}
else if (MoveInfo.IsStep(LineMoveStep.HY05_TrayCheck))
{
//判断是否需要横移托盘,或者取放料
UpdateTrayNum();
if (IOValue(IO_Type.HY_TrayCheck).Equals(IO_VALUE.HIGH))
{
//判断是否需要横移托盘,或者取放料
UpdateTrayNum();
MoveInfo.NextMoveStep(LineMoveStep.HY05_TrayCheck);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
MoveInfo.NextMoveStep(LineMoveStep.HY05_TrayCheck);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
//先判断是否需要到出料线,在判断是否需要横移
if (TrayNeedToOutLine(currTrayNum))
{
HY31_IOL_TopUp();
//先判断是否需要到出料线,在判断是否需要横移
if (TrayNeedToOutLine(currTrayNum))
{
HY31_IOL_TopUp();
}
else if (TrayNeedHY(currTrayNum))
{
HY11_TopUpToHY();
}
else if (TrayNeedHY(currTrayNum))
{
HY11_TopUpToHY();
}
else
{
//直接放盘通过
MoveInfo.NextMoveStep(LineMoveStep.HY91_TrayCanGo);
CheckLog("托盘阻挡" + MoveInfo.SLog + " 无需处理,放托盘离开");
}
}
else
{
//直接放盘通过
MoveInfo.NextMoveStep(LineMoveStep.HY91_TrayCanGo);
CheckLog("托盘阻挡" + MoveInfo.SLog + " 无需处理,放托盘离开");
//未检测到信号或阻挡下降失败,结束处理
LogInfo(MoveInfo.SLog + "未等到信号 HY_TrayCheck=LOW 结束处理 ");
MoveEndS();
}
}
#endregion
......@@ -459,14 +469,16 @@ namespace OnlineStore.DeviceLibrary
if (DeviceID.Equals(204))
{
lineName = "C2";
}else if (DeviceID.Equals(205))
}
else if (DeviceID.Equals(205))
{
lineName = "C3";
}
else if (DeviceID.Equals(213))
{
lineName = "C6";
}else if (DeviceID.Equals(216))
}
else if (DeviceID.Equals(216))
{
lineName = "C7";
}
......@@ -477,7 +489,7 @@ namespace OnlineStore.DeviceLibrary
{
CheckLog("C1线->出料线" + MoveInfo.SLog + " ,结束处理 ");
MoveEndS();
ClearTrayRFID();
ClearTrayRFID();
}
#endregion
......
......@@ -234,7 +234,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NewMove(LineMoveType.Fixture);
runStatus = LineRunStatus.Busy;
MoveInfo.NextMoveStep(LineMoveStep.HY02_FrontStopDown);
CheckLog(" 托盘检测:" + MoveInfo.SLog + ",检测到前阻挡托盘检测,前阻挡下降,清理托盘RFID");
CheckLog(" 托盘检测:" + MoveInfo.SLog + ",前阻挡检测到托盘,前阻挡下降");
ClearTrayRFID();
IOMove(IO_Type.HY_FrontStopDown, IO_VALUE.HIGH, 1200);
MoveInfo.OneWaitCanEndStep = true;
......@@ -303,7 +303,7 @@ namespace OnlineStore.DeviceLibrary
CheckLog("托盘阻挡" + MoveInfo.SLog + " 再次等待托盘信号");
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.WaitIO(IO_Type.HY_TrayCheck, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
}
else
{
......
......@@ -584,7 +584,7 @@ namespace OnlineStore.DeviceLibrary
return false;
}
private bool RemoveInStore(InOutParam param)
public bool RemoveInStore(InOutParam param,string logName="料盘已移走")
{
if (waitInStoreList.Count > 0)
{
......@@ -605,7 +605,7 @@ namespace OnlineStore.DeviceLibrary
if (reIndex >= 0)
{
waitInStoreList.RemoveAt(reIndex);
LogInfo("*******料盘已移走,清理入库任务:【" + param.ToStr() + "】");
LogInfo("*******"+ logName + ",清理入库任务:【" + param.ToStr() + "】");
return true;
}
}
......
......@@ -209,6 +209,24 @@ namespace OnlineStore.DeviceLibrary
}
}
public static void ClearInstore(TrayInfo tray)
{
if (tray == null)
{
return;
}
//如果是入库托盘,需要清理入库消息
if (tray.InOrOutStore.Equals(1) && tray.InoutPar.InStoreNg.Equals(false) && (!tray.InoutPar.PosId.Equals("")))
{
int storeId = tray.InoutPar.GetStoreId();
if (storeId > 0 && LineManager.Line.MoveEquipMap.ContainsKey(storeId))
{
MoveEquip moveEquip = LineManager.Line.MoveEquipMap[storeId];
moveEquip.RemoveInStore(tray.InoutPar, "手动清空托盘");
}
}
}
}
}
......@@ -277,6 +277,10 @@ namespace OnlineStore.DeviceLibrary
{
LogUtil.error("StartInStore【" + id + "】【" + msg + "】失败");
}
else
{
LogUtil.info("StartInStore【" + id + "】【" + msg + "】成功");
}
}
else
{
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!