Commit 68889301 LN

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

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