Commit 8d4a1ed4 刘韬

1

1 个父辈 fe77a2a0
......@@ -33,6 +33,7 @@ namespace DeviceLibrary
public bool OneWaitCanEndStep = false;
public ReelParam MoveParam { get; set; }
public RemoteLoad remoteLoad { get; set; }
public bool IsInWait { get; set; }
......
......@@ -91,8 +91,12 @@ namespace DeviceLibrary
else if (DeviceState == DeviceStateE.Run)
{
if (LS_Type == LS_TypeE.NoRfid)
{
NoRfidProcess();
else {
NoRfidProcessB();
}
else
{
OneWayProcess(LSAMoveInfo);
OneWayProcess(LSBMoveInfo);
}
......@@ -125,7 +129,7 @@ namespace DeviceLibrary
{
LSAMoveInfo.NextMoveStep(MoveStep.SideMove_02);
Location_A.ToLow(LSAMoveInfo);
Location_B.ToLow(LSAMoveInfo);
//Location_B.ToLow(LSAMoveInfo);
IOMove(IO_Type.Ls_A_BufStop_Fwd, IO_VALUE.HIGH, StopBufDelayMS);
......@@ -158,9 +162,16 @@ namespace DeviceLibrary
LSAMoveInfo.log("托盘进入失败");
}
}
break;
case MoveStep.SideMove_04:
if (LSBMoveInfo.MoveStep==MoveStep.Wait)
{
LSAMoveInfo.NextMoveStep(MoveStep.SideMove_06);
Location_A.ToHigh(LSAMoveInfo);
Location_B.ToHigh(LSAMoveInfo);
}
break;
case MoveStep.SideMove_05:
LSAMoveInfo.NextMoveStep(MoveStep.SideMove_06);
Location_A.ToHigh(LSAMoveInfo);
Location_B.ToHigh(LSAMoveInfo);
......@@ -175,24 +186,39 @@ namespace DeviceLibrary
break;
case MoveStep.SideMove_08:
LSAMoveInfo.NextMoveStep(MoveStep.SideMove_09);
LSAMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
LSAMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(800));
break;
case MoveStep.SideMove_09:
LSAMoveInfo.NextMoveStep(MoveStep.SideMove_10);
Line.LineStop("n");
Location_A.ToLow(LSAMoveInfo);
Location_B.ToLow(LSAMoveInfo);
LSBMoveInfo.NextMoveStep(MoveStep.SideMove_01);
break;
case MoveStep.SideMove_10:
LSAMoveInfo.NextMoveStep(MoveStep.SideMove_11);
LSAMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Ls_B_Tray_Check, IO_VALUE.LOW));
LSAMoveInfo.NextMoveStep(MoveStep.SideMove_01);
break;
case MoveStep.SideMove_11:
LSAMoveInfo.NextMoveStep(MoveStep.SideMove_12);
LSAMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
}
}
public void NoRfidProcessB()
{
if (CheckWait(LSBMoveInfo))
return;
switch (LSBMoveInfo.MoveStep)
{
case MoveStep.Wait:
break;
case MoveStep.SideMove_12:
LSAMoveInfo.NewMove(MoveStep.SideMove_01);
case MoveStep.SideMove_01:
LSBMoveInfo.NextMoveStep(MoveStep.SideMove_02);
LSBMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Ls_B_Tray_Check, IO_VALUE.LOW));
break;
case MoveStep.SideMove_02:
LSBMoveInfo.NextMoveStep(MoveStep.SideMove_03);
LSBMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
break;
case MoveStep.SideMove_03:
LSBMoveInfo.NewMove(MoveStep.Wait);
break;
}
}
......
......@@ -252,11 +252,14 @@ namespace DeviceLibrary
axis.AbsMove(MoveInfo, AMH_TS_P2, Config.AMH_TS_P1_speed);
IOMove(IO_Type.AMH_Sucker, IO_VALUE.HIGH);
MoveInfo.log($"PlateH:{MoveInfo.MoveParam.PlateH},AMH_TS_P2:{AMH_TS_P2},ReelHeight:{ReelHeight},MetrialGetRetry:{MetrialGetRetry}");
break;
case MoveStep.TransplantMove_12:
MoveInfo.NextMoveStep(MoveStep.TransplantMove_13);
axis.AbsMove(MoveInfo, Config.AMH_TS_P1, Config.AMH_TS_P1_speed);
MoveInfo.log("取料轴到P1");
if (MoveInfo.MoveParam.PlateH == 120 && MoveInfo.MoveParam.PlateW == 330)
Location.ToLow(MoveInfo);
break;
case MoveStep.TransplantMove_13:
if (IOValue(IO_Type.AMH_Reel_Check).Equals(IO_VALUE.LOW))
......@@ -271,6 +274,8 @@ namespace DeviceLibrary
RobotManage.UserPause($"{MoveInfo.Name}取料失败");
}
MoveInfo.NextMoveStep(MoveStep.TransplantMove_11);
if (MoveInfo.MoveParam.PlateH == 120 && MoveInfo.MoveParam.PlateW == 330)
Location.ToHigh(MoveInfo);
}
break;
case MoveStep.TransplantMove_14:
......
......@@ -165,7 +165,8 @@ namespace DeviceLibrary
{
MoveInfo.NextMoveStep(MoveStep.TrayStop_07);
//抵达了一个有物料的托盘等待处理
}
}else
MoveInfo.NextMoveStep(MoveStep.TrayStop_04);
return;
}
#endregion
......@@ -179,6 +180,8 @@ namespace DeviceLibrary
if (trayInfo.TrayParam!=null)
remoteLoad.RequestLoadInfo.LoadParam = trayInfo.TrayParam.clone();
remoteLoad.RequestLoadInfo.IsEmpty = true;
MoveInfo.remoteLoad = remoteLoad;
if (RemoteService.SendAndWait(GroupName, remoteLoad)!=RemoteResult.True)
MoveInfo.NextMoveStep(MoveStep.TrayStop_04);
......@@ -196,6 +199,7 @@ namespace DeviceLibrary
remoteLoad.RequestLoadInfo.TrayType = trayInfo.TrayType.ToString();
remoteLoad.RequestLoadInfo.LoadParam = trayInfo.TrayParam.clone();
remoteLoad.RequestLoadInfo.IsEmpty = false;
MoveInfo.remoteLoad = remoteLoad;
var result = RemoteService.SendAndWait(GroupName, remoteLoad);
if (result != RemoteResult.True)
{
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!