Commit 31f643d3 LN

入料口托盘放行优化

1 个父辈 b9e3113c
......@@ -56,7 +56,7 @@ namespace OnlineStore.DeviceLibrary
public static void SetStatus(string id, string shelfId = "", ClientAction action = ClientAction.None, ClientLevel level = ClientLevel.Low,bool isMust=false)
{
if (!isMust)
if (!isMust && level.Equals(ClientLevel.Low))
{
if (actionMap.ContainsKey(id))
{
......
......@@ -281,11 +281,11 @@ namespace OnlineStore.DeviceLibrary
if (IOValue(IO_Type.SL_Location_Check).Equals(IO_VALUE.HIGH))
{
level = ClientLevel.Middle;
}
if (Config.IsCanOut.Equals(1))
{
level = ClientLevel.High;
}
}
LogInfo("重置完成,出口检测到有料架,调用 " + Config.AgvOutName + " AgvClient.NeedLeave");
AgvClient.NeedLeave(Config.AgvOutName, LastOutShelfId, level);
}
......@@ -827,7 +827,7 @@ namespace OnlineStore.DeviceLibrary
}
//等待200毫秒后停止转动
Thread.Sleep(5000);
if (MoveInfo.MoveType.Equals(LineMoveStep.FI_03_LineStart))
if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_03_LineStart))
{
LogUtil.info(logName + " 等待5000后, MoveInfo.MoveType= FI_03_LineStart 不需要停止链条转动");
}
......
......@@ -446,9 +446,14 @@ namespace OnlineStore.DeviceLibrary
}
}
}
private void TrayMoveOk()
private void TrayMoveOk(bool needCheck = false)
{
if (needCheck && (!SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_11_CodeRember)))
{
return;
}
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_12_MoveOk);
InLog("料盘移栽" + MoveInfo.SLog + ","+SecondMoveInfo.SLog+":托盘开始放行");
if (Config.SidesWayNum > 0)
{
if (CylinderIsOk(IO_Type.SW_LocationCylinder_Up, IO_Type.SW_LocationCylinder_Down))
......@@ -871,11 +876,6 @@ namespace OnlineStore.DeviceLibrary
{
if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_11_CodeRember))
{
// MoveInfo.NextMoveStep(LineMoveStep.FI_21_UpdownAxisToP2);
//int targetPositon = Config.GetUpdownP2Detial(LastHeight, LastWidth);
//InLog("料盘移栽" + MoveInfo.SLog + ":移栽伺服下降到P2:" + targetPositon + ",托盘号【" + currTrayNum + "】,获取库位号,更新托盘信息");
//UpdownAxis.AbsMove(MoveInfo, targetPositon, Config.UpdownAxis_P2Speed);
MoveInfo.NextMoveStep(LineMoveStep.FI_24_CylinderDown);
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Up, IO_Type.SL_MoveCylinder_Down);
if (!MoveInfo.ShelfNoTray)
......@@ -933,50 +933,32 @@ namespace OnlineStore.DeviceLibrary
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_25_CylinderRelax))
{
MoveInfo.NextMoveStep(LineMoveStep.FI_26_CylinderUp);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up);
if (IOValue(IO_Type.SL_AxisLocationCheck).Equals(IO_VALUE.LOW) && MoveInfo.ShelfNoTray.Equals(false))
{
InLog("料盘移栽" + MoveInfo.SLog + ":上料横移机构上升,上料轴开始慢速上升到P3点,等待检测到料盘");
BatchAxisToP3(false);
}
else
{
InLog("料盘移栽" + MoveInfo.SLog + ":上料横移机构上升 ");
}
if (Config.SidesWayNum > 0)
{
InLog(MoveInfo.SLog + " 提前下降顶升气缸 ,环形线定位气缸先下降");
CylinderMove(null, IO_Type.SW_LocationCylinder_Up, IO_Type.SW_LocationCylinder_Down);
if (Config.SidesWayNum.Equals(1))
{
Task.Factory.StartNew(delegate
{
//需要等待500再下降
Thread.Sleep(500);
CylinderMove(null, IO_Type.SW_TopCylinder_Up, IO_Type.SW_TopCylinder_Down);
});
}
FI_27_CylinderUp();
}
else
{
InLog(MoveInfo.SLog + " 提前顶升下降, 顶升气缸下降)");
CylinderMove(null, IO_Type.FL_TopCylinder_Up, IO_Type.FL_TopCylinder_Down);
MoveInfo.NextMoveStep(LineMoveStep.FI_26_WaitCylinderUp);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_MoveCylinder_Down, IO_VALUE.LOW));
CylinderMove(null, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up);
}
TrayPreMove();
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_26_CylinderUp))
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_26_WaitCylinderUp))
{
MoveInfo.NextMoveStep(LineMoveStep.FI_27_UpDownAxisToP1);
InLog("料盘移栽" + MoveInfo.SLog + ":升降伺服到P1点,托盘开始放行");
FI_27_CylinderUp();
TrayMoveOk();
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_27_CylinderUp))
{
MoveInfo.NextMoveStep(LineMoveStep.FI_28_UpDownAxisToP1);
InLog("料盘移栽" + MoveInfo.SLog + ":升降伺服到P1点");
TrayMoveOk(true);
UpdownAxis.AbsMove(MoveInfo, Config.UpDownAxisP1, Config.UpdownAxis_P1Speed);
// SecondMoveInfo.NextMoveStep(LineMoveStep.MO_12_MoveOk);
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_27_UpDownAxisToP1))
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_28_UpDownAxisToP1))
{
InLog("料盘移栽" + MoveInfo.SLog + ":上料横移机构上升已到位 ");
CheckHasTray();
......@@ -1062,6 +1044,44 @@ namespace OnlineStore.DeviceLibrary
#endregion
}
private void FI_27_CylinderUp()
{
MoveInfo.NextMoveStep(LineMoveStep.FI_27_CylinderUp);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up);
if (IOValue(IO_Type.SL_AxisLocationCheck).Equals(IO_VALUE.LOW) && MoveInfo.ShelfNoTray.Equals(false))
{
InLog("料盘移栽" + MoveInfo.SLog + ":上料横移机构上升,上料轴开始慢速上升到P3点,等待检测到料盘");
BatchAxisToP3(false);
}
else
{
InLog("料盘移栽" + MoveInfo.SLog + ":上料横移机构上升 ");
}
}
private void TrayPreMove()
{
if (Config.SidesWayNum > 0)
{
InLog(MoveInfo.SLog + " 提前下降顶升气缸 ,环形线定位气缸先下降");
CylinderMove(null, IO_Type.SW_LocationCylinder_Up, IO_Type.SW_LocationCylinder_Down);
if (Config.SidesWayNum.Equals(1))
{
Task.Factory.StartNew(delegate
{
//需要等待500再下降
Thread.Sleep(500);
CylinderMove(null, IO_Type.SW_TopCylinder_Up, IO_Type.SW_TopCylinder_Down);
});
}
}
else
{
InLog(MoveInfo.SLog + " 提前顶升下降, 顶升气缸下降)");
CylinderMove(null, IO_Type.FL_TopCylinder_Up, IO_Type.FL_TopCylinder_Down);
}
}
private void FI_21_BatchAxisDown()
{
// MoveInfo.NextMoveStep(LineMoveStep.FI_21_BatchAxisDown);
......
......@@ -466,7 +466,7 @@ namespace OnlineStore.DeviceLibrary
MoveEndS();
// MoveInfo.NextMoveStep(LineMoveStep.FO_39_OutLineRun);
OutLog("送出料串: " + MoveInfo.SLog + ", 出口线体运转,料架到达出口处, 通知AGV取空料架, 出料结束");
AgvClient.NeedLeave(Config.AgvOutName, LastOutShelfId,Asa.ClientLevel.Low);
AgvClient.NeedLeave(Config.AgvOutName, LastOutShelfId,Asa.ClientLevel.High);
}
else if (MoveInfo.MoveStep >= LineMoveStep.FO_211_AxisDownMove && MoveInfo.MoveStep < LineMoveStep.FO_30_BatchAxisToP2)
{
......
......@@ -669,20 +669,19 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// 料盘移栽: 上料气缸放松
/// </summary>
FI_25_CylinderRelax ,
FI_25_CylinderRelax,
/// <summary>
/// 料盘移栽: 上料横移机构上升
/// </summary>
FI_26_WaitCylinderUp,
/// <summary>
/// 料盘移栽:上料横移机构上升,定位或者顶升可以先下降
/// </summary>
FI_26_CylinderUp,
FI_27_CylinderUp,
/// <summary>
/// 料盘移栽:升降伺服到P1点
/// </summary>
FI_27_UpDownAxisToP1,
///// <summary>
///// 料盘移栽:上料横移机构到取料端
///// </summary>
//FI_23_MoveCylinder_Take = 11023,
FI_28_UpDownAxisToP1,
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!