dengjunjie
2025-07-04 441b6f8d257a01b2998253ef0515a201777d7e68
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs
@@ -61,7 +61,6 @@
                CommonConveyorLine? conveyorLine = Storage.Devices.FirstOrDefault(x => x.DeviceName == "输送线") as CommonConveyorLine;
                if (conveyorLine == null) throw new Exception("未找到输送线设备信息");
                if (!conveyorLine.IsConnected) throw new Exception($"输送线设备通讯异常");
                //conveyorLine.SetValue(ConveyorLine_AGV.WriteRGPutComplete, true, "1001");//人工放货完成
                switch (conveyor.Type)
                {
                    case 1:
@@ -79,31 +78,30 @@
                        }
                        break;
                    case 2:
                        break;
                    case 3:
                        {
                            if (conveyor.Station == "1001")
                            {
                                content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVPutComplete, true, conveyor.Station);
                                if (content.Status)
                                {
                                    Thread.Sleep(1000);
                                    conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestPut, false, conveyor.Station);
                                    conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVPutComplete, false, conveyor.Station);
                                }
                                //if (content.Status)
                                //{
                                //    Thread.Sleep(1000);
                                //    conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestPut, false, conveyor.Station);
                                //    conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVPutComplete, false, conveyor.Station);
                                //}
                            }
                            else
                            {
                                content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVTakeComplete, true, conveyor.Station);
                                if (content.Status)
                                {
                                    Thread.Sleep(1000);
                                    conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestTake, false, conveyor.Station);
                                    conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVTakeComplete, false, conveyor.Station);
                                }
                                //if (content.Status)
                                //{
                                //    Thread.Sleep(1000);
                                //    conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestTake, false, conveyor.Station);
                                //    conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVTakeComplete, false, conveyor.Station);
                                //}
                            }
                        }
                        break;
                    case 3:
                        break;
                    case 4:
@@ -138,13 +136,15 @@
                {
                    case 1:
                        if (agvState != conveyor.Type) throw new Exception("产线不允许进入作业");
                        content.OK();
                        break;
                    case 2:
                        if (agvState != conveyor.Type) throw new Exception("产线不允许离开");
                        //if (agvState != conveyor.Type) throw new Exception("产线不允许离开");
                        content.OK();
                        break;
                    case 3:
                        content.Status = ProductionLine.SetValue(ProductionLineDBName.Wrequest, 2);
                        if (content.Status) content.Status = ProductionLine.SetValue(ProductionLineDBName.WagvState, 0);
                        //if (content.Status) content.Status = ProductionLine.SetValue(ProductionLineDBName.WagvState, 3);
                        break;
                }
                content = content.Status ? content.OK() : content.Error("写入失败");
@@ -155,5 +155,24 @@
            }
            return content;
        }
        /// <summary>
        /// å…¥åº“输送线人工放货完成
        /// </summary>
        /// <returns></returns>
        public static WebResponseContent ReleaseCompleted()
        {
            try
            {
                CommonConveyorLine? conveyorLine = Storage.Devices.FirstOrDefault(x => x.DeviceName == "输送线") as CommonConveyorLine;
                if (conveyorLine == null) throw new Exception("未找到输送线设备信息");
                if (!conveyorLine.IsConnected) throw new Exception($"输送线设备通讯异常");
                conveyorLine.SetValue(ConveyorLine_AGV.WriteRGPutComplete, true, "1001");//人工放货完成
                return WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
    }
}