BoxInJobType.cs
2.7 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
using Common;
namespace DeviceLibrary
{
/// <summary>
/// 云仓进料任务
/// </summary>
public class BoxInJobType : JobType
{
/// <summary>
/// 料仓料串任务
/// </summary>
/// <param name="currentAgv"></param>
/// <returns></returns>
public override Job GetNewJob(Agv_Info currentAgv)
{
if (!CommonVar.CheckCanExecuteMission(currentAgv))
return null;
if (!CommonVar.CheckAGVStatusNone(currentAgv))
return null;
string rfid = "";
//检查设备1入口需要空料串用作出库
if (FindNeedEnterMission(currentAgv, SettingString.D1, true))
{
if(FindNeedLeaveMission(currentAgv,SettingString.A1,out rfid,true))
{
LogUtil.info(string.Format("{0} [{1}]需要空料串,去[{2}]取料串[{3}]", currentAgv.Name, SettingString.D1,SettingString.A1, rfid));
return new GetShelfJob(currentAgv.Place, SettingString.A1, rfid, false);
}
}
//检查设备2入口需要空料串用作出库
if (FindNeedEnterMission(currentAgv, SettingString.D3, true))
{
if (FindNeedLeaveMission(currentAgv, SettingString.A1, out rfid, true))
{
LogUtil.info(string.Format("{0} [{1}]需要空料串,去[{2}]取料串[{3}]", currentAgv.Name, SettingString.D3, SettingString.A1, rfid));
return new GetShelfJob(currentAgv.Place, SettingString.A1, rfid, false);
}
}
//检查设备1入口需要满料
if (FindNeedEnterMission(currentAgv, SettingString.D1, false))
{
if(FindNeedLeaveMission(currentAgv, SettingString.A3, out rfid,false))
{
LogUtil.info(string.Format("{0} [{1}]需要满料串,去[{2}]取料串[{3}]", currentAgv.Name, SettingString.D1, SettingString.A3, rfid));
return new GetShelfJob(currentAgv.Place, SettingString.A3, rfid, true);
}
}
//检查设备2入口需要满料
if (FindNeedEnterMission(currentAgv, SettingString.D3, false))
{
if (FindNeedLeaveMission(currentAgv, SettingString.A3, out rfid, false))
{
LogUtil.info(string.Format("{0} [{1}]需要满料串,去[{2}]取料串[{3}]", currentAgv.Name, SettingString.D3, SettingString.A3, rfid));
return new GetShelfJob(currentAgv.Place, SettingString.A3, rfid, true);
}
}
return null;
}
}
}