Commit b430fed8 LN
2 个父辈 d9847538 e9e02fe6
......@@ -130,6 +130,36 @@ namespace OnlineStore.DeviceLibrary
/// BOX复位:抽屉降到低点
/// </summary>
BOX_H005_PullAxis_UpdownToLow,
/// <summary>
/// BOX复位:检查行走机构是否在暂存区
/// </summary>
BOX_H0101_CheckCurMoveAxisPos,
/// <summary>
/// BOX复位:AB面旋转轴到水平点
/// </summary>
BOX_H0102_MiddleAxisToP2,
/// <summary>
/// BOX复位:去暂存区高点:移栽升降轴在A下暂存区低点和高点之间,到高点P4,A面移栽X轴去暂存区P2,A面压紧轴到压紧前点P2
/// </summary>
BOX_H0103_ToAInputHighPos,
/// <summary>
/// BOX复位:去暂存区低点
/// </summary>
BOX_H0104_ToAInputLowPos,
/// <summary>
/// BOX复位:A面移栽X轴到待机点
/// </summary>
BOX_H0105_A_XAxisToP1,
/// <summary>
///BOX复位:去暂存区高点:移栽升降轴在B暂存区低点和高点之间,到高点P4,B面移栽X轴去暂存区P2,B面压紧轴到压紧前点P2
/// </summary>
BOX_H0105_ToBInputHighPos,
/// <summary>
/// BOX复位:A面移栽X轴到待机点
/// </summary>
BOX_H0106_ToBInputLowPos,
/// <summary>
/// BOX复位:检查料屉升降轴位置
/// </summary>
......
......@@ -299,21 +299,25 @@ namespace OnlineStore.DeviceLibrary
{
//回零
case StepEnum.BOX_H001_Wait:
if(GetCurLocation(out string posid))
if (GetCurLocation())
{
MoveInfo.NextMoveStep(StepEnum.BOX_H002_PullAxis_UpdownToP3);
MoveInfo.MoveParam = new InOutParam(new InOutPosInfo("Reset", posid));
MoveInfo.MoveParam.MoveP = new LineMoveP(Config, MoveInfo.MoveParam.PosInfo.PosId);
UpdownAxisTo_P6_P12();
PullAxis_UpdownToHighP3();
LogInfo($"复位 {MoveInfo.SLog}:抽屉在料屉轴上,移栽升降轴到料屉上方过度点,料屉升降轴到高点P3");
}
else
{
MoveInfo.NextMoveStep(StepEnum.BOX_H01_CheckCurPullDownPos);
MoveInfo.MoveParam = new InOutParam(new InOutPosInfo("Reset", posid));
MoveInfo.MoveParam.MoveP = new LineMoveP(Config, MoveInfo.MoveParam.PosInfo.PosId);
LogInfo($"复位 {MoveInfo.SLog}:抽屉未在料屉轴上");
if (MoveAxis.IsInPosition(Config.MoveAxis_P2))
{
MoveInfo.NextMoveStep(StepEnum.BOX_H0101_CheckCurMoveAxisPos);
LogInfo($"复位 {MoveInfo.SLog}:抽屉未在料屉轴上,行走机构在暂存区");
}
else
{
MoveInfo.NextMoveStep(StepEnum.BOX_H01_CheckCurPullDownPos);
LogInfo($"复位 {MoveInfo.SLog}:抽屉未在料屉轴上且行走机构不在暂存区");
}
}
break;
case StepEnum.BOX_H002_PullAxis_UpdownToP3:
......@@ -345,6 +349,88 @@ namespace OnlineStore.DeviceLibrary
PullAxis_Inout_To_P1();
LogInfo($"复位 {MoveInfo.SLog}:料斗拉取拉取轴到待机点P1");
break;
case StepEnum.BOX_H0101_CheckCurMoveAxisPos:
MoveInfo.NextMoveStep(StepEnum.BOX_H0102_MiddleAxisToP2);
if (!MiddleAxis_A.IsInPosition(Config.MiddleAxis_A_P2))
{
MiddleAxis_A.AbsMove(MoveInfo, Config.MiddleAxis_A_P2, Config.MiddleAxis_A_P2_Speed);
LogInfo($"复位 {MoveInfo.SLog}:A面旋转轴不在水平面,A面移栽旋转轴到水平点");
}
if (!MiddleAxis_B.IsInPosition(Config.MiddleAxis_B_P2))
{
MiddleAxis_B.AbsMove(MoveInfo, Config.MiddleAxis_B_P2, Config.MiddleAxis_B_P2_Speed);
LogInfo($"复位 {MoveInfo.SLog}:B面旋转轴不在水平面,B面移栽旋转轴到水平点");
}
break;
case StepEnum.BOX_H0102_MiddleAxisToP2:
MoveInfo.NextMoveStep(StepEnum.BOX_H0103_ToAInputHighPos);
ComAxis_A.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.ComAxis_AB_P2, Config.ComAxis_A_P2_Speed);
XAxis_A.AbsMove(MoveInfo, Config.XAxis_A_P2, Config.XAxis_A_P2_Speed);
if (UpdownAxis.GetAclPosition() >= Config.Updown_P5 && UpdownAxis.GetAclPosition() <= Config.Updown_P4)
{
LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在A下暂存区低点和高点之间,到高点P4,A面移栽X轴去暂存区P2,A面压紧轴到压紧前点P2");
UpdownAxis.AbsMove(MoveInfo, Config.Updown_P4, Config.Updown_P4_Speed);
}
else if (UpdownAxis.GetAclPosition() >= Config.Updown_P3 && UpdownAxis.GetAclPosition() <= Config.Updown_P2)
{
LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在A上暂存区低点和高点之间,到高点P2,A面移栽X轴去暂存区P2,A面压紧轴到压紧前点P2");
UpdownAxis.AbsMove(MoveInfo, Config.Updown_P2, Config.Updown_P2_Speed);
}
break;
case StepEnum.BOX_H0103_ToAInputHighPos:
MoveInfo.NextMoveStep(StepEnum.BOX_H0104_ToAInputLowPos);
if (UpdownAxis.GetAclPosition() >= Config.Updown_P5 && UpdownAxis.GetAclPosition() <= Config.Updown_P4)
{
LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在A上下暂存区低点P5");
UpdownAxis.AbsMove(MoveInfo, Config.Updown_P5, Config.Updown_P5_Speed);
}
else if (UpdownAxis.GetAclPosition() >= Config.Updown_P3 && UpdownAxis.GetAclPosition() <= Config.Updown_P2)
{
LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在A上暂存区低点P3");
UpdownAxis.AbsMove(MoveInfo, Config.Updown_P3, Config.Updown_P3_Speed);
}
break;
case StepEnum.BOX_H0104_ToAInputLowPos:
MoveInfo.NextMoveStep(StepEnum.BOX_H0105_A_XAxisToP1);
XAxis_A.AbsMove(MoveInfo, Config.XAxis_A_P1, Config.XAxis_A_P1_Speed);
LogInfo($"复位 {MoveInfo.SLog}:A面移栽X轴低到待机点P1");
break;
case StepEnum.BOX_H0105_A_XAxisToP1:
MoveInfo.NextMoveStep(StepEnum.BOX_H0105_ToBInputHighPos);
ComAxis_B.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.ComAxis_AB_P2, Config.ComAxis_B_P2_Speed);
XAxis_B.AbsMove(MoveInfo, Config.XAxis_B_P2, Config.XAxis_B_P2_Speed);
if (UpdownAxis.GetAclPosition() >= Config.Updown_P11 && UpdownAxis.GetAclPosition() <= Config.Updown_P10)
{
LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在B下暂存区低点和高点之间,到高点P10,B面移栽X轴去暂存区P2,B面压紧轴到压紧前点P2");
UpdownAxis.AbsMove(MoveInfo, Config.Updown_P10, Config.Updown_P10_Speed);
}
else if (UpdownAxis.GetAclPosition() >= Config.Updown_P9 && UpdownAxis.GetAclPosition() <= Config.Updown_P8)
{
LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在B上暂存区低点和高点之间,到高点P8,B面移栽X轴去暂存区P2,B面压紧轴到压紧前点P2");
UpdownAxis.AbsMove(MoveInfo, Config.Updown_P8, Config.Updown_P8_Speed);
}
break;
case StepEnum.BOX_H0105_ToBInputHighPos:
MoveInfo.NextMoveStep(StepEnum.BOX_H0106_ToBInputLowPos);
if (UpdownAxis.GetAclPosition() >= Config.Updown_P11 && UpdownAxis.GetAclPosition() <= Config.Updown_P10)
{
LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在B下暂存区低点P11");
UpdownAxis.AbsMove(MoveInfo, Config.Updown_P11, Config.Updown_P11_Speed);
}
else if (UpdownAxis.GetAclPosition() >= Config.Updown_P9 && UpdownAxis.GetAclPosition() <= Config.Updown_P8)
{
LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在B上暂存区低点P9");
UpdownAxis.AbsMove(MoveInfo, Config.Updown_P9, Config.Updown_P9_Speed);
}
break;
case StepEnum.BOX_H0106_ToBInputLowPos:
MoveInfo.NextMoveStep(StepEnum.BOX_H01_CheckCurPullDownPos);
XAxis_B.AbsMove(MoveInfo, Config.XAxis_B_P1, Config.XAxis_B_P1_Speed);
MoveAxisToP1();
LogInfo($"复位 {MoveInfo.SLog}:B面移栽X轴到待机点P1,行走机构到待机点P1,在暂存区复位结束");
break;
case StepEnum.BOX_H01_CheckCurPullDownPos:
if (!PullAxis_Updown.IsInPosition(Config.PullAxis_Updown_P1) && !PullAxis_Updown.IsInPosition(MoveInfo.MoveParam.MoveP.PullAxis_Updown_P2))
{
......
......@@ -372,12 +372,12 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// <param name="PosId"></param>
/// <returns>true表示抽屉挂在轴上</returns>
private bool GetCurLocation(out string PosId)
private bool GetCurLocation()
{
int row = 1;
int col = 1;
string side = "BB";
PosId = "05BB01010101";
string PosId = "05BB01010101";
for (int i = 1; i <= trayRows.Length; i++)
{
if (i == trayRows.Length)
......@@ -425,6 +425,8 @@ namespace OnlineStore.DeviceLibrary
}
}
PosId = $"05{side}{row.ToString().PadLeft(2, '0')}{col.ToString().PadLeft(2, '0')}0101";
MoveInfo.MoveParam = new InOutParam(new InOutPosInfo("Reset", PosId));
MoveInfo.MoveParam.MoveP = new LineMoveP(Config, MoveInfo.MoveParam.PosInfo.PosId);
return false;
}
/// <summary>
......@@ -540,7 +542,7 @@ namespace OnlineStore.DeviceLibrary
int res = AutoFindPos.GetMarkInfo(bitmap, $"{MoveInfo.MoveParam.PosInfo.PosId.Substring(0, 4)}", $"row{autoFindPos.CurRow}_col{autoFindPos.CurColumn}", out ocsFXYR);
if (res == 0)
{
LogInfo($"存储机构-相机检查库位 {MoveInfo.SLog}:取图[{MoveInfo.MoveParam.PosInfo.PosId}]");
LogInfo($"存储机构-相机检查库位 {MoveInfo.SLog}:取图并检查Mark点[{MoveInfo.MoveParam.PosInfo.PosId}]");
}
else if (res == -4)
{
......@@ -554,6 +556,7 @@ namespace OnlineStore.DeviceLibrary
CamDetectError = true;
return false;
}
if (Math.Abs(Config.Drawer_X - ocsFXYR.fX) < Config.Drawer_X_Error && Math.Abs(Config.Drawer_Y - ocsFXYR.fY) < Config.Drawer_Y_Error)
{
CamDetectError = false;
......
......@@ -584,6 +584,7 @@ namespace OnlineStore.XLRStore
/// <param name="e"></param>
private void btnSavePosIds_Click(object sender, EventArgs e)
{
btnSavePoints_Click(null,null);
if (posId.Equals(""))
return;
BoxPosition ktkPosition = CSVPositionReader<BoxPosition>.GetPositon(posId);
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!