Commit 66be7140 张东亮

动作优化

1 个父辈 b9941654
......@@ -86,6 +86,7 @@
<Compile Include="storeBean\boxBean\BoxEquip_ConnectServerTimer.cs" />
<Compile Include="storeBean\boxBean\AutoInoutInfo.cs" />
<Compile Include="storeBean\boxBean\BoxEquip_InExecute.cs" />
<Compile Include="storeBean\boxBean\BoxEquip_InExecute_Partial.cs" />
<Compile Include="storeBean\boxBean\BoxEquip_OutExecute.cs" />
<Compile Include="storeBean\boxBean\BoxEquip_PosDebug.cs" />
<Compile Include="storeBean\boxBean\Humiture\HumitureBean.cs" />
......
......@@ -458,6 +458,55 @@ namespace OnlineStore.DeviceLibrary
/// 料仓入库:如果上料机构入料口有料,则去待机点
/// </summary>
SI_20_ToStandby,
#region 两侧同时进行取料
SIB_00_StartInstore,
/// <summary>
///料仓入库:料斗拉取进出轴先运动到P1
/// </summary>
SIB_01_PullAxis_Ready,
/// <summary>
///料仓入库:未在安全位置,行走机构先运动到P1
/// </summary>
SIB_01_MoveAxis_Ready,
/// <summary>
///料仓入库:移栽升降轴到上暂存区取料低点P3/P9
/// </summary>
SIB_01_Pull_Updown_ToPosition,
/// <summary>
/// 料仓入库:到料盘暂存区
/// 1. 行走机构到P2(进出料机构取放点)
/// 2. 移栽升降轴到P3(A上暂存区取料低点)
/// 3. A/B面移栽压紧轴到P2(压紧前点)
/// 4. A面移栽旋转轴到P2(进出料暂存区取放料水平点),同时检测X02=1
/// 或者 B面移栽旋转轴到P2(进出料暂存区取放料水平点),同时检测X03=1
/// </summary>
SIB_02_ToBufferArea,
/// <summary>
/// 料仓入库:确保暂存区有料盘
/// 如果无料盘则报警
/// </summary>
SIB_03_VerifyBufferState,
/// <summary>
/// 料仓入库:A/B面移栽X轴到P2(A/B进出料暂存区取放点)
/// </summary>
SIB_04_InOutToBuff,
/// <summary>
/// 料仓入库:取料盘
/// 1. 移栽升降轴到P2(A上暂存区取料高点)
/// 2. A/B面移栽压紧轴到P3压紧点
/// </summary>
SIB_05_GetReel,
/// <summary>
/// 料仓入库:A/B面移栽X轴到P1
/// </summary>
SIB_06_InOutBackToP1FromBuff,
/// <summary>
/// 料仓入库:清除缓存
/// </summary>
SIB_06_ClearBuffInfo,
#endregion
#endregion
#region 存储机构自动对位功能 400开始
......
......@@ -313,9 +313,9 @@ namespace OnlineStore.DeviceLibrary
}
private void StartReset()
{
if(HasDrawerInHook())
if (HasDrawerInHook())
{
System.Windows.Forms.MessageBox.Show("检测到拉取机构上的拉钩检测信号亮,不允许复位!", "警告" );
System.Windows.Forms.MessageBox.Show("检测到拉取机构上的拉钩检测信号亮,不允许复位!", "警告");
return;
}
if (!CanReset())
......@@ -746,11 +746,21 @@ namespace OnlineStore.DeviceLibrary
ClearSpecifiedAlarm("B下出料暂存区有料盘,但信号未亮");
errUnderB = DateTime.Now;
}
if (IOValue(IO_Type.FeedingA_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.HIGH) && BufferDataManager.AInStoreInfo != null
&& IOValue(IO_Type.FeedingB_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.HIGH) && BufferDataManager.BInStoreInfo != null)
{
StartInstore(new InOutParam() { PosInfo = BufferDataManager.AInStoreInfo, PosInfoBack = BufferDataManager.BInStoreInfo });
return;
}
//检测A上暂存区是否有料盘
if (IOValue(IO_Type.FeedingA_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.HIGH))
{
if (timeSpanA.TotalSeconds >= SigLastTime)
{
StartInstore(new InOutParam(BufferDataManager.AInStoreInfo));
return;
}
}
else
{
......@@ -761,7 +771,10 @@ namespace OnlineStore.DeviceLibrary
if (IOValue(IO_Type.FeedingB_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.HIGH))
{
if (timeSpanB.TotalSeconds >= SigLastTime)
{
StartInstore(new InOutParam(BufferDataManager.BInStoreInfo));
return;
}
}
else
{
......@@ -784,7 +797,7 @@ namespace OnlineStore.DeviceLibrary
bool result = waitAOutStoreList.TryDequeue(out param);
if (result && param != null)
{
LogInfo("执行A面排队的出库【" + param.PosInfo.ToStr() + "】");
//LogInfo("执行A面排队的出库【" + param.PosInfo.ToStr() + "】");
StartExecuctOut(param);
return;
}
......@@ -795,7 +808,7 @@ namespace OnlineStore.DeviceLibrary
bool result = waitAOutStoreList.TryDequeue(out param);
if (result && param != null)
{
LogInfo("执行A面排队的出库【" + param.PosInfo.ToStr() + "】");
//LogInfo("执行A面排队的出库【" + param.PosInfo.ToStr() + "】");
StartExecuctOut(param);
return;
}
......@@ -1013,7 +1026,7 @@ namespace OnlineStore.DeviceLibrary
if (StoreManager.DisBoxSecurityAccess)
{
}
else if (IOManager.IOValue(IO_Type.Air_OpenValve,1).Equals(IO_VALUE.HIGH))
else if (IOManager.IOValue(IO_Type.Air_OpenValve, 1).Equals(IO_VALUE.HIGH))
{
SecurityAccessStop("空气阀打开,设备暂停");
}
......@@ -1036,7 +1049,7 @@ namespace OnlineStore.DeviceLibrary
IOValue(IO_Type.RightDoor_Limit).Equals(IO_VALUE.HIGH) &&
IOValue(IO_Type.BackDoor_Limit).Equals(IO_VALUE.HIGH))
{
IOManager.IOMove(IO_Type.SafeDoor_Close, IO_VALUE.HIGH,1);
IOManager.IOMove(IO_Type.SafeDoor_Close, IO_VALUE.HIGH, 1);
SecurityAccessReset();
}
}
......
......@@ -89,6 +89,18 @@ namespace OnlineStore.DeviceLibrary
{
ClearSpecifiedAlarm("入库验证失败");
}
if (param.PosInfoBack != null)
{
if (!ReviceInStoreCMD(param.PosInfoBack.PosId, param.PosInfoBack.PlateH, param.PosInfoBack.PlateW, param.PosInfoBack.barcode))
{
SetWarnMsg($" 入库验证失败:{param.PosInfoBack.ToStr()}");
return false;
}
else
{
ClearSpecifiedAlarm("入库验证失败");
}
}
}
return true;
}
......@@ -200,7 +212,8 @@ namespace OnlineStore.DeviceLibrary
UpdownAxisTo_P3_P9();
ComAxis_To_P2();
MiddleAxis_To_P2();
XAxis_To_P1();
//XAxis_To_P1();
BothXAxis_To_P1();
break;
case StepEnum.SI_01_MoveAxis_Ready:
MoveInfo.NextMoveStep(StepEnum.SI_02_ToBufferArea);
......@@ -451,7 +464,7 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo.NextMoveStep(StepEnum.SI_07_MiddleToP3);
LogInfo($"入库 {MoveInfo.SLog}:从{MoveInfo.MoveParam.PosInfo.GetPosSide()}面切换到另一面入库[{MoveInfo.MoveParam.PosInfoBack.barcode}]");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
MoveInfo.MoveParam.PosInfo = MoveInfo.MoveParam.PosInfoBack.ToCopy();
MoveInfo.MoveParam.MoveP = new LineMoveP(Config, MoveInfo.MoveParam.PosInfo.PosId);
MoveInfo.MoveParam.PosInfoBack = null;
......
......@@ -899,6 +899,10 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo.NextMoveStep(StepEnum.SI_01_PullAxis_Ready);
}
if (MoveInfo.MoveStep.Equals(StepEnum.SIB_00_StartInstore))
{
MoveInfo.NextMoveStep(StepEnum.SIB_01_PullAxis_Ready);
}
else if (MoveInfo.MoveStep.Equals(StepEnum.SO_00_StartOutstore))
{
MoveInfo.NextMoveStep(StepEnum.SO_01_PullAxis_Ready);
......@@ -908,10 +912,10 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(StepEnum.SP_00_2_PullAxisReady);
}
if (!PullAxis_Updown.IsInPosition(Config.PullAxis_Updown_P1))
{
PullAxis_Updown.AbsMove(MoveInfo, Config.PullAxis_Updown_P1, Config.PullAxis_Updown_P1_Speed);
}
//if (!PullAxis_Updown.IsInPosition(Config.PullAxis_Updown_P1))
//{
// PullAxis_Updown.AbsMove(MoveInfo, Config.PullAxis_Updown_P1, Config.PullAxis_Updown_P1_Speed);
//}
if (PullAxis_Inout.IsInPosition(Config.PullAxis_Inout_CamA) || PullAxis_Inout.IsInPosition(Config.PullAxis_Inout_CamB)
|| PullAxis_Inout.IsInPosition(Config.PullAxis_Inout_P1))
{
......@@ -928,7 +932,7 @@ namespace OnlineStore.DeviceLibrary
PullAxis_Inout.AbsMove(MoveInfo, Config.PullAxis_Inout_CamB, Config.PullAxis_Inout_P1_Speed);
}
}
LogInfo($"{InOutType} {MoveInfo.SLog}:料屉拉取升降轴到待机点P1、料屉拉取进出轴到拍照点");
LogInfo($"{InOutType} {MoveInfo.SLog}:料屉拉取进出轴到拍照点");//料屉拉取升降轴到待机点P1、
}
/// <summary>
/// 判断行走机构是否在安全位置
......@@ -966,7 +970,10 @@ namespace OnlineStore.DeviceLibrary
///开始记录
StartRecord();
SetBoxStatus(DeviceStatus.InStoreExecute, RunStatus.Busy, param.PosInfo.PosId, param.PosInfo.barcode);
MoveInfo.NextMoveStep(StepEnum.SI_00_StartInstore);
if (param.PosInfoBack != null)
MoveInfo.NextMoveStep(StepEnum.SIB_00_StartInstore);
else
MoveInfo.NextMoveStep(StepEnum.SI_00_StartInstore);
AxisAlarmFlag = false;
return true;
}
......@@ -1036,6 +1043,7 @@ namespace OnlineStore.DeviceLibrary
{
return;
}
InstoreBothSideExecute();
InstoreExecute();
}
/// <summary>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!