Commit 13192e0b 张东亮

开启存储机构回原

1 个父辈 8528c294
......@@ -23,7 +23,7 @@ namespace OnlineStore.DeviceLibrary
public int LastPosition = 0;
public string AxisName;
public AxisBean(ConfigMoveAxis axisConfig, string deviceName, bool needHome = false)
public AxisBean(ConfigMoveAxis axisConfig, string deviceName, bool needHome = true)
{
this.IsNeedHome = needHome;
this.Config = axisConfig;
......
......@@ -176,6 +176,7 @@ namespace OnlineStore.DeviceLibrary
/// BOX复位:检查料屉升降轴位置
/// </summary>
BOX_H01_CheckCurPullDownPos,
BOX_H01_1_MoveAxisToP1,
/// <summary>
/// BOX复位:料斗拉取升降轴到待机点
/// </summary>
......@@ -192,11 +193,14 @@ namespace OnlineStore.DeviceLibrary
/// BOX复位:AB面移栽x轴原点返回
/// </summary>
BOX_H05_XAxis_AB_UpDown_Home,
BOX_H05_1_UpdownToP1,
/// <summary>
/// BOX复位:行走机构、移栽升降轴、AB面移栽旋转轴原点返回
/// </summary>
BOX_H06_OtherAxis_Home,
BOX_H06_1_OtherAxis_Home,
BOX_H06_2_OtherAxis_Home,
BOX_H06_3_OtherAxis_Home,
/// <summary>
/// BOX待机位:料斗拉取升降轴先返回待机位
/// </summary>
......
......@@ -46,9 +46,11 @@ namespace OnlineStore.DeviceLibrary
{
try
{
CurrInOutCount++;
boxBean.LogInfo($"存储机构出入库{CurrInOutCount}次");
if (StoreManager.XLRStore.boxEquip.paresetReset)
{
if (storeMoveType == MoveType.InStore)
// if (storeMoveType == MoveType.InStore)
{
StoreManager.XLRStore.boxEquip.paresetReset = false;
boxBean.LogInfo($"上料机构复位时请求料仓复位");
......@@ -56,19 +58,19 @@ namespace OnlineStore.DeviceLibrary
CurrInOutCount = 0;
}
}
CurrInOutCount++;
if (CurrInOutCount >= boxBean.Config.Box_ResetCount)
else if (CurrInOutCount >= boxBean.Config.Box_ResetCount)
{
boxBean.LogInfo($"存储机构出入库达到{CurrInOutCount}次数,需要复位");
//if (storeMoveType == MoveType.InStore)
//{
// boxBean.Reset();
//}
//if (storeMoveType == MoveType.OutStore)
//{
// boxBean.Reset();
//}
CurrInOutCount = 0;
if (storeMoveType == MoveType.InStore)
{
boxBean.Reset();
}
if (storeMoveType == MoveType.OutStore)
{
boxBean.Reset();
}
StoreManager.XLRStore.boxEquip.paresetReset = false;
}
//是否自动进入出库状态
if (!autoNext)
......@@ -136,7 +138,7 @@ namespace OnlineStore.DeviceLibrary
{
string posid = boxBean.PositionNumList[newIndex];
InOutParam param = new InOutParam(new InOutPosInfo("AAAA", posid));
// param.NeedOutShelf = false;
// param.NeedOutShelf = false;
//判断是否需要重置
//if (CurrInOutACount >= boxBean.Config.Box_ResetACount)
//{
......
......@@ -257,6 +257,7 @@ namespace OnlineStore.DeviceLibrary
return true;
return false;
}
int moveAxisWucha = 20000;
public override bool StartRun()
{
if (CanStartRun().Equals(false))
......@@ -271,7 +272,7 @@ namespace OnlineStore.DeviceLibrary
CloseAllAxis();
return false;
}
if (MoveAxis.GetAclPosition() < Config.MoveAxis_SafePos)
if ((MoveAxis.GetAclPosition() > Config.MoveAxis_SafePos + moveAxisWucha) || (MoveAxis.GetAclPosition() < Config.MoveAxis_SafePos - moveAxisWucha))
{
MessageBox.Show($"行走机构当前位置[{MoveAxis.GetAclPosition()}]小于安全位置[{Config.MoveAxis_SafePos}],无法回原,请先手动将行走机构移动到安全位置!");
return false;
......@@ -628,7 +629,16 @@ namespace OnlineStore.DeviceLibrary
MoveAxisToP1();
LogInfo($"复位 {MoveInfo.SLog}:B面移栽X轴到待机点P1,行走机构到待机点P1,在暂存区复位结束");
break;
case StepEnum.BOX_H01_CheckCurPullDownPos:
MoveInfo.NextMoveStep(StepEnum.BOX_H01_1_MoveAxisToP1);
MoveAxisToP1();
LogInfo($"复位 {MoveInfo.SLog}:行走机构去待机点");
break;
case StepEnum.BOX_H01_1_MoveAxisToP1:
if (!PullAxis_Updown.IsInPosition(Config.PullAxis_Updown_P1) && !PullAxis_Updown.IsInPosition(MoveInfo.MoveParam.MoveP.PullAxis_Updown_P2))
{
MoveInfo.NextMoveStep(StepEnum.BOX_H02_PullAxis_UpDownToP1);
......@@ -640,43 +650,65 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo.NextMoveStep(StepEnum.BOX_H03_PullAxis_InoutHome);
LogInfo($"复位 {MoveInfo.SLog}:抽屉拉取进出轴回原点");
//PullAxis_Inout.HomeMove(MoveInfo);
PullAxis_Inout.HomeMove(MoveInfo);
}
break;
case StepEnum.BOX_H02_PullAxis_UpDownToP1:
MoveInfo.NextMoveStep(StepEnum.BOX_H03_PullAxis_InoutHome);
LogInfo($"复位 {MoveInfo.SLog}:抽屉拉取进出轴回原点");
//PullAxis_Inout.HomeMove(MoveInfo);
PullAxis_Inout.HomeMove(MoveInfo);
break;
case StepEnum.BOX_H03_PullAxis_InoutHome:
MoveInfo.NextMoveStep(StepEnum.BOX_H04_PullAxis_Updown_ABComAxis_Home);
LogInfo($"复位 {MoveInfo.SLog}:抽屉拉取升降轴、AB面压紧轴回原点");
if (!IsMoveAxisInSafePos())
MoveAxis.AbsMove(MoveInfo, Config.MoveAxis_SafePos, Config.MoveAxis_P1_Speed);
//if (!IsMoveAxisInSafePos())
// MoveAxis.AbsMove(MoveInfo, Config.MoveAxis_SafePos, Config.MoveAxis_P1_Speed);
PullAxis_Updown.HomeMove(MoveInfo);
//ComAxis_A.HomeMove(MoveInfo);
//ComAxis_B.HomeMove(MoveInfo);
ComAxis_A.HomeMove(MoveInfo);
ComAxis_B.HomeMove(MoveInfo);
break;
case StepEnum.BOX_H04_PullAxis_Updown_ABComAxis_Home:
MoveInfo.NextMoveStep(StepEnum.BOX_H05_XAxis_AB_UpDown_Home);
LogInfo($"复位 {MoveInfo.SLog}:AB面移栽X轴回原点、移栽升降轴");
// PullAxis_Inout.HomeMove(MoveInfo);
LogInfo($"复位 {MoveInfo.SLog}:AB面移栽X轴回原点、移栽升降轴回原");
XAxis_A.HomeMove(MoveInfo);
XAxis_B.HomeMove(MoveInfo);
UpdownAxis.HomeMove(MoveInfo);
break;
case StepEnum.BOX_H05_XAxis_AB_UpDown_Home:
MoveInfo.NextMoveStep(StepEnum.BOX_H06_OtherAxis_Home);
LogInfo($"复位 {MoveInfo.SLog}:行走机构、AB面移栽旋转轴回原点");
MoveAxis.HomeMove(MoveInfo);
MoveInfo.NextMoveStep(StepEnum.BOX_H05_1_UpdownToP1);
LogInfo($"复位 {MoveInfo.SLog}:AB面移栽旋转轴回原点");
MiddleAxis_A.HomeMove(MoveInfo);
MiddleAxis_B.HomeMove(MoveInfo);
break;
case StepEnum.BOX_H05_1_UpdownToP1:
MoveInfo.NextMoveStep(StepEnum.BOX_H06_1_OtherAxis_Home);
LogInfo($"复位 {MoveInfo.SLog}:料斗升降和移栽升降到待机点");
UpdownAxis.AbsMove(MoveInfo, Config.Updown_P1, Config.Updown_P1_Speed);
PullAxis_Updown.AbsMove(MoveInfo, Config.PullAxis_Updown_P1, Config.PullAxis_Updown_P1_Speed);
break;
case StepEnum.BOX_H06_1_OtherAxis_Home:
MoveInfo.NextMoveStep(StepEnum.BOX_H06_2_OtherAxis_Home);
//开门
BuffAreaInstoreDoor(true);
LogInfo($"复位 {MoveInfo.SLog}:防护门开启");
break;
case StepEnum.BOX_H06_2_OtherAxis_Home:
MoveInfo.NextMoveStep(StepEnum.BOX_H06_3_OtherAxis_Home);
MoveAxis.HomeMove(MoveInfo);
LogInfo($"复位 {MoveInfo.SLog}:行走机构回原");
break;
case StepEnum.BOX_H06_3_OtherAxis_Home:
MoveInfo.NextMoveStep(StepEnum.BOX_H06_OtherAxis_Home);
LogInfo($"复位 {MoveInfo.SLog}:行走机构去待机点");
MoveAxis.AbsMove(MoveInfo, Config.MoveAxis_P1, Config.MoveAxis_P1_Speed);
break;
case StepEnum.BOX_H06_OtherAxis_Home:
LogInfo($"复位 {MoveInfo.SLog}:所有轴回零完成");
AllAxisStartMoveToP1();
BuffAreaInstoreDoor(false);
break;
//回待机位
......
......@@ -262,7 +262,7 @@ namespace OnlineStore.DeviceLibrary
}
else
{
SetWarnMsg($"复位失败,当前旋转轴位置{middleP},升降轴位置{updownP},无法判断位于A侧暂存区上方或下方");
LogUtil.error($"复位失败,当前旋转轴位置{middleP},升降轴位置{updownP},无法判断位于A侧暂存区上方或下方");
Alarm(AlarmType.SuddenStop);
}
}
......@@ -284,7 +284,7 @@ namespace OnlineStore.DeviceLibrary
}
else
{
SetWarnMsg($"复位失败,当前旋转轴位置{middleP},升降轴位置{updownP},无法判断位于A侧暂存区上方或下方");
LogUtil.error($"复位失败,当前旋转轴位置{middleP},升降轴位置{updownP},无法判断位于A侧暂存区上方或下方");
Alarm(AlarmType.SuddenStop);
}
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!