liudl
2025-02-16 ddd9612ed7cefe12c8ea33ced0711a0b9a3feb99
Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -1757,11 +1757,41 @@
                { // 获取工位任务号信息
                    var strMsg = "";
                    var http = new HttpService();
                    var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "托盘码");
                    var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
                    // 获取托盘任务号
                    var modPosTask = modDevice.listStation.FirstOrDefault(m => m.Text == "任务号");
                    var (res1, val) = plcConn.GetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos);
                    if (res1.IsSucceed)
                    {
                        string tasknoVal = val.ToString();
                        var modTask = _db.Queryable<WcsTask>().First(m => m.Status == TaskStatusEnum.Doing && m.TaskNo == tasknoVal && m.IsDelete == false);
                        if (modTask == null)
                        {
                            //读取成功后写入151
                            var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "151");//收到可放信号后写入151
                            if (ret.IsSucceed)
                            {
                                //回传WMS可放信号
                                strMsg = http.RequesContinueAgv(val.ToString(), modDevice.StationNum);
                                if (!strMsg.Contains("-1"))
                                {
                                    // 插入任务明细
                                    var modInsertTaskMonitor = new WcsTaskMonitor()
                                    {
                                        PlcId = modDevice.Id,
                                        PlcName = modDevice.Text,
                                        InteractiveMsg = $"写入指令151:{modDevice.StationNum}工位可接受AGV放货入库",
                                        Status = TaskStatusEnum.Complete,
                                        StartLocat = modDevice.StationNum
                                    };
                                    // 插入交互日志
                                    _db.Insertable(modInsertTaskMonitor).ExecuteCommand();
                                }
                            }
                            break;
                        }
                    }
                     //
                }
                break;
            #endregion