Commit 9e6f100f LN

仓门口的料没抓起时重抓一次。

1 个父辈 8f8742a5
...@@ -656,18 +656,27 @@ namespace OnlineStore.DeviceLibrary ...@@ -656,18 +656,27 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info(Name + " " + posId + msg); LogUtil.info(Name + " " + posId + msg);
} }
} }
protected void OutLog(string msg) /// <summary>
///
/// </summary>
/// <param name="msg"></param>
/// <param name="levle">-1是默认值,0时打印debug,1打印info</param>
protected void OutLog(string msg, int levle = -1)
{ {
string posId = MoveInfo.MoveParam != null ? "["+currTrayNum+"][" + MoveInfo.MoveParam.PosId + "][" + MoveInfo.MoveParam.WareCode + "]" : ""; string posId = MoveInfo.MoveParam != null ? "[" + currTrayNum + "][" + MoveInfo.MoveParam.PosId + "][" + MoveInfo.MoveParam.WareCode + "]" : "";
//baseConfig.DType.Equals(DeviceType.HYEquip)
if (baseConfig.DType.Equals(DeviceType.MoveEquip)) if (levle.Equals(-1) && baseConfig.DType.Equals(DeviceType.MoveEquip))
{ {
LogUtil.debug(Name + " " + posId + msg); levle = 0;
} }
else if (levle.Equals(1))
{ {
LogUtil.info(Name + " " + posId + msg); LogUtil.info(Name + " " + posId + msg);
} }
else if (levle.Equals(0))
{
LogUtil.debug(Name + " " + posId + msg);
}
} }
public virtual string GetMoveStr() public virtual string GetMoveStr()
......
...@@ -311,11 +311,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -311,11 +311,11 @@ namespace OnlineStore.DeviceLibrary
//前进后退气缸后退以后才可以出库 //前进后退气缸后退以后才可以出库
else if (move.runStatus.Equals(LineRunStatus.Busy) && move.MoveInfo.MoveType.Equals(LineMoveType.OutStore)) else if (move.runStatus.Equals(LineRunStatus.Busy) && move.MoveInfo.MoveType.Equals(LineMoveType.OutStore))
{ {
if (move.MoveInfo.MoveStep >= (LineMoveStep.MO_58_CylinderDown)) if (move.MoveInfo.MoveStep >= (LineMoveStep.MO_60_CylinderDown))
{ {
return true; return true;
} }
else if (move.MoveInfo.IsStep(LineMoveStep.MO_57_CylinderAfter) && move.MoveInfo.IsInWait.Equals(false) else if (move.MoveInfo.IsStep(LineMoveStep.MO_59_CylinderAfter) && move.MoveInfo.IsInWait.Equals(false)
&& move.CylinderIsOk(IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After)) && move.CylinderIsOk(IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After))
{ {
return true; return true;
......
...@@ -15,6 +15,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -15,6 +15,8 @@ namespace OnlineStore.DeviceLibrary
{ {
#region 出库 #region 出库
private int ClampCount = 0;
public override bool StartOutStoreMove(InOutParam param) public override bool StartOutStoreMove(InOutParam param)
{ {
string posId = param != null ? param.PosId : ""; string posId = param != null ? param.PosId : "";
...@@ -76,6 +78,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -76,6 +78,8 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.IsStep(LineMoveStep.MO_51_CylinderBefore)) else if (MoveInfo.IsStep(LineMoveStep.MO_51_CylinderBefore))
{ {
//重置夹料次数=0
ClampCount = 0;
if (CylinderIsOk(IO_Type.BeforeAfterCylinder_After, IO_Type.BeforeAfterCylinder_Before)) if (CylinderIsOk(IO_Type.BeforeAfterCylinder_After, IO_Type.BeforeAfterCylinder_Before))
{ {
MoveInfo.NextMoveStep(LineMoveStep.MO_52_CylinderDown); MoveInfo.NextMoveStep(LineMoveStep.MO_52_CylinderDown);
...@@ -114,23 +118,43 @@ namespace OnlineStore.DeviceLibrary ...@@ -114,23 +118,43 @@ namespace OnlineStore.DeviceLibrary
UpdownUpMove(); UpdownUpMove();
// CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Down, IO_Type.UpDownCylinder_Up); // CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Down, IO_Type.UpDownCylinder_Up);
}else if (MoveInfo.IsStep(LineMoveStep.MO_56_ResetClamp))
{
MoveInfo.NextMoveStep(LineMoveStep.MO_52_CylinderDown);
OutLog("出库 " + MoveInfo.SLog + ": 上下气缸下降 ");
UpdownDownP3Move(MoveInfo.MoveParam.PlateH);
} }
else if (MoveInfo.IsStep(LineMoveStep.MO_55_CylinderUp)) else if (MoveInfo.IsStep(LineMoveStep.MO_55_CylinderUp))
{ {
MoveInfo.NextMoveStep(LineMoveStep.MO_56_ClampCheck); MoveInfo.NextMoveStep(LineMoveStep.MO_57_ClampCheck);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200)); if (ClampCount.Equals(0))
OutLog("出库 " + MoveInfo.SLog + ": 检测夹爪料盘检测=HIGH"); {
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.ClampCylinder_Check, IO_VALUE.HIGH)); OutLog("出库 " + MoveInfo.SLog + ": 检测夹爪料盘检测=HIGH,超时1000");
MoveInfo.OneWaitCanEndStep = true;
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.ClampCylinder_Check, IO_VALUE.HIGH));
}
else
{
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200));
OutLog("出库 " + MoveInfo.SLog + ": 检测夹爪料盘检测=HIGH");
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.ClampCylinder_Check, IO_VALUE.HIGH));
}
} }
else if (MoveInfo.IsStep(LineMoveStep.MO_56_ClampCheck)) else if (MoveInfo.IsStep(LineMoveStep.MO_57_ClampCheck))
{ {
if (UpdownIsUp()) if (UpdownIsUp())
{ {
if (IsBigStore()) if (IOValue(IO_Type.ClampCylinder_Check).Equals(IO_VALUE.HIGH))
{ {
if (TrayIsOk()) if (IsBigStore())
{
MoveInfo.NextMoveStep(LineMoveStep.MO_58_WaitTray);
OutLog("出库 " + MoveInfo.SLog + ": 等待托盘到达");
}
else
{ {
MoveInfo.NextMoveStep(LineMoveStep.MO_57_CylinderAfter); MoveInfo.NextMoveStep(LineMoveStep.MO_59_CylinderAfter);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200));
OutLog("出库 " + MoveInfo.SLog + ": 前后气缸后退"); OutLog("出库 " + MoveInfo.SLog + ": 前后气缸后退");
CylinderMove(MoveInfo, IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After); CylinderMove(MoveInfo, IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After);
...@@ -138,10 +162,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -138,10 +162,10 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
MoveInfo.NextMoveStep(LineMoveStep.MO_57_CylinderAfter); MoveInfo.NextMoveStep(LineMoveStep.MO_56_ResetClamp);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200)); ClampCount = 1;
OutLog("出库 " + MoveInfo.SLog + ": 前后气缸后退"); OutLog("出库 " + MoveInfo.SLog + ": 第一次未抓到料,重新抓一次,夹爪先放松",1);
CylinderMove(MoveInfo, IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After); CylinderMove(MoveInfo, IO_Type.ClampCylinder_Work, IO_Type.ClampCylinder_Relax);
} }
} }
else else
...@@ -150,11 +174,20 @@ namespace OnlineStore.DeviceLibrary ...@@ -150,11 +174,20 @@ namespace OnlineStore.DeviceLibrary
OutLog("出库 " + MoveInfo.SLog + ": 上下气缸上升"); OutLog("出库 " + MoveInfo.SLog + ": 上下气缸上升");
UpdownUpMove(); UpdownUpMove();
} }
}else if (MoveInfo.IsStep(LineMoveStep.MO_58_WaitTray))
{
if (TrayIsOk())
{
MoveInfo.NextMoveStep(LineMoveStep.MO_59_CylinderAfter);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200));
OutLog("出库 " + MoveInfo.SLog + ": 前后气缸后退");
CylinderMove(MoveInfo, IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After);
}
} }
#endregion #endregion
#region 移载装置,放物品到流水线操作 #region 移载装置,放物品到流水线操作
else if (MoveInfo.IsStep(LineMoveStep.MO_57_CylinderAfter)) else if (MoveInfo.IsStep(LineMoveStep.MO_59_CylinderAfter))
{ {
if (CylinderIsOk(IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After)) if (CylinderIsOk(IO_Type.BeforeAfterCylinder_Before, IO_Type.BeforeAfterCylinder_After))
{ {
...@@ -162,7 +195,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -162,7 +195,7 @@ namespace OnlineStore.DeviceLibrary
{ {
int trayNum = SecondMoveInfo.MoveParam.TrayNumber; int trayNum = SecondMoveInfo.MoveParam.TrayNumber;
//去掉直接丢盘处理 //去掉直接丢盘处理
MoveInfo.NextMoveStep(LineMoveStep.MO_58_CylinderDown); MoveInfo.NextMoveStep(LineMoveStep.MO_60_CylinderDown);
OutLog("出库 " + MoveInfo.SLog + ": 夹具检测编码完成, 上下气缸下降 ,更新料盘位置【" + MoveInfo.MoveParam.WareCode + "】【INLINE】【" + trayNum + "】,顶升气缸上升"); OutLog("出库 " + MoveInfo.SLog + ": 夹具检测编码完成, 上下气缸下降 ,更新料盘位置【" + MoveInfo.MoveParam.WareCode + "】【INLINE】【" + trayNum + "】,顶升气缸上升");
if (MoveInfo.MoveParam != null) if (MoveInfo.MoveParam != null)
{ {
...@@ -180,25 +213,25 @@ namespace OnlineStore.DeviceLibrary ...@@ -180,25 +213,25 @@ namespace OnlineStore.DeviceLibrary
} }
} }
} }
else if (MoveInfo.IsStep(LineMoveStep.MO_58_CylinderDown)) else if (MoveInfo.IsStep(LineMoveStep.MO_60_CylinderDown))
{ {
OutLog("出库 " + MoveInfo.SLog + ": 夹料气缸放松,更新托盘【" + MoveInfo.MoveParam.TrayNumber + "】,有料盘,OutStore,【" + MoveInfo.MoveParam.ToStr() + "】"); OutLog("出库 " + MoveInfo.SLog + ": 夹料气缸放松,更新托盘【" + MoveInfo.MoveParam.TrayNumber + "】,有料盘,OutStore,【" + MoveInfo.MoveParam.ToStr() + "】");
TrayManager.UpdateTrayInfo(MoveInfo.MoveParam.TrayNumber, true, ReelType.OutStore, MoveInfo.MoveParam.Clone()); TrayManager.UpdateTrayInfo(MoveInfo.MoveParam.TrayNumber, true, ReelType.OutStore, MoveInfo.MoveParam.Clone());
TrayInfo tray = TrayManager.GetTrayInfo(MoveInfo.MoveParam.TrayNumber); TrayInfo tray = TrayManager.GetTrayInfo(MoveInfo.MoveParam.TrayNumber);
LogInfo("出库 " + MoveInfo.SLog + ": 夹料气缸放松,更新托盘信息 " +tray.ToStr()+ ""); LogInfo("出库 " + MoveInfo.SLog + ": 夹料气缸放松,更新托盘信息 " + tray.ToStr() + "");
//出库全部完成 //出库全部完成
MoveInfo.NextMoveStep(LineMoveStep.MO_59_CylinderRelax); MoveInfo.NextMoveStep(LineMoveStep.MO_61_CylinderRelax);
CylinderMove(MoveInfo, IO_Type.ClampCylinder_Work, IO_Type.ClampCylinder_Relax); CylinderMove(MoveInfo, IO_Type.ClampCylinder_Work, IO_Type.ClampCylinder_Relax);
} }
else if (MoveInfo.IsStep(LineMoveStep.MO_59_CylinderRelax)) else if (MoveInfo.IsStep(LineMoveStep.MO_61_CylinderRelax))
{ {
this.MoveInfo.NextMoveStep(LineMoveStep.MO_60_CylinderUp); this.MoveInfo.NextMoveStep(LineMoveStep.MO_62_CylinderUp);
OutLog("出库 " + MoveInfo.SLog + ": 上下气缸上升,同时顶升气缸先下降"); OutLog("出库 " + MoveInfo.SLog + ": 上下气缸上升,同时顶升气缸先下降");
UpdownUpMove(); UpdownUpMove();
CylinderMove(null, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down); CylinderMove(null, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down);
} }
else if (MoveInfo.IsStep(LineMoveStep.MO_60_CylinderUp)) else if (MoveInfo.IsStep(LineMoveStep.MO_62_CylinderUp))
{ {
// 减去需要的盘数 // 减去需要的盘数
// TrayManager.DelNeedEmptyTrayNum(); // TrayManager.DelNeedEmptyTrayNum();
...@@ -499,9 +532,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -499,9 +532,9 @@ namespace OnlineStore.DeviceLibrary
{ {
return false; return false;
} }
bool moveOk = (IsBigStore() && MoveInfo.MoveStep >= LineMoveStep.MO_56_ClampCheck && MoveInfo.IsInWait.Equals(false)) || MoveInfo.MoveStep >= LineMoveStep.MO_57_CylinderAfter; bool moveOk = (IsBigStore() && MoveInfo.MoveStep >= LineMoveStep.MO_58_WaitTray ) || MoveInfo.MoveStep >= LineMoveStep.MO_59_CylinderAfter;
if (MoveInfo.MoveType.Equals(LineMoveType.OutStore) && moveOk if (MoveInfo.MoveType.Equals(LineMoveType.OutStore) && moveOk
&& (!MoveInfo.IsStep(LineMoveStep.MO_60_CylinderUp))) && (!MoveInfo.IsStep(LineMoveStep.MO_62_CylinderUp)))
{ {
if (isFull.Equals(false)) if (isFull.Equals(false))
{ {
...@@ -518,9 +551,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -518,9 +551,9 @@ namespace OnlineStore.DeviceLibrary
{ {
return false; return false;
} }
bool moveOk = (IsBigStore() && MoveInfo.MoveStep >= LineMoveStep.MO_56_ClampCheck && MoveInfo.IsInWait.Equals(false)) || MoveInfo.MoveStep >= LineMoveStep.MO_57_CylinderAfter; bool moveOk = (IsBigStore() && MoveInfo.MoveStep >= LineMoveStep.MO_58_WaitTray) || MoveInfo.MoveStep >= LineMoveStep.MO_59_CylinderAfter;
if (MoveInfo.MoveType.Equals(LineMoveType.OutStore) && moveOk if (MoveInfo.MoveType.Equals(LineMoveType.OutStore) && moveOk
&& (!MoveInfo.IsStep(LineMoveStep.MO_60_CylinderUp))) && (!MoveInfo.IsStep(LineMoveStep.MO_62_CylinderUp)))
{ {
return true; return true;
} }
......
...@@ -303,7 +303,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -303,7 +303,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 移栽装置出库处理,开始出库 /// 移栽装置出库处理,开始出库
/// </summary> /// </summary>
MO_50_StartOutProcess=1250, MO_50_StartOutProcess = 1250,
/// <summary> /// <summary>
/// 移栽装置出库处理。。前后气缸1前进 /// 移栽装置出库处理。。前后气缸1前进
/// </summary> /// </summary>
...@@ -327,26 +327,34 @@ namespace OnlineStore.DeviceLibrary ...@@ -327,26 +327,34 @@ namespace OnlineStore.DeviceLibrary
MO_55_CylinderUp, MO_55_CylinderUp,
/// <summary> /// <summary>
/// 移栽装置出库处理。 夹料气缸检测 /// 移栽出库:开始重抓一次
/// </summary> /// </summary>
MO_56_ClampCheck, MO_56_ResetClamp,
/// <summary>
/// 移栽出库。 夹料气缸检测
/// </summary>
MO_57_ClampCheck,
/// <summary>
/// 移栽出库:开始等待托盘
/// </summary>
MO_58_WaitTray,
/// <summary> /// <summary>
/// 移栽装置出库处理。 前后气缸1后退 /// 移栽装置出库处理。 前后气缸1后退
/// </summary> /// </summary>
MO_57_CylinderAfter, MO_59_CylinderAfter,
/// <summary> /// <summary>
/// 移载(流水线)装置出库处理,上下气缸1下降 /// 移载(流水线)装置出库处理,上下气缸1下降
/// </summary> /// </summary>
MO_58_CylinderDown, MO_60_CylinderDown,
/// <summary> /// <summary>
/// 移载(流水线)装置出库处理,夹料气缸1放松 /// 移载(流水线)装置出库处理,夹料气缸1放松
/// </summary> /// </summary>
MO_59_CylinderRelax, MO_61_CylinderRelax,
/// <summary> /// <summary>
/// 移载(流水线)装置出库处理,上下气缸1上升 /// 移载(流水线)装置出库处理,上下气缸1上升
/// </summary> /// </summary>
MO_60_CylinderUp, MO_62_CylinderUp,
#region 入料模块,紧急出料移栽处理 #region 入料模块,紧急出料移栽处理
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!