Commit 33e47724 LN

入料料架送出时增加延迟。出料随意放逻辑修改。

1 个父辈 33c9f43e
...@@ -608,26 +608,41 @@ namespace OnlineStore.DeviceLibrary ...@@ -608,26 +608,41 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.IsStep(LineMoveStep.FI_58_WaitShelfGo)) else if (MoveInfo.IsStep(LineMoveStep.FI_58_WaitShelfGo))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_59_LineStop); MoveInfo.NextMoveStep(LineMoveStep.FI_59_WaitTime);
InLog("上料完成" + MoveInfo.SLog + ", 横移电机再转动3秒,等待料架到达出口");
IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.HIGH);
int time = 200;
if (HasOutLine)
{
time = 3000;
}
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(time));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Out_Check, IO_VALUE.HIGH));
}
else if (MoveInfo.IsStep(LineMoveStep.FI_59_WaitTime))
{
MoveInfo.NextMoveStep(LineMoveStep.FI_60_LineStop);
InLog("上料完成" + MoveInfo.SLog + ", 料架到达出口,线体横移电机停止 "); InLog("上料完成" + MoveInfo.SLog + ", 料架到达出口,线体横移电机停止 ");
IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.LOW); IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.LOW);
IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.LOW); IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.LOW);
IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.LOW); IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.LOW);
} }
else if (MoveInfo.IsStep(LineMoveStep.FI_59_LineStop)) else if (MoveInfo.IsStep(LineMoveStep.FI_60_LineStop))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_60_TopDown); MoveInfo.NextMoveStep(LineMoveStep.FI_61_TopDown);
InLog("上料完成" + MoveInfo.SLog + ", 料架到达出口,顶升气缸下降 ,清理缓存料架RFID "); InLog("上料完成" + MoveInfo.SLog + ", 料架到达出口,顶升气缸下降 ,清理缓存料架RFID ");
UpdateLastShelfID(); UpdateLastShelfID();
TopCylinderDown(MoveInfo); TopCylinderDown(MoveInfo);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300));
} }
else if (MoveInfo.IsStep(LineMoveStep.FI_60_TopDown)) else if (MoveInfo.IsStep(LineMoveStep.FI_61_TopDown))
{ {
if (HasOutLine) if (HasOutLine)
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_61_OutLineRun); MoveInfo.NextMoveStep(LineMoveStep.FI_62_OutLineRun);
InLog("送出料串: " + MoveInfo.SLog + ", 出料线阻挡上升,出料线体转动5秒钟 或等待出料口信号亮"); InLog("送出料串: " + MoveInfo.SLog + ", 出料线阻挡上升,出料线体转动5秒钟 或等待出料口信号亮");
IOMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW); IOMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW);
IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.HIGH); IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.HIGH);
...@@ -645,7 +660,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -645,7 +660,7 @@ namespace OnlineStore.DeviceLibrary
AgvClient.NeedLeave(Config.AgvOutName, LastOutShelfId, ClientLevel.Low); AgvClient.NeedLeave(Config.AgvOutName, LastOutShelfId, ClientLevel.Low);
} }
} }
else if (MoveInfo.IsStep(LineMoveStep.FI_61_OutLineRun)) else if (MoveInfo.IsStep(LineMoveStep.FI_62_OutLineRun))
{ {
MoveEndS(); MoveEndS();
LastOutShelfId = CurrShelfId; LastOutShelfId = CurrShelfId;
......
...@@ -468,28 +468,42 @@ namespace OnlineStore.DeviceLibrary ...@@ -468,28 +468,42 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.IsStep(LineMoveStep.FO_58_WaitShelfGo)) else if (MoveInfo.IsStep(LineMoveStep.FO_58_WaitShelfGo))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_59_LineStop); MoveInfo.NextMoveStep(LineMoveStep.FO_59_WaitTime);
OutLog("送出料串:" + MoveInfo.SLog + ", 横移电机再转动3秒,等待料架到达出口");
IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.HIGH);
IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.HIGH);
int time = 200;
if (HasOutLine)
{
time = 3000;
}
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(time));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Out_Check, IO_VALUE.HIGH));
}
else if (MoveInfo.IsStep(LineMoveStep.FO_59_WaitTime))
{
MoveInfo.NextMoveStep(LineMoveStep.FO_60_LineStop);
OutLog("送出料串: " + MoveInfo.SLog + ", 料架到达出口,线体横移电机停止 "); OutLog("送出料串: " + MoveInfo.SLog + ", 料架到达出口,线体横移电机停止 ");
IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.LOW); IOMove(IO_Type.SL_LocationSideWay_Run, IO_VALUE.LOW);
IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.LOW); IOMove(IO_Type.SL_OutSideWay_Run, IO_VALUE.LOW);
IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.LOW); IOMove(IO_Type.SL_RollerLine_Run, IO_VALUE.LOW);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300));
} }
else if (MoveInfo.IsStep(LineMoveStep.FO_60_LineStop))
else if (MoveInfo.IsStep(LineMoveStep.FO_59_LineStop))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_60_TopDown); MoveInfo.NextMoveStep(LineMoveStep.FO_61_TopDown);
OutLog("送出料串: " + MoveInfo.SLog + ", 料架到达出口,顶升气缸下降 ,清空LastOutParam,清理缓存料架RFID "); OutLog("送出料串: " + MoveInfo.SLog + ", 料架到达出口,顶升气缸下降 ,清空LastOutParam,清理缓存料架RFID ");
UpdateLastShelfID(); UpdateLastShelfID();
TopCylinderDown(MoveInfo); TopCylinderDown(MoveInfo);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300));
LastOutParam = new InOutParam(); LastOutParam = new InOutParam();
} }
else if (MoveInfo.IsStep(LineMoveStep.FO_60_TopDown)) else if (MoveInfo.IsStep(LineMoveStep.FO_61_TopDown))
{ {
if (HasOutLine) if (HasOutLine)
{ {
MoveInfo.NextMoveStep(LineMoveStep.FO_61_OutLineRun); MoveInfo.NextMoveStep(LineMoveStep.FO_62_OutLineRun);
OutLog("送出料串: " + MoveInfo.SLog + ", 出料线阻挡上升,出料线体转动5秒钟 或等待出料口信号亮"); OutLog("送出料串: " + MoveInfo.SLog + ", 出料线阻挡上升,出料线体转动5秒钟 或等待出料口信号亮");
IOMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW); IOMove(IO_Type.SL_Out_StopDown, IO_VALUE.LOW);
IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.HIGH); IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.HIGH);
...@@ -506,7 +520,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -506,7 +520,7 @@ namespace OnlineStore.DeviceLibrary
AgvClient.NeedLeave(Config.AgvOutName, LastOutShelfId, Asa.ClientLevel.High); AgvClient.NeedLeave(Config.AgvOutName, LastOutShelfId, Asa.ClientLevel.High);
} }
} }
else if (MoveInfo.IsStep(LineMoveStep.FO_61_OutLineRun)) else if (MoveInfo.IsStep(LineMoveStep.FO_62_OutLineRun))
{ {
MoveEndS(); MoveEndS();
OutLog("送出料串: " + MoveInfo.SLog + ", 出料线体停止,料架到达出口处, 通知AGV取空料架, 出料结束"); OutLog("送出料串: " + MoveInfo.SLog + ", 出料线体停止,料架到达出口处, 通知AGV取空料架, 出料结束");
......
...@@ -883,7 +883,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -883,7 +883,7 @@ namespace OnlineStore.DeviceLibrary
PreIsToOut = true; PreIsToOut = true;
//横移一个放一个 //横移一个放一个
MoveInfo.MoveParam = new InOutParam(trayNum); MoveInfo.MoveParam = new InOutParam(trayNum);
LogInfo(" 托盘需要横移到出料线:托盘横移到出料线测试功能打开"); LogInfo(" C1->出料线:托盘横移到出料线测试功能打开");
return true; return true;
} }
else else
...@@ -900,7 +900,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -900,7 +900,7 @@ namespace OnlineStore.DeviceLibrary
InOutParam param = trayInfo.InoutPar; InOutParam param = trayInfo.InoutPar;
if (trayInfo.IsFull && trayInfo.InoutPar.InStoreNg && this.DeviceID.Equals(216)) if (trayInfo.IsFull && trayInfo.InoutPar.InStoreNg && this.DeviceID.Equals(216))
{ {
LogInfo(" 托盘需要横移到出料线:入料NG料" + "" + param.ToStr()); LogInfo(" C1->出料线:NG料" + "" + param.ToStr());
//如果分配了库位,需要调用取消 //如果分配了库位,需要调用取消
if (trayInfo.InoutPar.WareCode != "" && trayInfo.InoutPar.PosId != "") if (trayInfo.InoutPar.WareCode != "" && trayInfo.InoutPar.PosId != "")
{ {
...@@ -912,14 +912,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -912,14 +912,14 @@ namespace OnlineStore.DeviceLibrary
else if (trayInfo.InOrOutStore.Equals(ReelType.OutStore) && param.urgentReel && this.DeviceID.Equals(216)) else if (trayInfo.InOrOutStore.Equals(ReelType.OutStore) && param.urgentReel && this.DeviceID.Equals(216))
{ {
//紧急料到NG箱 //紧急料到NG箱
LogInfo(" 托盘需要横移到出料线:紧急出料" + "" + param.ToStr()); LogInfo(" C1->出料线:紧急料" + "" + param.ToStr());
MoveInfo.MoveParam = param; MoveInfo.MoveParam = param;
return true; return true;
} }
else if (trayInfo.InOrOutStore.Equals(ReelType.OutStore) && param.urgentReel.Equals(false) && param.cutReel.Equals(false)) else if (trayInfo.InOrOutStore.Equals(ReelType.OutStore) && param.urgentReel.Equals(false) && param.cutReel.Equals(false))
{ {
LogInfo(" 托盘需要横移到出料线:工单出库料" + "" + param.ToStr()); LogInfo(" C1->出料线:工单料" + "" + param.ToStr());
List<int> leftLineList= new List<int> { 204, 206 }; List<int> leftLineList= new List<int> { 204, 206 };
List<int> rightLineList = new List<int> { 213, 216 }; List<int> rightLineList = new List<int> { 213, 216 };
List<int> mustLine = new List<int>(); List<int> mustLine = new List<int>();
...@@ -976,7 +976,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -976,7 +976,7 @@ namespace OnlineStore.DeviceLibrary
{ {
if (mustLine.Contains(DeviceID)) if (mustLine.Contains(DeviceID))
{ {
LogInfo(" 托盘需要横移到出料线:工单出料,必须线" + "" + param.ToStr()); LogInfo(" C1->出料线:工单料,必须线" + "" + param.ToStr());
MoveInfo.MoveParam = param; MoveInfo.MoveParam = param;
return true; return true;
} }
...@@ -985,7 +985,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -985,7 +985,7 @@ namespace OnlineStore.DeviceLibrary
{ {
if (firstLine.Contains(DeviceID) ) if (firstLine.Contains(DeviceID) )
{ {
LogInfo(" 托盘需要横移到出料线:工单出料,优先线" + "" + param.ToStr()); LogInfo(" C1->出料线:工单料,优先线" + "" + param.ToStr());
MoveInfo.MoveParam = param; MoveInfo.MoveParam = param;
return true; return true;
} }
...@@ -994,17 +994,34 @@ namespace OnlineStore.DeviceLibrary ...@@ -994,17 +994,34 @@ namespace OnlineStore.DeviceLibrary
TimeSpan span = DateTime.Now - trayInfo.LastUpdateTime; TimeSpan span = DateTime.Now - trayInfo.LastUpdateTime;
if (span.TotalSeconds > 300) if (span.TotalSeconds > 300)
{ {
LogInfo(" 托盘需要横移到出料线:工单出料,超时五分钟" + "" + param.ToStr()); LogInfo(" C1->出料线:工单料,超时五分钟" + "" + param.ToStr());
MoveInfo.MoveParam = param; MoveInfo.MoveParam = param;
return true; return true;
} }
} }
} }
else else
{ {
LogInfo(" 托盘需要横移到出料线:工单出料,随意放" + "" + param.ToStr()); if (DeviceID.Equals(216) || DeviceID.Equals(213))
MoveInfo.MoveParam = param; {
return true; if (LastValue <= 2)
{
LogInfo(" C1->出料线:工单料,随意放"+ LastValue+"," + "" + param.ToStr());
LastValue++;
MoveInfo.MoveParam = param;
return true;
}
else
{
LastValue = 0;
}
}
else
{
LogInfo(" C1->出料线:工单料,随意放" + "" + param.ToStr());
MoveInfo.MoveParam = param;
return true;
}
} }
} }
} }
...@@ -1016,8 +1033,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -1016,8 +1033,8 @@ namespace OnlineStore.DeviceLibrary
} }
return false; return false;
} }
private int LastValue = 0;
#region 阻挡气缸处理 #region 阻挡气缸处理
private void HY_StopCylinderUp(LineMoveInfo moveinfo = null) private void HY_StopCylinderUp(LineMoveInfo moveinfo = null)
......
...@@ -646,29 +646,25 @@ namespace OnlineStore.DeviceLibrary ...@@ -646,29 +646,25 @@ namespace OnlineStore.DeviceLibrary
///上料完成,等待料架到达出口 ///上料完成,等待料架到达出口
/// </summary> /// </summary>
FI_58_WaitShelfGo, FI_58_WaitShelfGo,
/// <summary>
/// 到达出口后再转动3秒
/// </summary>
FI_59_WaitTime,
/// <summary> /// <summary>
///上料完成, 料架到达出口,线体横移电机停止 ///上料完成, 料架到达出口,线体横移电机停止
/// </summary> /// </summary>
FI_59_LineStop, FI_60_LineStop,
/// <summary> /// <summary>
///上料完成, 料架到达出口,顶升气缸下降,定位气缸下降, ///上料完成, 料架到达出口,顶升气缸下降,定位气缸下降,
/// </summary> /// </summary>
FI_60_TopDown, FI_61_TopDown,
/// <summary> /// <summary>
///上料完成, 出口线体运转,料架到达出口处, 通知AGV取空料架 ///上料完成, 出口线体运转,料架到达出口处, 通知AGV取空料架
/// </summary> /// </summary>
FI_61_OutLineRun,
/// <summary>
///上料完成, AGV到达,继续转动出口线体,送走出料料架,
/// </summary>
FI_62_OutLineRun, FI_62_OutLineRun,
/// <summary>
///上料完成, 料架送出,
/// </summary>
FI_63_OutLineRun,
#endregion #endregion
#region 入料装置出料处理,2201 开始 #region 入料装置出料处理,2201 开始
...@@ -820,29 +816,25 @@ namespace OnlineStore.DeviceLibrary ...@@ -820,29 +816,25 @@ namespace OnlineStore.DeviceLibrary
///出料完成, 等待料架离开定位工位 ///出料完成, 等待料架离开定位工位
/// </summary> /// </summary>
FO_58_WaitShelfGo, FO_58_WaitShelfGo,
/// <summary>
///出料完成, 再转动3秒后停止
/// </summary>
FO_59_WaitTime,
/// <summary> /// <summary>
///出料完成, 料架到达出口,线体横移电机停止 ///出料完成, 料架到达出口,线体横移电机停止
/// </summary> /// </summary>
FO_59_LineStop, FO_60_LineStop,
/// <summary> /// <summary>
///出料完成, 料架到达出口,顶升气缸下降,定位气缸下降, ///出料完成, 料架到达出口,顶升气缸下降,定位气缸下降,
/// </summary> /// </summary>
FO_60_TopDown, FO_61_TopDown,
/// <summary> /// <summary>
///出料完成, 出口线体运转,料架到达出口处, 通知AGV取空料架 ///出料完成, 出口线体运转,料架到达出口处, 通知AGV取空料架
/// </summary> /// </summary>
FO_61_OutLineRun,
/// <summary>
///出料完成, AGV到达,继续转动出口线体,送走出料料架,
/// </summary>
FO_62_OutLineRun, FO_62_OutLineRun,
/// <summary>
///出料完成, 料架送出,
/// </summary>
FO_63_OutLineRun,
#endregion #endregion
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!