StationEquip_OutStore.cs
2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using OnlineStore.Common;
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OnlineStore.DeviceLibrary
{
partial class StationEquip
{
#region 出料流程
private InOutParam LastOutParam = new InOutParam();
public override bool StartOutStoreMove(InOutParam param)
{
runStatus = LineRunStatus.Busy;
MoveInfo.NewMove(LineMoveType.OutStore);
MoveInfo.MoveParam = param;
MoveInfo.NextMoveStep(LineMoveStep.SO_01_FrontStopUp);
FrontStopUp(MoveInfo);
StopUp(MoveInfo);
LogInfo($"开始出库,前阻挡上升,阻挡上升");
return true;
}
protected override void OutStoreProcess()
{
if (MoveInfo.IsInWait)
{
CheckWait(MoveInfo);
}
if (MoveInfo.IsInWait)
{
return;
}
if (MoveInfo.IsStep(LineMoveStep.SO_01_FrontStopUp))
{
MoveInfo.NextMoveStep(LineMoveStep.SO_02_WaitBoxInToLine);
AddWaitBoxCheck(true);
WaitTime(15000);
MoveInfo.OneWaitCanEndStep = true;
LogInfo($"等待箱子离开工作站");
}
else if (MoveInfo.IsStep(LineMoveStep.SO_02_WaitBoxInToLine))
{
LogUtil.info("进入 SO_03_WaitTime 前");
MoveInfo.NextMoveStep(LineMoveStep.SO_03_WaitTime);
LogUtil.info("进入 SO_03_WaitTime 后"+$" barcode={MoveInfo?.MoveParam?.Containercode??""}");
ContainerManager.UpdateTaskStatus(MoveInfo.MoveParam.Containercode, TaskStatus.IN_ON_LINE);
LogInfo($" 箱子到达线体,阻挡下降");
StopDown(MoveInfo);
WaitTime(3000);
}
else if (MoveInfo.IsStep(LineMoveStep.SO_03_WaitTime))
{
MoveInfo.NextMoveStep(LineMoveStep.SO_04_FrontStopDown);
LogInfo($"前阻挡下降");
FrontStopDown(MoveInfo);
}
else if (MoveInfo.IsStep(LineMoveStep.SO_04_FrontStopDown))
{
MoveEndS();
}
else
{
LogUtil.error(Name + " " + MoveInfo.MoveType + MoveInfo.SLog + "未找到相关处理", 19);
}
}
#endregion
}
}