Commit dd4ffa24 张东亮

右侧提升机有时不放行料架修复

1 个父辈 13775642
...@@ -7,6 +7,7 @@ using System.Linq; ...@@ -7,6 +7,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using static OnlineStore.DeviceLibrary.PackageLine;
namespace OnlineStore.DeviceLibrary namespace OnlineStore.DeviceLibrary
{ {
...@@ -50,7 +51,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -50,7 +51,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info("左侧双层线_" + "左上层放料架到阻挡2"); LogUtil.info("左侧双层线_" + "左上层放料架到阻挡2");
IOMove(IO_Type.LHigh_LineRun, IO_VALUE.HIGH, 30000); IOMove(IO_Type.LHigh_LineRun, IO_VALUE.HIGH, 30000);
IOMove(IO_Type.LHigh_StopCylinder1, IO_VALUE.HIGH, 3000); IOMove(IO_Type.LHigh_StopCylinder1, IO_VALUE.HIGH, 3000);
if (WaitIo(IO_Type.LHigh_StopCheck2, IO_VALUE.HIGH, 30000, "左侧_上层放料架到阻挡2")) if (WaitIo(IO_Type.LHigh_StopCheck2, IO_VALUE.HIGH, 30000, "左侧_上层放料架到阻挡2"))
{ {
IOMove(IO_Type.LHigh_LineRun, IO_VALUE.LOW); IOMove(IO_Type.LHigh_LineRun, IO_VALUE.LOW);
} }
...@@ -78,7 +79,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -78,7 +79,7 @@ namespace OnlineStore.DeviceLibrary
{ {
RHighProcess = true; RHighProcess = true;
LogUtil.info("右侧双层线_" + "右上层放料架到阻挡2"); LogUtil.info("右侧双层线_" + "右上层放料架到阻挡2");
IOMove(IO_Type.RHigh_LineRun, IO_VALUE.HIGH,30000); IOMove(IO_Type.RHigh_LineRun, IO_VALUE.HIGH, 30000);
IOMove(IO_Type.RHigh_StopCylinder1, IO_VALUE.HIGH, 3000); IOMove(IO_Type.RHigh_StopCylinder1, IO_VALUE.HIGH, 3000);
if (WaitIo(IO_Type.RHigh_StopCheck2, IO_VALUE.HIGH, 30000, "右侧_上层放料架到阻挡2")) if (WaitIo(IO_Type.RHigh_StopCheck2, IO_VALUE.HIGH, 30000, "右侧_上层放料架到阻挡2"))
{ {
...@@ -96,7 +97,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -96,7 +97,7 @@ namespace OnlineStore.DeviceLibrary
if (IOValue(IO_Type.LLow_StopCheck2).Equals(IO_VALUE.LOW) && if (IOValue(IO_Type.LLow_StopCheck2).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.LLow_StopCheck1).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.LLow_StopCheck1).Equals(IO_VALUE.HIGH) &&
IOValue(IO_Type.LLow_StopCylinder2).Equals(IO_VALUE.LOW) && IOValue(IO_Type.LLow_StopCylinder2).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.LLown_LineRun).Equals(IO_VALUE.LOW) && LowProcess.Equals(false)) IOValue(IO_Type.LLown_LineRun).Equals(IO_VALUE.LOW) && LowProcess.Equals(false))
{ {
bool isUseLowShelf = (SOneMoveInfo.MoveStep >= MoveStep.S1_C02_MDown && SOneMoveInfo.MoveStep <= MoveStep.S1_C05_CheckS1); bool isUseLowShelf = (SOneMoveInfo.MoveStep >= MoveStep.S1_C02_MDown && SOneMoveInfo.MoveStep <= MoveStep.S1_C05_CheckS1);
if (!isUseLowShelf && LineManager.checkWatch(lowWatch, 3000)) if (!isUseLowShelf && LineManager.checkWatch(lowWatch, 3000))
...@@ -125,8 +126,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -125,8 +126,8 @@ namespace OnlineStore.DeviceLibrary
if (IOValue(IO_Type.Line_InCheck).Equals(IO_VALUE.HIGH)) if (IOValue(IO_Type.Line_InCheck).Equals(IO_VALUE.HIGH))
{ {
if (IOValue(IO_Type.Line_StopCheck).Equals(IO_VALUE.HIGH)) if (IOValue(IO_Type.Line_StopCheck).Equals(IO_VALUE.HIGH))
{ {
if (MoveInfo.MoveType.Equals(LineMoveType.None)&&LineManager.checkWatch(inLineWatch,3000,true)) if (MoveInfo.MoveType.Equals(LineMoveType.None) && LineManager.checkWatch(inLineWatch, 3000, true))
{ {
LeftUpdownRFID = RFIDManager.ReadRFID(Config.L_Updown_Rfid, false).NumStr(); LeftUpdownRFID = RFIDManager.ReadRFID(Config.L_Updown_Rfid, false).NumStr();
bool needProces = false; bool needProces = false;
...@@ -148,7 +149,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -148,7 +149,7 @@ namespace OnlineStore.DeviceLibrary
//MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_StopCheck, IO_VALUE.HIGH)); //MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_StopCheck, IO_VALUE.HIGH));
} }
else else
{ {
IOMove(IO_Type.L_InLineRun, IO_VALUE.LOW); IOMove(IO_Type.L_InLineRun, IO_VALUE.LOW);
} }
} }
...@@ -174,14 +175,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -174,14 +175,15 @@ namespace OnlineStore.DeviceLibrary
} }
} }
else else
{ {
inLineWatch.Stop(); inLineWatch.Stop();
} }
//右侧出口 //右侧出口
if (IOValue(IO_Type.R_StopCheck1).Equals(IO_VALUE.HIGH)&& ROutProcess.Equals(false)) if (IOValue(IO_Type.R_StopCheck1).Equals(IO_VALUE.HIGH) && ROutProcess.Equals(false))
{ {
if (IOValue(IO_Type.R_StopCheck2).Equals(IO_VALUE.LOW) && LineManager.checkWatch(outLineWatch, 5000, true)) if (IOValue(IO_Type.R_StopCheck2).Equals(IO_VALUE.LOW) && LineManager.checkWatch(outLineWatch, 5000, true) &&
LineManager.packageLine.benQOutStep.GetCurStep() < BenQ_OUT_STEP.SHELF_TO_UPDOWN)
{ {
outLineWatch.Stop(); outLineWatch.Stop();
Task.Factory.StartNew(delegate Task.Factory.StartNew(delegate
...@@ -189,7 +191,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -189,7 +191,7 @@ namespace OnlineStore.DeviceLibrary
ROutProcess = true; ROutProcess = true;
LogUtil.info("右侧双层线_" + "出口无料架,放一个料架"); LogUtil.info("右侧双层线_" + "出口无料架,放一个料架");
IOMove(IO_Type.R_StopCylinder2, IO_VALUE.LOW); IOMove(IO_Type.R_StopCylinder2, IO_VALUE.LOW);
IOMove(IO_Type.R_StopCylinder1, IO_VALUE.HIGH, 1500); IOMove(IO_Type.R_StopCylinder1, IO_VALUE.HIGH, 2000);
IOMove(IO_Type.R_LineRun, IO_VALUE.HIGH, 20000); IOMove(IO_Type.R_LineRun, IO_VALUE.HIGH, 20000);
if (WaitIo(IO_Type.R_StopCheck2, IO_VALUE.HIGH, 20000, "料架到达出口")) if (WaitIo(IO_Type.R_StopCheck2, IO_VALUE.HIGH, 20000, "料架到达出口"))
{ {
...@@ -198,7 +200,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -198,7 +200,7 @@ namespace OnlineStore.DeviceLibrary
} }
ROutProcess = false; ROutProcess = false;
}); });
} }
} }
else else
{ {
...@@ -221,7 +223,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -221,7 +223,7 @@ namespace OnlineStore.DeviceLibrary
if (MoveInfo.MoveStep.Equals(MoveStep.SI01_ShelfInLeft)) if (MoveInfo.MoveStep.Equals(MoveStep.SI01_ShelfInLeft))
{ {
MoveInfo.NextMoveStep(MoveStep.SI02_ReadRFID); MoveInfo.NextMoveStep(MoveStep.SI02_ReadRFID);
LeftUpdownRFID = RFIDManager.ReadRFID(Config.L_Updown_Rfid, true).NumStr(); LeftUpdownRFID = RFIDManager.ReadRFID(Config.L_Updown_Rfid, true).NumStr();
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
//等待可放料架 //等待可放料架
...@@ -272,7 +274,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -272,7 +274,7 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.Line_StopCylinder, IO_VALUE.HIGH); IOMove(IO_Type.Line_StopCylinder, IO_VALUE.HIGH);
IOMove(IO_Type.L_InLineRun, IO_VALUE.HIGH); IOMove(IO_Type.L_InLineRun, IO_VALUE.HIGH);
LeftLineMove(IO_VALUE.HIGH, MoveInfo); LeftLineMove(IO_VALUE.HIGH, MoveInfo);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.L_InLineRun, IO_VALUE.HIGH,true)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.L_InLineRun, IO_VALUE.HIGH, true));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_InCheck, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_InCheck, IO_VALUE.LOW));
} }
else if (MoveInfo.MoveStep.Equals(MoveStep.SI04_InStopDown)) else if (MoveInfo.MoveStep.Equals(MoveStep.SI04_InStopDown))
...@@ -298,8 +300,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -298,8 +300,8 @@ namespace OnlineStore.DeviceLibrary
{ {
IsCanStart = true; IsCanStart = true;
} }
else if ( LeftUpdownRFID.StartsWith(Static_String.BigShelf_RFID_Prefix) && IOValue(IO_Type.Line_StopCheck).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.Line_InCheck).Equals(IO_VALUE.HIGH) ) else if (LeftUpdownRFID.StartsWith(Static_String.BigShelf_RFID_Prefix) && IOValue(IO_Type.Line_StopCheck).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.Line_InCheck).Equals(IO_VALUE.HIGH))
{ {
IsCanStart = true; IsCanStart = true;
} }
if (IsCanStart) if (IsCanStart)
...@@ -330,7 +332,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -330,7 +332,7 @@ namespace OnlineStore.DeviceLibrary
LeftLineMove(IO_VALUE.HIGH, MoveInfo); LeftLineMove(IO_VALUE.HIGH, MoveInfo);
} }
} }
else if(MoveInfo.IsTimeOut(120)) else if (MoveInfo.IsTimeOut(120))
{ {
WarnMsg = MoveInfo.MoveStep + "等待料架离开左侧升降机 超时:" + FormUtil.GetShowStr(MoveInfo.StepSpan().TotalSeconds) + "秒"; WarnMsg = MoveInfo.MoveStep + "等待料架离开左侧升降机 超时:" + FormUtil.GetShowStr(MoveInfo.StepSpan().TotalSeconds) + "秒";
Alarm(AlarmType.IoSingleTimeOut); Alarm(AlarmType.IoSingleTimeOut);
...@@ -400,21 +402,21 @@ namespace OnlineStore.DeviceLibrary ...@@ -400,21 +402,21 @@ namespace OnlineStore.DeviceLibrary
} }
} }
private void LeftLineMove(IO_VALUE value, LineMoveInfo moveInfo=null) private void LeftLineMove(IO_VALUE value, LineMoveInfo moveInfo = null)
{ {
if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix)) if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix))
{ {
if (moveInfo != null) if (moveInfo != null)
{ {
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LHigh_LineRun, value,true)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LHigh_LineRun, value, true));
} }
CheckAndMove(IO_Type.LHigh_LineRun, value); CheckAndMove(IO_Type.LHigh_LineRun, value);
} }
else if (LeftUpdownRFID.StartsWith(Static_String.BigShelf_RFID_Prefix)) else if (LeftUpdownRFID.StartsWith(Static_String.BigShelf_RFID_Prefix))
{ {
if (moveInfo != null) if (moveInfo != null)
{ {
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LLown_LineRun, value,true)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LLown_LineRun, value, true));
} }
CheckAndMove(IO_Type.LLown_LineRun, value); CheckAndMove(IO_Type.LLown_LineRun, value);
} }
...@@ -558,7 +560,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -558,7 +560,7 @@ namespace OnlineStore.DeviceLibrary
public void Led_timer_Tick(object sender, EventArgs e) public void Led_timer_Tick(object sender, EventArgs e)
{ {
if (isInProcess) if (isInProcess)
{ {
TimeSpan span = DateTime.Now - LastProTime; TimeSpan span = DateTime.Now - LastProTime;
if (span.TotalSeconds < 30) if (span.TotalSeconds < 30)
{ {
......
...@@ -184,7 +184,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -184,7 +184,9 @@ namespace OnlineStore.DeviceLibrary
bool isRightUpdownDown = CylinderIsOk(IO_Type.R_Updown_Up, IO_Type.R_Updown_Down); bool isRightUpdownDown = CylinderIsOk(IO_Type.R_Updown_Up, IO_Type.R_Updown_Down);
//上层料满 //上层料满
bool topFull = IOValue(IO_Type.RHigh_FullCheck).Equals(IO_VALUE.HIGH); bool topFull = IOValue(IO_Type.RHigh_FullCheck).Equals(IO_VALUE.HIGH);
if (isChainRun || !isRightUpdownDown || topFull)//料盘无法送入 //提升机上有料
bool hasInUpdown= IOValue(IO_Type.R_LeftStopCheck).Equals(IO_VALUE.HIGH) || IOValue(IO_Type.R_RightStopCheck).Equals(IO_VALUE.HIGH);
if (isChainRun || !isRightUpdownDown || topFull || hasInUpdown)//料盘无法送入
{ {
string msg = "A6 "; string msg = "A6 ";
if (isChainRun) if (isChainRun)
...@@ -199,6 +201,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -199,6 +201,10 @@ namespace OnlineStore.DeviceLibrary
{ {
msg = msg + "上层料满,"; msg = msg + "上层料满,";
} }
if(hasInUpdown)
{
msg = msg + "提升机有料,";
}
//有料架或线上无空间 //有料架或线上无空间
benQInStepRight.Msg = msg + "送料AGV 不允许进入,"; benQInStepRight.Msg = msg + "送料AGV 不允许进入,";
benQInStepRight.ToNextStep(BenQ_IN_STEP.NONE); benQInStepRight.ToNextStep(BenQ_IN_STEP.NONE);
...@@ -308,15 +314,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -308,15 +314,15 @@ namespace OnlineStore.DeviceLibrary
{ {
benQOutStep.Msg = "AGV已到达出料口, 打开链条,准备送出料架[" + agvClient_Dbline.A6_RFID + "]"; benQOutStep.Msg = "AGV已到达出料口, 打开链条,准备送出料架[" + agvClient_Dbline.A6_RFID + "]";
benQOutStep.ToNextStep(BenQ_OUT_STEP.SHELF_TO_UPDOWN); benQOutStep.ToNextStep(BenQ_OUT_STEP.SHELF_TO_UPDOWN);
benQOutStep.AddIoWait(IO_Type.R_StopCylinder2, IO_VALUE.HIGH);
benQOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.HIGH); benQOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.HIGH);
agvClient_Dbline.MayLeave("A6"); agvClient_Dbline.MayLeave("A6");
IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.LOW); IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.LOW);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.HIGH); IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.HIGH);
KeepLineRun(IO_Type.R_LineRun); KeepLineRun(IO_Type.R_LineRun);
CheckAndMove(IO_Type.R_OutLineBackRun, IO_VALUE.LOW); CheckAndMove(IO_Type.R_OutLineBackRun, IO_VALUE.LOW);
IOMove(IO_Type.R_OutLineRun, IO_VALUE.HIGH); IOMove(IO_Type.R_OutLineRun, IO_VALUE.HIGH);
IOMove(IO_Type.R_StopCylinder2, IO_VALUE.HIGH,3000); IOMove(IO_Type.R_StopCylinder2, IO_VALUE.HIGH);
} }
else else
{ {
...@@ -340,17 +346,19 @@ namespace OnlineStore.DeviceLibrary ...@@ -340,17 +346,19 @@ namespace OnlineStore.DeviceLibrary
} }
if (benQOutStep.IsFinished()) if (benQOutStep.IsFinished())
{ {
benQOutStep.ToNextStep(BenQ_OUT_STEP.SHELT_OUT);
benQOutStep.Msg = "料架[" + agvClient_Dbline.A6_RFID + "],到达升降机,停止右侧下层线体,继续送出"; benQOutStep.Msg = "料架[" + agvClient_Dbline.A6_RFID + "],到达升降机,停止右侧下层线体,继续送出";
IOMove(IO_Type.R_StopCylinder2, IO_VALUE.LOW); IOMove(IO_Type.R_StopCylinder2, IO_VALUE.LOW);
IOMove(IO_Type.R_LineRun, IO_VALUE.LOW); IOMove(IO_Type.R_LineRun, IO_VALUE.LOW);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.HIGH); IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.HIGH);
IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH); IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH);
benQOutStep.ToNextStep(BenQ_OUT_STEP.SHELT_OUT); benQOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.LOW);
benQOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.LOW, 5000); benQOutStep.AddIoWait(IO_Type.R_LeftStopCheck, IO_VALUE.LOW);
} }
else else if(benQOutStep.IsTimeOut(5000))
{ {
//料架未到达,检查链条 //料架未到达,检查链条
// IOMove(IO_Type.R_StopCylinder2, IO_VALUE.HIGH);
KeepLineRun(IO_Type.R_LineRun); KeepLineRun(IO_Type.R_LineRun);
CheckAndMove(IO_Type.R_OutLineBackRun, IO_VALUE.LOW); CheckAndMove(IO_Type.R_OutLineBackRun, IO_VALUE.LOW);
KeepLineRun(IO_Type.R_OutLineRun); KeepLineRun(IO_Type.R_OutLineRun);
...@@ -368,7 +376,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -368,7 +376,12 @@ namespace OnlineStore.DeviceLibrary
agvClient_Dbline.FinishLeave("A6"); agvClient_Dbline.FinishLeave("A6");
IOMove(IO_Type.R_OutLineRun, IO_VALUE.LOW); IOMove(IO_Type.R_OutLineRun, IO_VALUE.LOW);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW); IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW);
IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.LOW); IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH);
}
else if (benQOutStep.IsTimeOut(10000))
{
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.HIGH);
IOMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH);
} }
} }
} }
......
...@@ -94,7 +94,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -94,7 +94,7 @@ namespace OnlineStore.DeviceLibrary
// IOMove(IO_Type.S2_StopCylinder2, IO_VALUE.LOW); // IOMove(IO_Type.S2_StopCylinder2, IO_VALUE.LOW);
//双层线出料口 //双层线出料口
IOMove(IO_Type.R_StopCylinder1, IO_VALUE.HIGH); IOMove(IO_Type.R_StopCylinder1, IO_VALUE.LOW);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW); IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW);
IOMove(IO_Type.R_StopCylinder2, IO_VALUE.LOW); IOMove(IO_Type.R_StopCylinder2, IO_VALUE.LOW);
...@@ -174,7 +174,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -174,7 +174,7 @@ namespace OnlineStore.DeviceLibrary
//IOMove(IO_Type.S2_StopCylinder2, IO_VALUE.LOW); //IOMove(IO_Type.S2_StopCylinder2, IO_VALUE.LOW);
//双层线出料口 //双层线出料口
IOMove(IO_Type.R_StopCylinder1, IO_VALUE.HIGH); IOMove(IO_Type.R_StopCylinder1, IO_VALUE.LOW);
IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW); IOMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW);
IOMove(IO_Type.R_StopCylinder2, IO_VALUE.LOW); IOMove(IO_Type.R_StopCylinder2, IO_VALUE.LOW);
//右侧上层阻挡 //右侧上层阻挡
......
...@@ -80,7 +80,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -80,7 +80,7 @@ namespace OnlineStore.DeviceLibrary
CheckAndMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH); CheckAndMove(IO_Type.R_RightStopCylinder, IO_VALUE.HIGH);
CheckAndMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW); CheckAndMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW);
benQInFromOutStep.ToNextStep(BenQ_IN_FROM_OUT_STEP.SHELF_TO_UPDOWN); benQInFromOutStep.ToNextStep(BenQ_IN_FROM_OUT_STEP.SHELF_TO_UPDOWN);
benQInFromOutStep.Msg = "检测到BenQ AGV向右侧提升机送入料架,提升机链条反转"; benQInFromOutStep.Msg = "检测到产线 AGV向右侧提升机送入料架,提升机链条反转";
benQInFromOutStep.AddIoWait(IO_Type.R_LeftStopCheck, IO_VALUE.HIGH,5000); benQInFromOutStep.AddIoWait(IO_Type.R_LeftStopCheck, IO_VALUE.HIGH,5000);
benQInFromOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.HIGH,5000); benQInFromOutStep.AddIoWait(IO_Type.R_RightStopCheck, IO_VALUE.HIGH,5000);
IOMove(IO_Type.R_OutLineBackRun, IO_VALUE.HIGH); IOMove(IO_Type.R_OutLineBackRun, IO_VALUE.HIGH);
...@@ -148,7 +148,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -148,7 +148,7 @@ namespace OnlineStore.DeviceLibrary
bool noShelfLeft = IOValue(IO_Type.R_LeftStopCheck).Equals(IO_VALUE.LOW); bool noShelfLeft = IOValue(IO_Type.R_LeftStopCheck).Equals(IO_VALUE.LOW);
if (noShelfRight && noShelfLeft)//员工手动从出口出料架,重置出口处的入料流程 if (noShelfRight && noShelfLeft)//员工手动从出口出料架,重置出口处的入料流程
{ {
benQInFromOutStep.Msg = "从右侧出口出料架,重置BenQ AGV 出口入料流程"; benQInFromOutStep.Msg = "从右侧出口出料架,重置产线 AGV 出口入料流程";
IOMove(IO_Type.R_OutLineBackRun, IO_VALUE.LOW); IOMove(IO_Type.R_OutLineBackRun, IO_VALUE.LOW);
CheckAndMove(IO_Type.R_RightStopCylinder, IO_VALUE.LOW); CheckAndMove(IO_Type.R_RightStopCylinder, IO_VALUE.LOW);
CheckAndMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW); CheckAndMove(IO_Type.R_LeftStopCylinder, IO_VALUE.LOW);
...@@ -224,7 +224,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -224,7 +224,7 @@ namespace OnlineStore.DeviceLibrary
if (benQInFromOutStep.IsFinished()) if (benQInFromOutStep.IsFinished())
{ {
benQInFromOutStep.ToNextStep(BenQ_IN_FROM_OUT_STEP.WAIT_SHELF_TO_READY_POS); benQInFromOutStep.ToNextStep(BenQ_IN_FROM_OUT_STEP.WAIT_SHELF_TO_READY_POS);
benQInFromOutStep.Msg = "BenQ AGV 在右侧提升机将料架送入上层平台完成"; benQInFromOutStep.Msg = "产线AGV 在右侧提升机将料架送入上层平台完成";
benQInFromOutStep.AddIoWait(IO_Type.RHigh_StopCheck1, IO_VALUE.HIGH); benQInFromOutStep.AddIoWait(IO_Type.RHigh_StopCheck1, IO_VALUE.HIGH);
benQInFromOutStep.AddTimeWait(60000); benQInFromOutStep.AddTimeWait(60000);
} }
......
...@@ -361,21 +361,21 @@ namespace OnlineStore.DeviceLibrary ...@@ -361,21 +361,21 @@ namespace OnlineStore.DeviceLibrary
if (outShelfStep.IsStep(SHELF_TO_LEAVE_STATION.SHELF_OUT_S1)){ if (outShelfStep.IsStep(SHELF_TO_LEAVE_STATION.SHELF_OUT_S1)){
bool hasShelfToLeave = IOValue(IO_Type.R_StopCheck2).Equals(IO_VALUE.HIGH); bool hasShelfToLeave = IOValue(IO_Type.R_StopCheck2).Equals(IO_VALUE.HIGH);
KeepLineRun(IO_Type.R_LineRun); KeepLineRun(IO_Type.R_LineRun);
if (hasShelfToLeave) //if (hasShelfToLeave)
{ {
outShelfStep.ToNextStep(SHELF_TO_LEAVE_STATION.WAIT_LINE_RUN_TIME); outShelfStep.ToNextStep(SHELF_TO_LEAVE_STATION.WAIT_LINE_RUN_TIME);
//出料口已有料架,转动60秒 //出料口已有料架,转动60秒
outShelfStep.Msg= "料架流出工位1时,出口已有料架,下层线体转动60秒"; outShelfStep.Msg= "料架流出工位1,下层线体转动60秒";//时,出口已有料架,
outShelfStep.AddTimeWait(60000); outShelfStep.AddTimeWait(60000);
} }
else //else
{ //{
//出料口无料架,等待出料口信号持续3秒 // //出料口无料架,等待出料口信号持续3秒
outShelfStep.ToNextStep(SHELF_TO_LEAVE_STATION.WAIT_OUT_IO); // outShelfStep.ToNextStep(SHELF_TO_LEAVE_STATION.WAIT_OUT_IO);
outShelfStep.Msg = "料架流出工位1时,出口无料架,下层线体转动到料架到达出口"; // outShelfStep.Msg = "料架流出工位1时,出口无料架,下层线体转动到料架到达出口";
outShelfStep.AddIoWait(IO_Type.R_StopCheck2, IO_VALUE.HIGH, 3000); // outShelfStep.AddIoWait(IO_Type.R_StopCheck2, IO_VALUE.HIGH, 3000);
IOMove(IO_Type.R_StopCylinder1, IO_VALUE.HIGH,1500); // IOMove(IO_Type.R_StopCylinder1, IO_VALUE.HIGH,1500);
} //}
}else if (outShelfStep.IsStep(SHELF_TO_LEAVE_STATION.WAIT_LINE_RUN_TIME) || outShelfStep.IsStep(SHELF_TO_LEAVE_STATION.WAIT_OUT_IO)) }else if (outShelfStep.IsStep(SHELF_TO_LEAVE_STATION.WAIT_LINE_RUN_TIME) || outShelfStep.IsStep(SHELF_TO_LEAVE_STATION.WAIT_OUT_IO))
{ {
if (outShelfStep.IsFinished()) if (outShelfStep.IsFinished())
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!