Commit e62828c3 LN

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

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