|
@@ -1,5 +1,4 @@
|
|
|
-using PlcSiemens.Core.Extension;
|
|
|
-using ServiceCenter;
|
|
|
+using ServiceCenter;
|
|
|
using ServiceCenter.SqlSugars;
|
|
|
using WCS.Core;
|
|
|
using WCS.Entity;
|
|
@@ -92,10 +91,10 @@ namespace WCS.WorkEngineering
|
|
|
//分拣库三
|
|
|
new("10.30.37.105",new List<Tuple<int, int>>()
|
|
|
{
|
|
|
- //new(1621, 1640),
|
|
|
- //new(2901, 2940),
|
|
|
- //new(3101, 3140),
|
|
|
- //new(1691, 1720)
|
|
|
+ new(1641, 1660),
|
|
|
+ new(3301, 3340),
|
|
|
+ new(3501, 3540),
|
|
|
+ new(1721, 1750)
|
|
|
})
|
|
|
};
|
|
|
|
|
@@ -251,7 +250,7 @@ namespace WCS.WorkEngineering
|
|
|
var mLTuples91 = new List<Tuple<string, List<int>>>()
|
|
|
{
|
|
|
new("10.30.37.166",new List<int>(){418,818,1218}),
|
|
|
- new("10.30.37.166",new List<int>(){618,1018,1418})
|
|
|
+ new("10.30.37.198",new List<int>(){618,1018,1418})
|
|
|
};
|
|
|
|
|
|
foreach (var item in mLTuples91)
|
|
@@ -328,8 +327,8 @@ namespace WCS.WorkEngineering
|
|
|
List<TrussSegmentInfo> TrussInfo = new List<TrussSegmentInfo>
|
|
|
{
|
|
|
new TrussSegmentInfo( 1, "10.30.37.211"),
|
|
|
- new TrussSegmentInfo( 1, "10.30.37.217"),
|
|
|
- new TrussSegmentInfo( 1, "10.30.37.223")
|
|
|
+ new TrussSegmentInfo( 2, "10.30.37.217"),
|
|
|
+ new TrussSegmentInfo( 3, "10.30.37.223")
|
|
|
};
|
|
|
|
|
|
foreach (var item in TrussInfo)
|
|
@@ -435,89 +434,222 @@ namespace WCS.WorkEngineering
|
|
|
|
|
|
routeInfos.AddRange(new List<RouteInfo>() {
|
|
|
|
|
|
- #region 出库路径
|
|
|
+ #region 出库
|
|
|
+
|
|
|
+ #region 堆垛机--巷道
|
|
|
|
|
|
- //堆垛机--巷道
|
|
|
new RouteInfo("SRM1", new string[] { "TY1" }),
|
|
|
new RouteInfo("SRM2", new string[] { "TY2" }),
|
|
|
- //巷道--一楼堆垛机放货口
|
|
|
- new RouteInfo("TY1", new string[] { "2532" }), //人工取货口
|
|
|
- new RouteInfo("TY2", new string[] { "2732" }),
|
|
|
- new RouteInfo("TY1", new string[] { "2534","2533" }),//AGV取货口
|
|
|
- new RouteInfo("TY2", new string[] { "2734","2733" }),
|
|
|
- //巷道--二楼堆垛机放货口
|
|
|
+ new RouteInfo("SRM3", new string[] { "TY3" }),
|
|
|
+ new RouteInfo("SRM4", new string[] { "TY4" }),
|
|
|
+ new RouteInfo("SRM5", new string[] { "TY5" }),
|
|
|
+ new RouteInfo("SRM6", new string[] { "TY6" }),
|
|
|
+
|
|
|
+ #endregion 堆垛机--巷道
|
|
|
+
|
|
|
+ #region 巷道--一楼堆垛机放货口
|
|
|
+
|
|
|
+ new RouteInfo("TY1", new string[] { "2532","2534","2533" }), //人工取货口
|
|
|
+ new RouteInfo("TY2", new string[] { "2732","2734","2733" }),
|
|
|
+ new RouteInfo("TY3", new string[] { "2932","2934","2933" }), //人工取货口
|
|
|
+ new RouteInfo("TY4", new string[] { "3132","3134","3133" }),
|
|
|
+ new RouteInfo("TY5", new string[] { "3332","3334","3333" }), //人工取货口
|
|
|
+ new RouteInfo("TY6", new string[]{ "3532","3534","3533" }),
|
|
|
+
|
|
|
+ #endregion 巷道--一楼堆垛机放货口
|
|
|
+
|
|
|
+ #region 巷道--二楼堆垛机放货口
|
|
|
+
|
|
|
new RouteInfo("TY1", new string[] { "1601","1605" }),
|
|
|
new RouteInfo("TY2", new string[] { "1611","1615" }),
|
|
|
- //二楼堆垛机放货口--二楼拆盘机
|
|
|
+ new RouteInfo("TY3", new string[] { "1621","1625" }),
|
|
|
+ new RouteInfo("TY4", new string[] { "1631","1635" }),
|
|
|
+ new RouteInfo("TY5", new string[] { "1641","1645" }),
|
|
|
+ new RouteInfo("TY6", new string[] { "1651","1655" }),
|
|
|
+
|
|
|
+ #endregion 巷道--二楼堆垛机放货口
|
|
|
+
|
|
|
+ #region 二楼堆垛机放货口--二楼拆盘机
|
|
|
+
|
|
|
+ //库一
|
|
|
new RouteInfo("1601", new string[] { "1602" }),//非09拆盘机
|
|
|
new RouteInfo("1611", new string[] { "1612"}),
|
|
|
new RouteInfo("1605", new string[] { "1606" }),//09拆盘机
|
|
|
new RouteInfo("1615", new string[] { "1616" }),
|
|
|
- //二楼拆盘机--RGV
|
|
|
+ //库二
|
|
|
+ new RouteInfo("1621", new string[] { "1622" }),//非09拆盘机
|
|
|
+ new RouteInfo("1631", new string[] { "1632"}),
|
|
|
+ new RouteInfo("1625", new string[] { "1626" }),//09拆盘机
|
|
|
+ new RouteInfo("1635", new string[] { "1636" }),
|
|
|
+ ////库三
|
|
|
+ new RouteInfo("1641", new string[] { "1642" }),//非09拆盘机
|
|
|
+ new RouteInfo("1651", new string[] { "1652"}),
|
|
|
+ new RouteInfo("1645", new string[] { "1646" }),//09拆盘机
|
|
|
+ new RouteInfo("1655", new string[] { "1656" }),
|
|
|
+
|
|
|
+ #endregion 二楼堆垛机放货口--二楼拆盘机
|
|
|
+
|
|
|
+ #region 二楼拆盘机--RGV
|
|
|
+
|
|
|
+ //库一
|
|
|
new RouteInfo("1602", new string[] { "RGV1" }),//非09拆盘机
|
|
|
new RouteInfo("1612", new string[] { "RGV2"}),
|
|
|
new RouteInfo("1606", new string[] { "RGV1" }),//09拆盘机
|
|
|
new RouteInfo("1616", new string[] { "RGV2" }),
|
|
|
- //RGV--码垛区域
|
|
|
+ //库二
|
|
|
+ new RouteInfo("1622", new string[] { "RGV3" }),//非09拆盘机
|
|
|
+ new RouteInfo("1632", new string[] { "RGV4"}),
|
|
|
+ new RouteInfo("1626", new string[] { "RGV3" }),//09拆盘机
|
|
|
+ new RouteInfo("1636", new string[] { "RGV4" }),
|
|
|
+ ////库三
|
|
|
+ new RouteInfo("1642", new string[] { "RGV5" }),//非09拆盘机
|
|
|
+ new RouteInfo("1652", new string[] { "RGV6"}),
|
|
|
+ new RouteInfo("1646", new string[] { "RGV5" }),//09拆盘机
|
|
|
+ new RouteInfo("1656", new string[] { "RGV6" }),
|
|
|
+
|
|
|
+ #endregion 二楼拆盘机--RGV
|
|
|
+
|
|
|
+ #region RGV--码垛区域
|
|
|
+
|
|
|
+ //库一
|
|
|
new RouteInfo("RGV1", new string[] { "1661","1666" }),//北区机械臂码垛区
|
|
|
- new RouteInfo("RGV2", new string[] { "1676","1681" }),
|
|
|
- //new RouteInfo("RGV2", new string[] { }),//南区机械臂
|
|
|
new RouteInfo("RGV1", new string[] { "1662","1663","1664","1665", "1670","1671","1672","1673","1674","1675"}),//桁架北区码垛站台
|
|
|
- //new RouteInfo("RGV2", new string[] { }),//南区桁架
|
|
|
-
|
|
|
- //Robot码垛工位
|
|
|
+ new RouteInfo("RGV2", new string[] { "1676","1681" }),
|
|
|
+ new RouteInfo("RGV2", new string[] { "1677","1678","1679","1680", "1685","1686","1687","1688","1689","1690" }),
|
|
|
+ //库二
|
|
|
+ new RouteInfo("RGV3", new string[] { "1691","1696" }),//北区机械臂码垛区
|
|
|
+ new RouteInfo("RGV3", new string[] { "1692","1693","1694","1695", "1700","1701","1702","1703","1704","1705"}),//桁架北区码垛站台
|
|
|
+ new RouteInfo("RGV4", new string[] { "1706","1711" }),
|
|
|
+ new RouteInfo("RGV4", new string[] { "1707","1708","1709","1710", "1715","1716","1717","1718","1719","1720" }),
|
|
|
+ ////库三
|
|
|
+ new RouteInfo("RGV5", new string[] { "1721","1726" }),//北区机械臂码垛区
|
|
|
+ new RouteInfo("RGV5", new string[] { "1722","1723","1724","1725", "1730","1731","1732","1733","1734","1735"}),//桁架北区码垛站台
|
|
|
+ new RouteInfo("RGV6", new string[] { "1736","1741" }),
|
|
|
+ new RouteInfo("RGV6", new string[] { "1737","1738","1739","1740", "1745","1746","1747","1748","1749","1750" }),
|
|
|
+
|
|
|
+ #endregion RGV--码垛区域
|
|
|
+
|
|
|
+ #region Robot--码垛工位
|
|
|
+
|
|
|
+ //库一
|
|
|
new RouteInfo("Robot1", new string[] { "1666" }),
|
|
|
new RouteInfo("Robot1", new string[] { "1661" }),
|
|
|
new RouteInfo("Robot2", new string[] { "1676" }),
|
|
|
new RouteInfo("Robot2", new string[] { "1681" }),
|
|
|
+ //库二
|
|
|
+ new RouteInfo("Robot3", new string[] { "1691" }),
|
|
|
+ new RouteInfo("Robot3", new string[] { "1696" }),
|
|
|
+ new RouteInfo("Robot4", new string[] { "1706" }),
|
|
|
+ new RouteInfo("Robot4", new string[] { "1711" }),
|
|
|
+ //库三
|
|
|
+ new RouteInfo("Robot5", new string[] { "1721" }),
|
|
|
+ new RouteInfo("Robot5", new string[] { "1726" }),
|
|
|
+ new RouteInfo("Robot6", new string[] { "1736" }),
|
|
|
+ new RouteInfo("Robot6", new string[] { "1741" }),
|
|
|
+
|
|
|
+ #endregion Robot--码垛工位
|
|
|
|
|
|
- #endregion 出库路径
|
|
|
+ #endregion 出库
|
|
|
|
|
|
#region 入库
|
|
|
|
|
|
- //一楼人工入库口-巷道
|
|
|
+ #region 一楼人工入库口-巷道
|
|
|
+
|
|
|
new RouteInfo("2532", new string[] { "TY1" }), //分拣库一
|
|
|
new RouteInfo("2732", new string[] { "TY2" }),
|
|
|
new RouteInfo("2932", new string[] { "TY3" }), //分拣库二
|
|
|
new RouteInfo("3132", new string[] { "TY4" }),
|
|
|
- //new RouteInfo("2532", new string[] { "TY5" }), //分拣库三
|
|
|
- //new RouteInfo("2732", new string[] { "TY6" }),
|
|
|
- //一楼叠盘机(堆垛机入口)--巷道
|
|
|
+ new RouteInfo("3332", new string[] { "TY5" }), //分拣库三
|
|
|
+ new RouteInfo("3532", new string[] { "TY6" }),
|
|
|
+
|
|
|
+ #endregion 一楼人工入库口-巷道
|
|
|
+
|
|
|
+ #region 一楼叠盘机(堆垛机入口)--巷道
|
|
|
+
|
|
|
new RouteInfo("2527", new string[] { "TY1" }), //分拣库一
|
|
|
new RouteInfo("2528", new string[] { "TY1" }),
|
|
|
new RouteInfo("2727", new string[] { "TY2" }),
|
|
|
new RouteInfo("2728", new string[] { "TY2" }),
|
|
|
- //new RouteInfo("2527", new string[] { "TY3" }), //分拣库二
|
|
|
- //new RouteInfo("2528", new string[] { "TY3" }),
|
|
|
- //new RouteInfo("2727", new string[] { "TY4" }),
|
|
|
- //new RouteInfo("2728", new string[] { "TY4" }),
|
|
|
- //new RouteInfo("2527", new string[] { "TY5" }), //分拣库三
|
|
|
- //new RouteInfo("2528", new string[] { "TY5" }),
|
|
|
- //new RouteInfo("2727", new string[] { "TY6" }),
|
|
|
- //new RouteInfo("2728", new string[] { "TY6" }),
|
|
|
- //一楼AGV入口
|
|
|
- //主线入口--预分配点
|
|
|
- new RouteInfo("1", new string[] { "18" }),
|
|
|
- new RouteInfo("101", new string[] { "118" }),
|
|
|
- //预分配点--主线分流点
|
|
|
+ new RouteInfo("2927", new string[] { "TY3" }), //分拣库二
|
|
|
+ new RouteInfo("2928", new string[] { "TY3" }),
|
|
|
+ new RouteInfo("3127", new string[] { "TY4" }),
|
|
|
+ new RouteInfo("3128", new string[] { "TY4" }),
|
|
|
+ new RouteInfo("3327", new string[] { "TY5" }), //分拣库三
|
|
|
+ new RouteInfo("3328", new string[] { "TY5" }),
|
|
|
+ new RouteInfo("3527", new string[] { "TY6" }),
|
|
|
+ new RouteInfo("3528", new string[] { "TY6" }),
|
|
|
+
|
|
|
+ #endregion 一楼叠盘机(堆垛机入口)--巷道
|
|
|
+
|
|
|
+ #region 主线
|
|
|
+
|
|
|
+ //北侧
|
|
|
+ new RouteInfo("3", new string[] { "14" }),
|
|
|
+ new RouteInfo("14", new string[] { "18" }),
|
|
|
new RouteInfo("18", new string[] { "22" }),
|
|
|
- new RouteInfo("118", new string[] { "122" }),
|
|
|
- //主线分流点--环形库分流点
|
|
|
- new RouteInfo("22", new string[] { "418" }),
|
|
|
- new RouteInfo("122", new string[] { "618" }),
|
|
|
- //环形库分流点--环形库取货点
|
|
|
+ new RouteInfo("22", new string[] { "38" }),
|
|
|
+ //new RouteInfo("323", new string[] { "38" }),
|
|
|
+ new RouteInfo("38", new string[] { "41" }),
|
|
|
+ new RouteInfo("41", new string[] { "58" }),
|
|
|
+ new RouteInfo("58", new string[] { "61" }),
|
|
|
+ //南侧
|
|
|
+ new RouteInfo("101", new string[] { "114" }),
|
|
|
+ new RouteInfo("114", new string[] { "118" }),
|
|
|
+ new RouteInfo("118", new string[] { "122" }),
|
|
|
+ new RouteInfo("122", new string[] { "138" }),
|
|
|
+ new RouteInfo("138", new string[] { "141" }),
|
|
|
+ new RouteInfo("141", new string[] { "158" }),
|
|
|
+ new RouteInfo("158", new string[] { "161" }),
|
|
|
+
|
|
|
+ #endregion 主线
|
|
|
+
|
|
|
+ #region 主线分流点--环形库分流点
|
|
|
+
|
|
|
+ new RouteInfo("22", new string[] { "418" }), //分拣库一北
|
|
|
+ new RouteInfo("122", new string[] { "618" }), //分拣库一南
|
|
|
+ new RouteInfo("41", new string[] { "818" }), //分拣库一北
|
|
|
+ new RouteInfo("141", new string[] { "1018" }), //分拣库一南
|
|
|
+ new RouteInfo("61", new string[] { "1218" }), //分拣库一北
|
|
|
+ new RouteInfo("161", new string[] { "1418" }), //分拣库一南
|
|
|
+
|
|
|
+ #endregion 主线分流点--环形库分流点
|
|
|
+
|
|
|
+ #region 环形库分流点--环形库取货点
|
|
|
+
|
|
|
new RouteInfo("418", new string[] { "424","433","442" }),
|
|
|
- new RouteInfo("618", new string[] { /*"424","433",*/"642" }),
|
|
|
- //环形库分流点--桁架分流点
|
|
|
- new RouteInfo("418", new string[] { "455" }),
|
|
|
- new RouteInfo("618", new string[] { "655" }),
|
|
|
- //桁架分流点--桁架缓存放行点
|
|
|
- new RouteInfo("455", new string[] { "466","480","494","508", "522","536","550","564","578"}),
|
|
|
- new RouteInfo("655", new string[] { "666"/*,"480","494","508", "522","536","550","564","578"*/}),
|
|
|
- //桁架分流点--异常缓存放行点
|
|
|
- new RouteInfo("455", new string[] { "491" }),
|
|
|
- //桁架缓存放行点--桁架取货点
|
|
|
- new("466", new[] { "461" }),
|
|
|
+ new RouteInfo("618", new string[] { "624", "633", "642" }),
|
|
|
+ new RouteInfo("818", new string[] { "824","833","842" }),
|
|
|
+ new RouteInfo("1018", new string[] { "1024","1033","1042" }),
|
|
|
+ new RouteInfo("1218", new string[] { "1224","1233","1242" }),
|
|
|
+ new RouteInfo("1418", new string[] { "1424","1433","1442" }),
|
|
|
+
|
|
|
+ #endregion 环形库分流点--环形库取货点
|
|
|
+
|
|
|
+ #region 环形库分流点--桁架分流点
|
|
|
+
|
|
|
+ new RouteInfo("418", new string[] { "455" }), //分拣库一北
|
|
|
+ new RouteInfo("618", new string[] { "655" }), //分拣库一南
|
|
|
+ new RouteInfo("818", new string[] { "855" }), //分拣库二北
|
|
|
+ new RouteInfo("1018", new string[] { "1055" }), //分拣库二南
|
|
|
+ new RouteInfo("1218", new string[] { "1255" }), //分拣库三北
|
|
|
+ new RouteInfo("1418", new string[] { "1455" }), //分拣库三南
|
|
|
+
|
|
|
+ #endregion 环形库分流点--桁架分流点
|
|
|
+
|
|
|
+ #region 桁架分流点--桁架缓存放行点
|
|
|
+
|
|
|
+ new RouteInfo("455", new string[] { "466","480","494","508", "522","536","550","564","578","591"}), //分拣库一北
|
|
|
+ new RouteInfo("655", new string[] { "666","680","694","708", "722","736","750","764","778","791"}), //分拣库一南
|
|
|
+ new RouteInfo("855", new string[] { "866","880","894","908", "922","936","950","964","978","991"}), //分拣库二北
|
|
|
+ new RouteInfo("1055", new string[] { "1066","1080","1094","1108", "1122","1136","1150","1164","1178","1191"}), //分拣库二南
|
|
|
+ new RouteInfo("1255", new string[] { "1266","1280","1294","1308", "1322","1336","1350","1364","1378", "1391"}), //分拣库三北
|
|
|
+ new RouteInfo("1455", new string[] { "1466","1480","1494","1408", "1422","1436","1450","1464","1478","1591"}), //分拣库三南
|
|
|
+
|
|
|
+ #endregion 桁架分流点--桁架缓存放行点
|
|
|
+
|
|
|
+ #region 桁架缓存放行点--桁架取货点
|
|
|
+
|
|
|
+ new("466", new[] { "461" }), //分拣一北侧
|
|
|
new("480", new[] { "475" }),
|
|
|
new("494", new[] { "489" }),
|
|
|
new("508", new[] { "503" }),
|
|
@@ -526,9 +658,63 @@ namespace WCS.WorkEngineering
|
|
|
new("550", new[] { "545" }),
|
|
|
new("564", new[] { "559" }),
|
|
|
new("578", new[] { "573" }),
|
|
|
- new("666", new[] { "661" }),
|
|
|
- //桁架取货点--桁架
|
|
|
- new("461", new[] { "Truss1" }),
|
|
|
+ new("591", new[] { "586" }),
|
|
|
+ new("666", new[] { "661" }),//分拣一南侧
|
|
|
+ new("680", new[] { "675" }),
|
|
|
+ new("694", new[] { "689" }),
|
|
|
+ new("708", new[] { "703" }),
|
|
|
+ new("722", new[] { "717" }),
|
|
|
+ new("736", new[] { "731" }),
|
|
|
+ new("750", new[] { "745" }),
|
|
|
+ new("764", new[] { "759" }),
|
|
|
+ new("778", new[] { "773" }),
|
|
|
+ new("791", new[] { "786" }),
|
|
|
+ new("866", new[] { "861" }), //分拣二北侧
|
|
|
+ new("880", new[] { "875" }),
|
|
|
+ new("894", new[] { "889" }),
|
|
|
+ new("908", new[] { "903" }),
|
|
|
+ new("922", new[] { "917" }),
|
|
|
+ new("936", new[] { "931" }),
|
|
|
+ new("950", new[] { "945" }),
|
|
|
+ new("964", new[] { "959" }),
|
|
|
+ new("978", new[] { "973" }),
|
|
|
+ new("991", new[] { "986" }),
|
|
|
+ new("1066", new[] { "1061" }),//分拣二南侧
|
|
|
+ new("1080", new[] { "1075" }),
|
|
|
+ new("1094", new[] { "1089" }),
|
|
|
+ new("1108", new[] { "1103" }),
|
|
|
+ new("1122", new[] { "1117" }),
|
|
|
+ new("1136", new[] { "1131" }),
|
|
|
+ new("1150", new[] { "1145" }),
|
|
|
+ new("1164", new[] { "1159" }),
|
|
|
+ new("1178", new[] { "1173" }),
|
|
|
+ new("1191", new[] { "1186" }),
|
|
|
+ new("1266", new[] { "1261" }), //分拣三北侧
|
|
|
+ new("1280", new[] { "1275" }),
|
|
|
+ new("1294", new[] { "1289" }),
|
|
|
+ new("1308", new[] { "1303" }),
|
|
|
+ new("1322", new[] { "1317" }),
|
|
|
+ new("1336", new[] { "1331" }),
|
|
|
+ new("1350", new[] { "1345" }),
|
|
|
+ new("1364", new[] { "1359" }),
|
|
|
+ new("1378", new[] { "1373" }),
|
|
|
+ new("1391", new[] { "1386" }),
|
|
|
+ new("1466", new[] { "1461" }),//分拣三南侧
|
|
|
+ new("1480", new[] { "1475" }),
|
|
|
+ new("1494", new[] { "1489" }),
|
|
|
+ new("1508", new[] { "1503" }),
|
|
|
+ new("1522", new[] { "1517" }),
|
|
|
+ new("1536", new[] { "1531" }),
|
|
|
+ new("1550", new[] { "1545" }),
|
|
|
+ new("1564", new[] { "1559" }),
|
|
|
+ new("1578", new[] { "1573" }),
|
|
|
+ new("1591", new[] { "1586" }),
|
|
|
+
|
|
|
+ #endregion 桁架缓存放行点--桁架取货点
|
|
|
+
|
|
|
+ #region 桁架取货点--桁架
|
|
|
+
|
|
|
+ new("461", new[] { "Truss1" }),//分拣一北侧
|
|
|
new("475", new[] { "Truss1" }),
|
|
|
new("489", new[] { "Truss1" }),
|
|
|
new("503", new[] { "Truss1" }),
|
|
@@ -537,20 +723,68 @@ namespace WCS.WorkEngineering
|
|
|
new("545", new[] { "Truss1" }),
|
|
|
new("559", new[] { "Truss1" }),
|
|
|
new("573", new[] { "Truss1" }),
|
|
|
+ new("586", new[] { "Truss1" }),//分拣一南侧
|
|
|
new("661", new[] { "Truss1" }),
|
|
|
+ new("675", new[] { "Truss1" }),
|
|
|
+ new("689", new[] { "Truss1" }),
|
|
|
+ new("703", new[] { "Truss1" }),
|
|
|
+ new("717", new[] { "Truss1" }),
|
|
|
+ new("731", new[] { "Truss1" }),
|
|
|
+ new("745", new[] { "Truss1" }),
|
|
|
+ new("759", new[] { "Truss1" }),
|
|
|
+ new("773", new[] { "Truss1" }),
|
|
|
+ new("786", new[] { "Truss1" }),
|
|
|
+ new("861", new[] { "Truss2" }), //分拣二北侧
|
|
|
+ new("875", new[] { "Truss2" }),
|
|
|
+ new("889", new[] { "Truss2" }),
|
|
|
+ new("903", new[] { "Truss2" }),
|
|
|
+ new("917", new[] { "Truss2" }),
|
|
|
+ new("931", new[] { "Truss2" }),
|
|
|
+ new("945", new[] { "Truss2" }),
|
|
|
+ new("959", new[] { "Truss2" }),
|
|
|
+ new("973", new[] { "Truss2" }),
|
|
|
+ new("986", new[] { "Truss2" }),
|
|
|
+ new("1061", new[] { "Truss2" }),//分拣二南侧
|
|
|
+ new("1075", new[] { "Truss2" }),
|
|
|
+ new("1089", new[] { "Truss2" }),
|
|
|
+ new("1103", new[] { "Truss2" }),
|
|
|
+ new("1117", new[] { "Truss2" }),
|
|
|
+ new("1131", new[] { "Truss2" }),
|
|
|
+ new("1145", new[] { "Truss2" }),
|
|
|
+ new("1159", new[] { "Truss2" }),
|
|
|
+ new("1173", new[] { "Truss2" }),
|
|
|
+ new("1186", new[] { "Truss2" }),
|
|
|
+ new("1261", new[] { "Truss3" }), //分拣三北侧
|
|
|
+ new("1275", new[] { "Truss3" }),
|
|
|
+ new("1289", new[] { "Truss3" }),
|
|
|
+ new("1303", new[] { "Truss3" }),
|
|
|
+ new("1317", new[] { "Truss3" }),
|
|
|
+ new("1331", new[] { "Truss3" }),
|
|
|
+ new("1345", new[] { "Truss3" }),
|
|
|
+ new("1359", new[] { "Truss3" }),
|
|
|
+ new("1373", new[] { "Truss3" }),
|
|
|
+ new("1386", new[] { "Truss3" }),
|
|
|
+ new("1461", new[] { "Truss3" }),//分拣三南侧
|
|
|
+ new("1475", new[] { "Truss3" }),
|
|
|
+ new("1489", new[] { "Truss3" }),
|
|
|
+ new("1503", new[] { "Truss3" }),
|
|
|
+ new("1517", new[] { "Truss3" }),
|
|
|
+ new("1531", new[] { "Truss3" }),
|
|
|
+ new("1545", new[] { "Truss3" }),
|
|
|
+ new("1559", new[] { "Truss3" }),
|
|
|
+ new("1573", new[] { "Truss3" }),
|
|
|
+ new("1586", new[] { "Truss3" }),
|
|
|
+
|
|
|
+ #endregion 桁架取货点--桁架
|
|
|
+
|
|
|
//桁架--码垛工位
|
|
|
- new("Truss1", new[] { "1662" }),
|
|
|
- new("Truss1", new[] { "1663" }),
|
|
|
- new("Truss1", new[] { "1664" }),
|
|
|
- new("Truss1", new[] { "1665" }),
|
|
|
- new("Truss1", new[] { "1670" }),
|
|
|
- new("Truss1", new[] { "1671" }),
|
|
|
- new("Truss1", new[] { "1672" }),
|
|
|
- new("Truss1", new[] { "1673" }),
|
|
|
- new("Truss1", new[] { "1674" }),
|
|
|
- new("Truss1", new[] { "1675" }),
|
|
|
- //new("Truss2", new[] { "1675" }),
|
|
|
- //码垛工位--RGV
|
|
|
+ new("Truss1", new[] { "1662","1663","1664","1665","1670","1671","1672","1673", "1674","1675","1677","1678","1679","1680", "1685","1686","1687","1688","1689","1690" }),
|
|
|
+ new("Truss2", new[] { "1692","1693","1694","1695", "1700","1701","1702","1703","1704","1705","1707","1708","1709","1710", "1715","1716","1717","1718","1719","1720" }),
|
|
|
+ new("Truss3", new[] { "1722","1723","1724","1725", "1730","1731","1732","1733","1734","1735","1737","1738","1739","1740", "1745","1746","1747","1748","1749","1750"}),
|
|
|
+
|
|
|
+ #region 码垛工位--RGV
|
|
|
+
|
|
|
+ //分拣库一北
|
|
|
new RouteInfo("1661", new string[] { "RGV1" }),//机械手码垛工位
|
|
|
new RouteInfo("1666", new string[] { "RGV1" }),
|
|
|
new RouteInfo("1662", new string[] { "RGV1" }),//绗架码垛工位
|
|
@@ -563,48 +797,158 @@ namespace WCS.WorkEngineering
|
|
|
new RouteInfo("1673", new string[] { "RGV1" }),
|
|
|
new RouteInfo("1674", new string[] { "RGV1" }),
|
|
|
new RouteInfo("1675", new string[] { "RGV1" }),
|
|
|
- new RouteInfo("1676", new string[] { "RGV2" }),
|
|
|
+ //分拣库一南
|
|
|
+ new RouteInfo("1676", new string[] { "RGV2" }),//机械手码垛工位
|
|
|
new RouteInfo("1681", new string[] { "RGV2" }),
|
|
|
- //RGV--RGV放货点
|
|
|
+ new RouteInfo("1677", new string[] { "RGV2" }),//绗架码垛工位
|
|
|
+ new RouteInfo("1678", new string[] { "RGV2" }),
|
|
|
+ new RouteInfo("1679", new string[] { "RGV2" }),
|
|
|
+ new RouteInfo("1680", new string[] { "RGV2" }),
|
|
|
+ new RouteInfo("1685", new string[] { "RGV2" }),
|
|
|
+ new RouteInfo("1686", new string[] { "RGV2" }),
|
|
|
+ new RouteInfo("1687", new string[] { "RGV2" }),
|
|
|
+ new RouteInfo("1688", new string[] { "RGV2" }),
|
|
|
+ new RouteInfo("1689", new string[] { "RGV2" }),
|
|
|
+ new RouteInfo("1690", new string[] { "RGV2" }),
|
|
|
+
|
|
|
+ //分拣库二北
|
|
|
+ new RouteInfo("1691", new string[] { "RGV3" }),//机械手码垛工位
|
|
|
+ new RouteInfo("1696", new string[] { "RGV3" }),
|
|
|
+ new RouteInfo("1692", new string[] { "RGV3" }),//绗架码垛工位
|
|
|
+ new RouteInfo("1693", new string[] { "RGV3" }),
|
|
|
+ new RouteInfo("1694", new string[] { "RGV3" }),
|
|
|
+ new RouteInfo("1695", new string[] { "RGV3" }),
|
|
|
+ new RouteInfo("1700", new string[] { "RGV3" }),
|
|
|
+ new RouteInfo("1701", new string[] { "RGV3" }),
|
|
|
+ new RouteInfo("1702", new string[] { "RGV3" }),
|
|
|
+ new RouteInfo("1703", new string[] { "RGV3" }),
|
|
|
+ new RouteInfo("1704", new string[] { "RGV3" }),
|
|
|
+ new RouteInfo("1705", new string[] { "RGV3" }),
|
|
|
+ //分拣库二南
|
|
|
+ new RouteInfo("1706", new string[] { "RGV4" }),//机械手码垛工位
|
|
|
+ new RouteInfo("1711", new string[] { "RGV4" }),
|
|
|
+ new RouteInfo("1707", new string[] { "RGV4" }),//绗架码垛工位
|
|
|
+ new RouteInfo("1708", new string[] { "RGV4" }),
|
|
|
+ new RouteInfo("1709", new string[] { "RGV4" }),
|
|
|
+ new RouteInfo("1710", new string[] { "RGV4" }),
|
|
|
+ new RouteInfo("1715", new string[] { "RGV4" }),
|
|
|
+ new RouteInfo("1716", new string[] { "RGV4" }),
|
|
|
+ new RouteInfo("1717", new string[] { "RGV4" }),
|
|
|
+ new RouteInfo("1718", new string[] { "RGV4" }),
|
|
|
+ new RouteInfo("1719", new string[] { "RGV4" }),
|
|
|
+ new RouteInfo("1720", new string[] { "RGV4" }),
|
|
|
+ //分拣库三北
|
|
|
+ new RouteInfo("1721", new string[] { "RGV5" }),//机械手码垛工位
|
|
|
+ new RouteInfo("1726", new string[] { "RGV5" }),
|
|
|
+ new RouteInfo("1722", new string[] { "RGV5" }),//绗架码垛工位
|
|
|
+ new RouteInfo("1723", new string[] { "RGV5" }),
|
|
|
+ new RouteInfo("1724", new string[] { "RGV5" }),
|
|
|
+ new RouteInfo("1725", new string[] { "RGV5" }),
|
|
|
+ new RouteInfo("1730", new string[] { "RGV5" }),
|
|
|
+ new RouteInfo("1731", new string[] { "RGV5" }),
|
|
|
+ new RouteInfo("1732", new string[] { "RGV5" }),
|
|
|
+ new RouteInfo("1733", new string[] { "RGV5" }),
|
|
|
+ new RouteInfo("1734", new string[] { "RGV5" }),
|
|
|
+ new RouteInfo("1735", new string[] { "RGV5" }),
|
|
|
+ //分拣库三南
|
|
|
+ new RouteInfo("1736", new string[] { "RGV6" }),//机械手码垛工位
|
|
|
+ new RouteInfo("1741", new string[] { "RGV6" }),
|
|
|
+ new RouteInfo("1737", new string[] { "RGV6" }),//绗架码垛工位
|
|
|
+ new RouteInfo("1738", new string[] { "RGV6" }),
|
|
|
+ new RouteInfo("1739", new string[] { "RGV6" }),
|
|
|
+ new RouteInfo("1740", new string[] { "RGV6" }),
|
|
|
+ new RouteInfo("1745", new string[] { "RGV6" }),
|
|
|
+ new RouteInfo("1746", new string[] { "RGV6" }),
|
|
|
+ new RouteInfo("1747", new string[] { "RGV6" }),
|
|
|
+ new RouteInfo("1748", new string[] { "RGV6" }),
|
|
|
+ new RouteInfo("1749", new string[] { "RGV6" }),
|
|
|
+ new RouteInfo("1750", new string[] { "RGV6" }),
|
|
|
+
|
|
|
+ #endregion 码垛工位--RGV
|
|
|
+
|
|
|
+ #region RGV--RGV放货点
|
|
|
+
|
|
|
new RouteInfo("RGV1", new string[] { "1604" }),
|
|
|
new RouteInfo("RGV2", new string[] { "1614" }),
|
|
|
- //RGV放货点--堆垛机取货口
|
|
|
+ new RouteInfo("RGV3", new string[] { "1624" }),
|
|
|
+ new RouteInfo("RGV4", new string[] { "1634" }),
|
|
|
+ new RouteInfo("RGV5", new string[] { "1644" }),
|
|
|
+ new RouteInfo("RGV6", new string[] { "1654" }),
|
|
|
+
|
|
|
+ #endregion RGV--RGV放货点
|
|
|
+
|
|
|
+ #region RGV放货点--堆垛机取货口
|
|
|
+
|
|
|
new RouteInfo("1604", new string[] { "1603" }),//北侧
|
|
|
- new RouteInfo("1614", new string[] { "1613" }),//北侧
|
|
|
+ new RouteInfo("1614", new string[] { "1613" }),//南侧
|
|
|
+ new RouteInfo("1624", new string[] { "1623" }),//北侧
|
|
|
+ new RouteInfo("1634", new string[] { "1633" }),//南侧
|
|
|
+ new RouteInfo("1644", new string[] { "1643" }),//北侧
|
|
|
+ new RouteInfo("1654", new string[] { "1653" }),//南侧
|
|
|
+
|
|
|
+ #endregion RGV放货点--堆垛机取货口
|
|
|
+
|
|
|
+ #region 二楼堆垛机入库--巷道
|
|
|
|
|
|
- //二楼堆垛机入库--巷道
|
|
|
new RouteInfo("1603", new string[] { "TY1" }),//北侧
|
|
|
- //new RouteInfo("1603", new string[] { "TY2" }),//北侧
|
|
|
new RouteInfo("1613", new string[] { "TY2" }),//南侧
|
|
|
+ new RouteInfo("1623", new string[] { "TY3" }),//北侧
|
|
|
+ new RouteInfo("1633", new string[] { "TY4" }),//南侧
|
|
|
+ new RouteInfo("1643", new string[] { "TY5" }),//北侧
|
|
|
+ new RouteInfo("1653", new string[] { "TY6" }),//南侧
|
|
|
+
|
|
|
+ #endregion 二楼堆垛机入库--巷道
|
|
|
+
|
|
|
+ #region 巷道--堆垛机
|
|
|
|
|
|
- //巷道--堆垛机
|
|
|
new RouteInfo("TY1", new string[] { "SRM1" }),
|
|
|
new RouteInfo("TY2", new string[] { "SRM2" }),
|
|
|
+ new RouteInfo("TY3", new string[] { "SRM3" }),
|
|
|
+ new RouteInfo("TY4", new string[] { "SRM4" }),
|
|
|
+ new RouteInfo("TY5", new string[] { "SRM5" }),
|
|
|
+ new RouteInfo("TY6", new string[] { "SRM6" }),
|
|
|
+
|
|
|
+ #endregion 巷道--堆垛机
|
|
|
+
|
|
|
+ #region 线体取货位--Robot
|
|
|
|
|
|
- //线体取货位--Robot
|
|
|
new RouteInfo("442", new string[] { "Robot1" }),
|
|
|
new RouteInfo("433", new string[] { "Robot1" }),
|
|
|
new RouteInfo("424", new string[] { "Robot1" }),
|
|
|
+ new RouteInfo("624", new string[] { "Robot2" }),
|
|
|
+ new RouteInfo("633", new string[] { "Robot2" }),
|
|
|
new RouteInfo("642", new string[] { "Robot2" }),
|
|
|
- //new RouteInfo("433", new string[] { "Robot1" }),
|
|
|
- //new RouteInfo("424", new string[] { "Robot1" }),
|
|
|
+ new RouteInfo("824", new string[] { "Robot3" }),
|
|
|
+ new RouteInfo("833", new string[] { "Robot3" }),
|
|
|
+ new RouteInfo("842", new string[] { "Robot3" }),
|
|
|
+ new RouteInfo("1024", new string[] { "Robot4" }),
|
|
|
+ new RouteInfo("1033", new string[] { "Robot4" }),
|
|
|
+ new RouteInfo("1042", new string[] { "Robot4" }),
|
|
|
+ new RouteInfo("1224", new string[] { "Robot5" }),
|
|
|
+ new RouteInfo("1242", new string[] { "Robot5" }),
|
|
|
+ new RouteInfo("1424", new string[] { "Robot5" }),
|
|
|
+ new RouteInfo("1424", new string[] { "Robot6" }),
|
|
|
+ new RouteInfo("1433", new string[] { "Robot6" }),
|
|
|
+ new RouteInfo("1442", new string[] { "Robot6" })
|
|
|
+
|
|
|
+ #endregion 线体取货位--Robot
|
|
|
|
|
|
#endregion 入库
|
|
|
});
|
|
|
|
|
|
#endregion 分拣库一
|
|
|
|
|
|
- foreach (var item in routeInfos)
|
|
|
+ Parallel.ForEach(routeInfos, routeInfo =>
|
|
|
{
|
|
|
- var device = Device.All.FirstOrDefault(x => x.Code == item.DeviceCode);
|
|
|
- device.AddTarget(item.NextList);
|
|
|
+ var device = Device.All.FirstOrDefault(x => x.Code == routeInfo.DeviceCode);
|
|
|
+ device.AddTarget(routeInfo.NextList);
|
|
|
|
|
|
- foreach (var next in item.NextList)
|
|
|
+ Parallel.ForEach(routeInfo.NextList, next =>
|
|
|
{
|
|
|
var dev = Device.All.FirstOrDefault(x => x.Code == next);
|
|
|
dev.Parent = device;
|
|
|
- }
|
|
|
- }
|
|
|
+ });
|
|
|
+ });
|
|
|
|
|
|
#endregion 配置路径信息
|
|
|
|
|
@@ -637,11 +981,11 @@ namespace WCS.WorkEngineering
|
|
|
new("1433",new List<string> {"1433","1434"}),
|
|
|
new("1424",new List<string> {"1424","1425"}),
|
|
|
};
|
|
|
- foreach (var item in tuples2)
|
|
|
+ Parallel.ForEach(tuples2, tuple =>
|
|
|
{
|
|
|
- var device = Device.All.FirstOrDefault(x => x.Code == item.Item1);
|
|
|
- device.AddDeviceGroup(item.Item2.ToArray());
|
|
|
- }
|
|
|
+ var device = Device.All.FirstOrDefault(x => x.Code == tuple.Item1);
|
|
|
+ device.AddDeviceGroup(tuple.Item2.ToArray());
|
|
|
+ });
|
|
|
|
|
|
#endregion 添加设备组
|
|
|
|
|
@@ -658,24 +1002,24 @@ namespace WCS.WorkEngineering
|
|
|
{ DeviceFlags.一楼叠盘机,new List<string>() { "2527","2528","2727","2728"} },
|
|
|
{ DeviceFlags.主线分流点,new List<string>() { "22","41","61"} },
|
|
|
{ DeviceFlags.满轮主线第一次扫码,new List<string>() { "1"} },
|
|
|
- { DeviceFlags.环形库分流点,new List<string>(){ "418", "618" } },
|
|
|
+ { DeviceFlags.环形库分流点,new List<string>(){ "418", "618","818","1018","1218","1418" } },
|
|
|
{ DeviceFlags.桁架分流点,new List<string>() { "455" } },
|
|
|
{ DeviceFlags.桁架缓存放行点, new List<string>(){ "466", "480", "494", "508","522","536","666","680","694","708","736","750" } },
|
|
|
{ DeviceFlags.桁架取货点, new List<string>(){ "461", "475", "489", "503","517","531", "661", "675", "689", "703", "717", "731" } },
|
|
|
- { DeviceFlags.拆盘机09, new List<string>(){ "1606","1616" } },
|
|
|
- { DeviceFlags.拆盘机非09, new List<string>(){ "1602","1612" } },
|
|
|
+ { DeviceFlags.拆盘机09, new List<string>(){ "1606","1616","1626","1636","1646","1656" } },
|
|
|
+ { DeviceFlags.拆盘机非09, new List<string>(){ "1602","1612","1622","1632","1642","1652" } },
|
|
|
{ DeviceFlags.桁架码垛位, new List<string>(){ "1670", "1671", "1672", "1673", "1674", "1675","1664","1662","1663","1665","1677","1678","1679","1680","1685","1686","1687","1688","1689","1690" } },
|
|
|
- { DeviceFlags.环形库码垛工位, new List<string>(){ "1666", "1661","1676","1681" } },
|
|
|
+ { DeviceFlags.环形库码垛工位, new List<string>(){ "1666", "1661","1676","1681", "1691", "1696", "1706", "1711", "1721", "1726", "1736", "1741" } },
|
|
|
{ DeviceFlags.AGV取货站台口, new List<string>(){ "2533", "2534", "2734" } },
|
|
|
- { DeviceFlags.Robot, new List<string>(){ "Robot1", "Robot2" } },
|
|
|
+ { DeviceFlags.Robot, new List<string>(){ "Robot1", "Robot2", "Robot3","Robot4" , "Robot5", "Robot6" } },
|
|
|
};
|
|
|
|
|
|
- devices.ForEach(item =>
|
|
|
+ Parallel.ForEach(devices, device =>
|
|
|
{
|
|
|
- item.Value.ForEach(code =>
|
|
|
+ Parallel.ForEach(device.Value, value =>
|
|
|
{
|
|
|
- var device = Device.All.FirstOrDefault(v => v.Code == code);
|
|
|
- device.AddFlag(item.Key);
|
|
|
+ var dev = Device.All.FirstOrDefault(v => v.Code == value);
|
|
|
+ dev.AddFlag(device.Key);
|
|
|
});
|
|
|
});
|
|
|
|