diff --git a/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerOutC1.cs b/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerOutC1.cs index 26ddcec..729eb9a 100644 --- a/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerOutC1.cs +++ b/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/StackerOutC1.cs @@ -129,18 +129,49 @@ public class StackerOutC1(ConveyOperation conveyOperation, DataBaseData dataBase } else // 两个地区都存在任务 { - ConsoleLog.Info($"出库分流:{area} 箱码:{msg} 存在 1~5 站台任务且存在 6~9 区域任务"); - Random random = new(); - var id = random.Next(0, 100); - ConveyPLCTask plcTask = new(plcId, id < Convert.ToInt32(CommonData.AppConfig.Pick2Lv) ? (short)ConveyRouterEnum.Move : (short)ConveyRouterEnum.Go); - string errText = conveyOperation.WriteTask(area, plcTask); - if (string.IsNullOrEmpty(errText)) + // 比对两个区的箱子数量 + var readResult_1 = CommonTool.Siemens.ReadInt16WithName($"数量1"); + var readResult_2 = CommonTool.Siemens.ReadInt16WithName($"数量2"); + if (readResult_1.Value >= readResult_2.Value)//前区数量多去后区 { - ConsoleLog.Success($"出库分流:{area} 箱码:{msg},写入PLC成功,{plcTask}"); + ConsoleLog.Info($"出库分流:{area} 箱码:{msg} 存在 1~5 站台任务且存在 6~9 区域任务"); + ConveyPLCTask plcTask = new(plcId, (short)ConveyRouterEnum.Move); + string errText = conveyOperation.WriteTask(area, plcTask); + if (string.IsNullOrEmpty(errText)) + { + ConsoleLog.Success($"出库分流:{area} 箱码:{msg},写入PLC成功,{plcTask}"); + return; + } + ConsoleLog.Warning($"【警告】出库分流:{area} 箱码:{msg},写入PLC失败,{plcTask},信息:{errText}"); + return ; + } + else//后区数量多去前区 + { + ConsoleLog.Info($"出库分流:{area} 箱码:{msg} 存在 1~5 站台任务且存在 6~9 区域任务"); + ConveyPLCTask plcTask = new(plcId, (short)ConveyRouterEnum.Go); + string errText = conveyOperation.WriteTask(area, plcTask); + if (string.IsNullOrEmpty(errText)) + { + ConsoleLog.Success($"出库分流:{area} 箱码:{msg},写入PLC成功,{plcTask}"); + return; + } + ConsoleLog.Warning($"【警告】出库分流:{area} 箱码:{msg},写入PLC失败,{plcTask},信息:{errText}"); return; } - ConsoleLog.Warning($"【警告】出库分流:{area} 箱码:{msg},写入PLC失败,{plcTask},信息:{errText}"); - return; + + + //ConsoleLog.Info($"出库分流:{area} 箱码:{msg} 存在 1~5 站台任务且存在 6~9 区域任务"); + //Random random = new(); + //var id = random.Next(0, 100); + //ConveyPLCTask plcTask = new(plcId, id < Convert.ToInt32(CommonData.AppConfig.Pick2Lv) ? (short)ConveyRouterEnum.Move : (short)ConveyRouterEnum.Go); + //string errText = conveyOperation.WriteTask(area, plcTask); + //if (string.IsNullOrEmpty(errText)) + //{ + // ConsoleLog.Success($"出库分流:{area} 箱码:{msg},写入PLC成功,{plcTask}"); + // return; + //} + //ConsoleLog.Warning($"【警告】出库分流:{area} 箱码:{msg},写入PLC失败,{plcTask},信息:{errText}"); + //return; } }