Commit e62828c3 LN

上料模块批量轴上升时最多上升100mm

1 个父辈 783091d5
20200324 20200403
紧急出料不放太慢。
rfid不需要格式化。
上料模块批量轴上升时,如果不是第一次上升,最多上升100mm
20200324
1.入库逻辑修改:提升轴先上升后需要下降到料盘不溢出的位置,横移气缸才能动作。 1.入库逻辑修改:提升轴先上升后需要下降到料盘不溢出的位置,横移气缸才能动作。
2.出料模块取料条件修改:随意放时需要等皮带线空闲。 2.出料模块取料条件修改:随意放时需要等皮带线空闲。
3.移栽模块出库过程中或还有出库任务,不能入库,完全出库完成再入库 3.移栽模块出库过程中或还有出库任务,不能入库,完全出库完成再入库
......
...@@ -151,7 +151,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -151,7 +151,7 @@ namespace OnlineStore.DeviceLibrary
ClientAction currA = GetAction(id); ClientAction currA = GetAction(id);
if (currA.Equals(ClientAction.None) || currA.Equals(ClientAction.NeedLeave) || currA.Equals(ClientAction.NeedEnter)) if (currA.Equals(ClientAction.None) || currA.Equals(ClientAction.NeedLeave) || currA.Equals(ClientAction.NeedEnter))
{ {
SetStatus(id, shelfId, ClientAction.NeedEnter); SetStatus(id, shelfId, ClientAction.NeedEnter,ClientLevel.Low);
return true; return true;
} }
return false; return false;
...@@ -161,7 +161,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -161,7 +161,7 @@ namespace OnlineStore.DeviceLibrary
ClientAction currA = GetAction(id); ClientAction currA = GetAction(id);
if (currA.Equals(ClientAction.None) || currA.Equals(ClientAction.NeedLeave) || currA.Equals(ClientAction.NeedEnter)) if (currA.Equals(ClientAction.None) || currA.Equals(ClientAction.NeedLeave) || currA.Equals(ClientAction.NeedEnter))
{ {
SetStatus(id, shelfId, ClientAction.NeedLeave); SetStatus(id, shelfId, ClientAction.NeedLeave,ClientLevel.High);
return true; return true;
} }
return false; return false;
......
...@@ -733,6 +733,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -733,6 +733,7 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_18_WaitNoLocationCheck)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_18_WaitNoLocationCheck))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_19_BatchAxisToP3); MoveInfo.NextMoveStep(LineMoveStep.FI_19_BatchAxisToP3);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
LastWidth = GetWidth(); LastWidth = GetWidth();
InLog("料盘移栽" + MoveInfo.SLog + ":提升伺服运动到P3,盘宽【" + LastWidth + "】,横移气缸上升 "); InLog("料盘移栽" + MoveInfo.SLog + ":提升伺服运动到P3,盘宽【" + LastWidth + "】,横移气缸上升 ");
if (!CylinderIsOk(IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up)) if (!CylinderIsOk(IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up))
...@@ -743,7 +744,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -743,7 +744,7 @@ namespace OnlineStore.DeviceLibrary
{ {
CylinderMove(null, IO_Type.SL_MoveCylinder_Take, IO_Type.SL_MoveCylinder_Give); CylinderMove(null, IO_Type.SL_MoveCylinder_Take, IO_Type.SL_MoveCylinder_Give);
} }
BatchAxisToP3(); BatchAxisToP3(false );
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_19_BatchAxisToP3)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_19_BatchAxisToP3))
{ {
...@@ -885,11 +886,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -885,11 +886,12 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_25_CylinderRelax)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_25_CylinderRelax))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_26_CylinderUp); MoveInfo.NextMoveStep(LineMoveStep.FI_26_CylinderUp);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Down, IO_Type.SL_MoveCylinder_Up); 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)) if (IOValue(IO_Type.SL_AxisLocationCheck).Equals(IO_VALUE.LOW) && MoveInfo.ShelfNoTray.Equals(false))
{ {
InLog("料盘移栽" + MoveInfo.SLog + ":上料横移机构上升,上料轴开始慢速上升到P3点,等待检测到料盘"); InLog("料盘移栽" + MoveInfo.SLog + ":上料横移机构上升,上料轴开始慢速上升到P3点,等待检测到料盘");
BatchAxisToP3(); BatchAxisToP3(false );
} }
else else
{ {
...@@ -1143,7 +1145,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1143,7 +1145,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(LineMoveStep.FI_10_AxisUpMove); MoveInfo.NextMoveStep(LineMoveStep.FI_10_AxisUpMove);
InLog("料架入库" + MoveInfo.SLog + ":CheckHasTray:上料轴开始慢速上升到P3点,等待检测到料盘"); InLog("料架入库" + MoveInfo.SLog + ":CheckHasTray:上料轴开始慢速上升到P3点,等待检测到料盘");
MoveInfo.ShelfNoTray = false; MoveInfo.ShelfNoTray = false;
BatchAxisToP3(); BatchAxisToP3(false );
return; return;
} }
} }
...@@ -1157,15 +1159,25 @@ namespace OnlineStore.DeviceLibrary ...@@ -1157,15 +1159,25 @@ namespace OnlineStore.DeviceLibrary
} }
} }
private void BatchAxisToP3() private void BatchAxisToP3(bool isFirstMove = true)
{ {
int targetP3 = Config.BatchAxisP3;
if (!isFirstMove)
{
int currPosition = BatchAxis.GetAclPosition();
if (currPosition != -1)
{
targetP3 = currPosition + Config.Height_ChangeValue * 100;
LogUtil.info(Name + " BatchAxisToP3 目标P3: " + targetP3 + "(" + currPosition + ")");
}
}
MoveInfo.TimeOutSeconds = 200; MoveInfo.TimeOutSeconds = 200;
MoveInfo.CanWhileCount = 0; MoveInfo.CanWhileCount = 0;
// 需要增加定时器,获取验证信号并停止伺服 // 需要增加定时器,获取验证信号并停止伺服
StartMovePosition = BatchAxis.GetAclPosition(); StartMovePosition = BatchAxis.GetAclPosition();
MoveInfo.WaitList.Add(WaitResultInfo.WaitBatchAxis(Config.Batch_Axis, Config.BatchAxisP3, Config.BatchAxis_P3Speed)); MoveInfo.WaitList.Add(WaitResultInfo.WaitBatchAxis(Config.Batch_Axis, targetP3, Config.BatchAxis_P3Speed));
Config.Batch_Axis.TargetPosition = Config.BatchAxisP3; Config.Batch_Axis.TargetPosition = targetP3;
BatchAxis.AbsMove( null, Config.BatchAxisP3, Config.BatchAxis_P3Speed); BatchAxis.AbsMove(null, targetP3, Config.BatchAxis_P3Speed);
//开始检测信号 //开始检测信号
BatchAxisStartCheck(); BatchAxisStartCheck();
} }
......
...@@ -554,7 +554,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -554,7 +554,7 @@ namespace OnlineStore.DeviceLibrary
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Give, IO_Type.SL_MoveCylinder_Take); CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Give, IO_Type.SL_MoveCylinder_Take);
//只有提升轴位置过低时才需要到P3 //只有提升轴位置过低时才需要到P3
int currPosition = BatchAxis.GetAclPosition(); int currPosition = BatchAxis.GetAclPosition();
if (currPosition <= (Config.BatchAxisP2 + Config.Height_ChangeValue * 20)) if (currPosition <= (Config.BatchAxisP2 + Config.Height_ChangeValue * 40))
{ {
OutLog("紧急出料" + MoveInfo.SLog + ":上料横移机构回到取料端,提升轴[" + currPosition + "]需要到P3"); OutLog("紧急出料" + MoveInfo.SLog + ":上料横移机构回到取料端,提升轴[" + currPosition + "]需要到P3");
BatchAxisToP3(); BatchAxisToP3();
...@@ -577,8 +577,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -577,8 +577,8 @@ namespace OnlineStore.DeviceLibrary
// bool isNeedSendShelf = false; // bool isNeedSendShelf = false;
//判断料架是否满了 //判断料架是否满了
int currPositon = BatchAxis.GetAclPosition(); int currPositon = BatchAxis.GetAclPosition();
int tp = currPositon - Config.Height_ChangeValue * 16; int tp = currPositon - Config.Height_ChangeValue * 40;
if (tp < Config.BatchAxisP2) if (tp <= Config.BatchAxisP2)
{ {
SendOutShelfOut("当前提升轴位置:" + currPositon + ",料架已满,需要送出料架"); SendOutShelfOut("当前提升轴位置:" + currPositon + ",料架已满,需要送出料架");
} }
......
...@@ -231,7 +231,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -231,7 +231,7 @@ namespace OnlineStore.DeviceLibrary
} }
public string NumStr() public string NumStr()
{ {
return "" + RFType + "" + Num.ToString().PadLeft(2, '0') + ""; return "" + RFType + "" + Num.ToString() + "";
} }
} }
} }
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!