Commit 13192e0b 张东亮

开启存储机构回原

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