Commit c6ca6aaa 张东亮
2 个父辈 edbd995c f3e3d7b1
...@@ -884,9 +884,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -884,9 +884,10 @@ namespace OnlineStore.DeviceLibrary
/// </summary> /// </summary>
IB07_AxisUpMove, IB07_AxisUpMove,
/// <summary> /// <summary>
/// 料串入料:判断是否有料盘 /// 料串入料:等待是否可以开始扫码
/// </summary> /// </summary>
IB08_CheckHasTray, IB08_WaitCanScan,
/// <summary> /// <summary>
/// 料串入料:扫码 /// 料串入料:扫码
/// </summary> /// </summary>
......
...@@ -589,6 +589,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -589,6 +589,13 @@ namespace OnlineStore.DeviceLibrary
{ {
LogUtil.info(Name + " [" + MoveInfo.MoveStep + "]" + msg); LogUtil.info(Name + " [" + MoveInfo.MoveStep + "]" + msg);
} }
protected void ClearWarnMsg(string msg)
{
if (WarnMsg.Contains(msg))
{
WarnMsg="";
}
}
} }
public class BatchMoveConfig public class BatchMoveConfig
......
...@@ -162,13 +162,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -162,13 +162,13 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.EndMove(); MoveInfo.EndMove();
LogUtil.info(" 未检测到料串,入料结束"); LogUtil.info(" 未检测到料串,入料结束");
} }
} }
else if (MoveInfo.IsStep(StepEnum.IB05_StopUp)) else if (MoveInfo.IsStep(StepEnum.IB05_StopUp))
{ {
LineStop(); LineStop();
if ( Robot.IOValue(Config.IO_LineEnd_Check).Equals(IO_VALUE.HIGH)) if (Robot.IOValue(Config.IO_LineEnd_Check).Equals(IO_VALUE.HIGH))
{ {
if (CurrShelf!=null&& CurrShelf.ShelfState.Equals(2)) if (CurrShelf != null && CurrShelf.ShelfState.Equals(2))
{ {
SendInShelfLeave(" 料串【" + CurrShelf.ToStr() + "】为出库中料串,不需要入库 "); SendInShelfLeave(" 料串【" + CurrShelf.ToStr() + "】为出库中料串,不需要入库 ");
} }
...@@ -202,10 +202,20 @@ namespace OnlineStore.DeviceLibrary ...@@ -202,10 +202,20 @@ namespace OnlineStore.DeviceLibrary
{ {
CheckHasTray(); CheckHasTray();
} }
else if (MoveInfo.IsStep(StepEnum.IB08_WaitCanScan))
{
if (!Robot.AxisIsInShelfUp(ShelfType))
{
IB09_ScanCode();
}
else if (MoveInfo.IsTimeOut(10))
{
WarnMsg = Name + "[" + MoveInfo.MoveStep + "] " + "等待旋转轴离开料串超时" + "[" + FormUtil.GetSpanStr(MoveInfo.StepSpan()) + "]";
}
}
else if (MoveInfo.IsStep(StepEnum.IB09_ScanCode)) else if (MoveInfo.IsStep(StepEnum.IB09_ScanCode))
{ {
WorkLog("IB09_ScanCode"); //WorkLog("IB09_ScanCode");
MoveInfo.MoveParam = new InOutParam(new InOutPosInfo("", "")); MoveInfo.MoveParam = new InOutParam(new InOutPosInfo("", ""));
string code = CodeManager.ProcessCode(LastCodeList); string code = CodeManager.ProcessCode(LastCodeList);
MoveInfo.MoveParam.PosInfo.barcode = code; MoveInfo.MoveParam.PosInfo.barcode = code;
...@@ -235,7 +245,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -235,7 +245,7 @@ namespace OnlineStore.DeviceLibrary
LastHeight = GetHeight(); LastHeight = GetHeight();
} }
else if (MoveInfo.IsStep(StepEnum.IB14_WaitReelLeave)) else if (MoveInfo.IsStep(StepEnum.IB14_WaitReelLeave))
{ {
CheckHasTray(); CheckHasTray();
} }
...@@ -283,6 +293,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -283,6 +293,7 @@ namespace OnlineStore.DeviceLibrary
} }
private void IB09_ScanCode() private void IB09_ScanCode()
{ {
ClearWarnMsg("等待旋转轴离开料串超时");
MoveInfo.NextMoveStep(StepEnum.IB09_ScanCode); MoveInfo.NextMoveStep(StepEnum.IB09_ScanCode);
bool isScan = ConfigAppSettings.GetIntValue(Setting_Init.NeedScanCode).Equals(1); bool isScan = ConfigAppSettings.GetIntValue(Setting_Init.NeedScanCode).Equals(1);
...@@ -336,7 +347,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -336,7 +347,16 @@ namespace OnlineStore.DeviceLibrary
WarnMsg = ""; WarnMsg = "";
if (Robot.IOValue(Config.IO_ReelCheck).Equals(IO_VALUE.HIGH) && MoveInfo.ShelfNoTray.Equals(false)) if (Robot.IOValue(Config.IO_ReelCheck).Equals(IO_VALUE.HIGH) && MoveInfo.ShelfNoTray.Equals(false))
{ {
IB09_ScanCode(); if (Robot.AxisIsInShelfUp(ShelfType))
{
MoveInfo.NextMoveStep(StepEnum.IB08_WaitCanScan);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
WorkLog("旋转轴在料串上方,暂不能扫码,等待旋转轴离开");
}
else
{
IB09_ScanCode();
}
} }
else else
{ {
...@@ -810,7 +830,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -810,7 +830,8 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error(Name + "当前状态:" + MoveInfo.MoveType + ",GetTrayOK暂不处理"); LogUtil.error(Name + "当前状态:" + MoveInfo.MoveType + ",GetTrayOK暂不处理");
} }
} }
public void GetTrayLeave()
public void GetTrayStartLeave()
{ {
if (MoveInfo.MoveType.Equals(MoveType.InStore)) if (MoveInfo.MoveType.Equals(MoveType.InStore))
{ {
......
...@@ -642,6 +642,32 @@ namespace OnlineStore.DeviceLibrary ...@@ -642,6 +642,32 @@ namespace OnlineStore.DeviceLibrary
return false; return false;
} }
/// <summary>
/// 判断旋转轴是否在料串上方
/// </summary>
/// <param name="shelfType">1=A侧料串,2=B侧料串</param>
/// <returns></returns>
public bool AxisIsInShelfUp(int shelfType)
{
int middleP = MiddleAxis.GetAclPosition();
int middleWucha = 20000;
//旋转轴在A暂存区
if (MiddleAxis.IsInPosition(Config.Middle_P2_ATake, middleWucha) )
{
if (shelfType.Equals(1))
{
return true;
}
}
else if (MiddleAxis.IsInPosition(Config.Middle_P3_BTake, middleWucha) )
{
if (shelfType.Equals(2))
{
return true;
}
}
return false;
}
} }
} }
...@@ -513,20 +513,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -513,20 +513,15 @@ namespace OnlineStore.DeviceLibrary
UpdownAxis.AbsMove(MoveInfo, Config.Updown_P8_NGH, Config.Updown_P8_Speed); UpdownAxis.AbsMove(MoveInfo, Config.Updown_P8_NGH, Config.Updown_P8_Speed);
} }
else if (lastPosInfo.GetPosSide().Equals("A")) else if (lastPosInfo.GetPosSide().Equals("A"))
{ {
//MoveInfo.NextMoveStep(StepEnum.II40_UpdownToP4);
//MoveLog($" 入料->A侧 {MoveInfo.SLog}: A侧入库料{lastPosInfo.ToStr()}, 升降轴 到P4(A上暂存区放料高点){Config.Updown_P4_AUpperH}");
//UpdownAxis.AbsMove(MoveInfo, Config.Updown_P4_AUpperH, Config.Updown_P4_Speed);
II41_MiddleTWaitP4(); II41_MiddleTWaitP4();
} }
else else
{ {
//MoveInfo.NextMoveStep(StepEnum.II60_UpdownToP10);
//MoveLog($" 入料->B侧 {MoveInfo.SLog}: B侧入库料{lastPosInfo.ToStr()} ,升降轴 到P10(B上暂存区放料高点){Config.Updown_P10_BUpperH}");
//UpdownAxis.AbsMove(MoveInfo, Config.Updown_P10_BUpperH, Config.Updown_P10_Speed);
II61_MiddleToWaitP5(); II61_MiddleToWaitP5();
} }
TrayStartLeave();
} }
private void II61_MiddleToWaitP5() private void II61_MiddleToWaitP5()
...@@ -716,17 +711,20 @@ namespace OnlineStore.DeviceLibrary ...@@ -716,17 +711,20 @@ namespace OnlineStore.DeviceLibrary
} }
return false; return false;
} }
private void TrayHasLeave() private void TrayHasLeave()
{ {
}
private void TrayStartLeave()
{
int shelf = MoveInfo.MoveParam.ShelfType; int shelf = MoveInfo.MoveParam.ShelfType;
if (shelf.Equals(1)) if (shelf.Equals(1))
{ {
BatchMove_A.GetTrayLeave(); BatchMove_A.GetTrayStartLeave();
} }
else if (shelf.Equals(2)) else if (shelf.Equals(2))
{ {
BatchMove_B.GetTrayLeave(); BatchMove_B.GetTrayStartLeave();
} }
} }
protected override void OutstoreProcess() protected override void OutstoreProcess()
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!