oyq28 5 mesi fa
parent
commit
7a69db5246

+ 3 - 2
IMCS_CCS/Service/Impl/DataService.cs

@@ -64,7 +64,7 @@ namespace IMCS.CCS.Service.Impl
                 }
                 catch (Exception ex)
                 {
-                    Console.WriteLine("读取文件失败====》" + ex.Message);
+                    //Console.WriteLine("读取文件失败====》" + ex.Message);
                     //return await ReadDataAsync<T>();
                 }
             }
@@ -104,7 +104,8 @@ namespace IMCS.CCS.Service.Impl
                 }
                 catch (Exception ex)
                 {
-                    Console.WriteLine("更新JSON文件失败==>"+ex.Message);
+                    
+                   // Console.WriteLine("更新JSON文件失败==>"+ex.Message);
                     //return await WriteDataAsync(contents);
                 }
             }

+ 5 - 2
IMCS_CCS/Service/Impl/HttpRequestService.cs

@@ -255,13 +255,16 @@ namespace IMCS.CCS.Services
                     if (!string.IsNullOrEmpty(actionAddress.Address) && !string.IsNullOrEmpty(actionAddress.Value))
                     {
                         string operateResult = s7.ReadInt16(actionAddress.Address).Content.ToString();
+                        Console.WriteLine(req.taskNodeId+ "RobotAction:" + actionAddress.Address + ":" + operateResult);
+                        Log.Instance.WriteLogAdd(req.taskNodeId + "RobotAction:" + actionAddress.Address + ":" + operateResult,
+                            EnumHelper.GetDescription(ActionTypeEnum.RobotAction));
                         if (actionAddress.CheckType ? operateResult != actionAddress.Value : operateResult == actionAddress.Value)
                         {
                             s7.ConnectClose();
-                            Log.Instance.WriteLogAdd(ActionTypeEnum.RobotAction + "异常===>>" + "条件不满足==地址:" + actionAddress.Address + "目标值:" + operateResult + "期望值:" + actionAddress.Value,
+                            Log.Instance.WriteLogAdd(ActionTypeEnum.RobotAction + "异常===>>" + "条件不满足==地址:" + actionAddress.Address + "实际值:" + operateResult + "期望值:" + actionAddress.Value,
                             EnumHelper.GetDescription(ActionTypeEnum.RobotAction));
                             responseData.result = "false";
-                            responseData.msg = ActionTypeEnum.RobotAction + "异常===>>" + "条件不满足==地址:" + actionAddress.Address + "目标值:" + operateResult + "期望值:" + actionAddress.Value;
+                            responseData.msg = ActionTypeEnum.RobotAction + "异常===>>" + "条件不满足==地址:" + actionAddress.Address + "实际值:" + operateResult + "期望值:" + actionAddress.Value;
                             return responseData;
                         }
                     }

+ 147 - 80
IMCS_CCS/Service/Impl/TaskJobService.cs

@@ -357,19 +357,6 @@ namespace IMCS.CCS.Service.Impl
 
             Rfid rfid = new Rfid();
             rfid.success = true;
-
-            // 读取初始化的数据,判断是否RFID校验生效
-            var rfidFlag = await _redisService.Database.StringGetAsync(RFID + RedisKeyEnum.Flag);
-            Boolean flag = true;
-            if (!rfidFlag.IsNullOrEmpty && rfidFlag=="false")
-            {
-                Log.Instance.WriteLogAdd("RFID逻辑块==》放弃RFID生效,放行操作,执行的任务:" + JsonConvert.SerializeObject(task), LOG_TITLE_CALLBACK);
-                rfid.success = true;
-                rfid.msg = "放弃RFID生效,放行操作";
-                return rfid;
-            }
-
-
             // 读取imcs缓存的托盘编码以及零件编码
             string imcsRFID = _redisService.Database.StringGetAsync(RFID + task.TaskNodeId).Result;
             // 读取ccs缓存的托盘编码
@@ -383,23 +370,23 @@ namespace IMCS.CCS.Service.Impl
                 rfid.msg = "PLC连接失败====》"+ task.IP;
                 return rfid;
             }
-            
-            
+
+            //运输任务执行结果
             string plcResult = plcS7.ReadInt16("DB1.16").Content.ToString();
             if (plcResult == "5") {
                 Log.Instance.WriteLogAdd("RFID逻辑块==》任务已完成状态,放行操作,执行的任务:" + JsonConvert.SerializeObject(task), LOG_TITLE_CALLBACK);
-
+                
+                    
                 plcS7.Write("DB2.12", Convert.ToInt16("0"));
                 plcS7.ConnectClose();
                 rfid.success = true;
                 rfid.msg = "任务已完成状态,放行操作";
                 return rfid;
             }
-            else 
-            if (plcResult != "1" && plcResult != "2" && plcResult != "3")
+            else if (plcResult != "1" && plcResult != "2" && plcResult != "3")
             {
-                Log.Instance.WriteLogAdd("RFID逻辑块==》DB1.16结果不满足,执行的任务:" + JsonConvert.SerializeObject(task)+ "DB1.16 应该为2实际为"+ plcResult, LOG_TITLE_CALLBACK);
-
+                Log.Instance.WriteLogAdd("RFID逻辑块==》DB1.16结果不满足,执行的任务:DB1.16 应该为2实际为"+ plcResult+","+ JsonConvert.SerializeObject(task), LOG_TITLE_CALLBACK);
+                Console.WriteLine("DB1.16 实际为:" + plcResult);
                 rfid.success = false;
                 rfid.msg = "未取完成====》DB1.16 应该为2实际为"+ plcResult;
                 plcS7.ConnectClose();
@@ -408,18 +395,19 @@ namespace IMCS.CCS.Service.Impl
 
             // 获取读写状态
             string plcRead = plcS7.ReadInt16("DB1.18").Content.ToString();
-            Console.WriteLine("====================================状态 DB1.18:" + plcRead);
-
+            Console.WriteLine("====================================RFID读写状态 DB1.18:" + plcRead);
+            Log.Instance.WriteLogAdd("====================================RFID读写状态 DB1.18:" + plcRead + "," + JsonConvert.SerializeObject(task), LOG_TITLE_CALLBACK);
 
             // 判断读写状态,DB1.DBB18 
             if (plcRead == "1")
             { //下发读指令
-       
+        
                 plcS7.Write("DB2.12", Convert.ToInt16("1"));
-                Log.Instance.WriteLogAdd("RFID逻辑块==》rfid读命令已下发,执行的任务:" + JsonConvert.SerializeObject(task), LOG_TITLE_CALLBACK);
+                Console.WriteLine("====================================RFID读命令已下发,写入DB2.12-》1");
+                Log.Instance.WriteLogAdd("RFID读命令已下发,写入DB2.12-》1:" + JsonConvert.SerializeObject(task), LOG_TITLE_CALLBACK);
                 plcS7.ConnectClose();
                 rfid.success = false;
-                rfid.msg = "RFID读命令已下发";
+                rfid.msg = "RFID读命令已下发,写入DB2.12-》1";
                 return rfid;
             }
             else if (plcRead == "3")//表示真正读完成了,这个时候我要去比较数据
@@ -433,55 +421,71 @@ namespace IMCS.CCS.Service.Impl
 
                 //读取PLC中的RFID的托盘编码
                 string readResult = ToolUtils.ReturnStringByBytes(plcS7.Read("DB1.20", 39).Content).Replace(" ","");
-                Console.WriteLine("====================================数据 DB1.20:" + readResult);
+                Console.WriteLine(task.TaskNodeId+"====================================读取PLC中的RFID的托盘编码数据 DB1.20:" + readResult);
+                Log.Instance.WriteLogAdd("====================================读取PLC中的RFID的托盘编码数据 DB1.20:" + readResult, LOG_TITLE_CALLBACK);
                 if (imcsRfid.trayNo != readResult)
                 {
                     //TODO 可能要往PLC中写入一个值,表示校验错误
 
                     Log.Instance.WriteLogAdd("RFID逻辑块==》RFID校验托盘失败:" + "读取imcs_redis数据_" + JsonConvert.SerializeObject(imcsRfid) + ",读取RFID数据_" + readResult.ToString(), LOG_TITLE_CALLBACK);
-
+                    Console.WriteLine(task.TaskNodeId + "====================================\":RFID托盘校验失败,imcs和RFID托盘信息不一致");
                     plcS7.ConnectClose();
                     rfid.success = false;
                     rfid.msg = task.Id + ":RFID托盘校验失败,imcs和RFID托盘信息不一致";
                     return rfid;
                 }
-                else
-                {
+                
+                
                     plcS7.Write("DB2.12", Convert.ToInt16("2"));
-
+                    Console.WriteLine("====================================RFID写命令已下发,写入DB2.12-》2");
+                    Log.Instance.WriteLogAdd(task.TaskNodeId + "====================================RFID写命令已下发,写入DB2.12-》2:", LOG_TITLE_CALLBACK);
                     //读 源位置 是上下料站还是机床
                     string up = plcS7.ReadInt16("DB1.12").Content.ToString();
                     //如果是上下料站,往RFID中写state(1毛坯)和PID(零件编码)
                     if (sList.Contains(up))
                     {
-                        if (imcsRfid.uniqueCode == null)
+                        Console.WriteLine("====================================RFID,源位置为上下料站:"+ up);
+                        //上下料站回库
+                        string huiku = _redisService.Database.StringGetAsync(RFID + task.TaskNodeId+"_null").Result;
+                        if (!huiku.IsNullOrEmpty())
                         {
                             plcS7.Write("DB2.55", Convert.ToInt16("0"));
                             plcS7.Write("DB2.56", ToolUtils.ReturnBtyesWtitString("", 39));
+                            Console.WriteLine("RFID写入DB2.55 -》 0,DB2.56写入空");
+                            Console.WriteLine("====================================RFID信息写入,空托盘入线边库");
+
+                            Log.Instance.WriteLogAdd(task.TaskNodeId + "RFID写入DB2.55 -》 0,DB2.56写入空,RFID信息写入,空托盘入线边库", LOG_TITLE_CALLBACK);
                         }
                         else
                         {
                             plcS7.Write("DB2.55", Convert.ToInt16("1"));
                             plcS7.Write("DB2.56", ToolUtils.ReturnBtyesWtitString(imcsRfid.uniqueCode, 39));
+                            Console.WriteLine("RFID写入DB2.55 -》 1,DB2.56写入:"+ imcsRfid.uniqueCode);
+                            Console.WriteLine("====================================RFID信息写入,有工件和托盘");
+                            Log.Instance.WriteLogAdd(task.TaskNodeId + "RFID写入DB2.55 -》 1,DB2.56写入:" + imcsRfid.uniqueCode+ ",RFID信息写入,有工件和托盘", LOG_TITLE_CALLBACK);
                         }
 
-                    }
-                    else if (jList.Contains(up))
+                    }else if (jList.Contains(up) || up == "11")
                     { //如果是机床,往RFID中写state(2 成品)和PID(零件编码)
+                        Console.WriteLine("====================================RFID,源位置为机床或喷墨机:"+ up);
                         plcS7.Write("DB2.55", Convert.ToInt16("2"));
-                        string readResult1 = ToolUtils.ReturnStringByBytes(plcS7.Read("DB1.62", 39).Content);
-
-                        plcS7.Write("DB2.56", ToolUtils.ReturnBtyesWtitString(readResult1, 39));
+                        //string readResult1 = ToolUtils.ReturnStringByBytes(plcS7.Read("DB1.62", 39).Content);
+                        plcS7.Write("DB2.56", ToolUtils.ReturnBtyesWtitString(imcsRfid.uniqueCode, 39));
+                        Console.WriteLine("RFID写入DB2.55 -》 2,DB2.56写入:" + imcsRfid.uniqueCode);
+                        Log.Instance.WriteLogAdd(task.TaskNodeId + "RFID写入DB2.55 -》 2,DB2.56写入:" + imcsRfid.uniqueCode + ",源位置为机床或喷墨机:" + up, LOG_TITLE_CALLBACK);
                     }
                     else
                     {
+                        Console.WriteLine("====================================RFID,源位置为线边库:" + up);
                         string readResult1 = plcS7.ReadInt16("DB1.61").Content.ToString();
-                        string readResult2 = ToolUtils.ReturnStringByBytes(plcS7.Read("DB1.62", 39).Content).Replace(" ","");
-
-                        plcS7.Write("DB2.55", Convert.ToInt16(readResult1));
+                        string readResult2 = ToolUtils.ReturnStringByBytes(plcS7.Read("DB1.62", 39).Content);
+                        //plcS7.Write("DB2.55", Convert.ToInt16(readResult1));
+                        plcS7.Write("DB2.55", Convert.ToInt16("1"));
                         plcS7.Write("DB2.56", ToolUtils.ReturnBtyesWtitString(readResult2, 39));
+                        Console.WriteLine("RFID写入DB2.55 -》 "+ readResult1 + ",DB2.56 =》"+ readResult2);
+                        Log.Instance.WriteLogAdd(task.TaskNodeId + "RFID写入DB2.55 -》 " + readResult1 + ",DB2.56 =》" + readResult2 + ",源位置为线边库:" + up, LOG_TITLE_CALLBACK);
                     }
-                }
+                
                 Log.Instance.WriteLogAdd("RFID逻辑块==》重新写入RFID命令已下发:" + "读取imcs_redis数据_" + JsonConvert.SerializeObject(imcsRfid) + ",读取RFID数据_" + readResult.ToString(), LOG_TITLE_CALLBACK);
 
                 plcS7.ConnectClose();
@@ -496,7 +500,16 @@ namespace IMCS.CCS.Service.Impl
 
                 // 二次下发读的命令
                 plcS7.Write("DB2.12", Convert.ToInt16("1"));
-                Log.Instance.WriteLogAdd("RFID逻辑块==》rfid已写入,二次下发读,执行的任务:" + JsonConvert.SerializeObject(task), LOG_TITLE_CALLBACK);
+
+                /*string readResult3 = plcS7.ReadInt16("DB1.2").Content.ToString();
+                if (readResult3 != "257")
+                {
+                    _redisService.Database.KeyDelete(RFID + task.TaskId + task.TaskNodeId);
+                    Console.WriteLine("操作模式:"+ readResult3);
+                }*/
+
+                Console.WriteLine("RFID二次读命令已下发:写入DB2.12 -》 1");
+                Log.Instance.WriteLogAdd("RFID二次读命令已下发:写入DB2.12 -》 1:" + JsonConvert.SerializeObject(task), LOG_TITLE_CALLBACK);
                 plcS7.ConnectClose();
                 rfid.success = false;
                 rfid.msg = "RFID二次读命令已下发";
@@ -505,7 +518,6 @@ namespace IMCS.CCS.Service.Impl
             else {
 
                 Log.Instance.WriteLogAdd("RFID逻辑块==》RFID比对状态匹配失败,查询不出任务状态:"+ plcRead, LOG_TITLE_CALLBACK);
-
                 plcS7.ConnectClose();
                 rfid.success = false;
                 rfid.msg = "RFID比对状态匹配失败,任务状态为:"+ plcRead;
@@ -520,10 +532,10 @@ namespace IMCS.CCS.Service.Impl
         {
             try
             {
+
                 Console.WriteLine("取和放回调任务开始:" + DateTime.Now.ToString());
-          
                 List<TaskCallback> taskList = new List<TaskCallback>();
-                var taskCallbackListData = await _redisService.Database.StringGetAsync(imcs_redis_key + RedisKeyEnum.CallbackTaskList);
+                /*var taskCallbackListData = await _redisService.Database.StringGetAsync(imcs_redis_key + RedisKeyEnum.CallbackTaskList);
                 if (taskCallbackListData.IsNullOrEmpty)
                 {
                     taskList = await _taskCallbackService.GetAllList();
@@ -531,7 +543,9 @@ namespace IMCS.CCS.Service.Impl
                 else
                 {
                     taskList = JsonConvert.DeserializeObject<List<TaskCallback>>(taskCallbackListData);
-                }
+                }*/
+                taskList = await _taskCallbackService.GetAllList();
+
                 //在线设备 
                 List<Device> deviceList = await getDeviceList(); 
 
@@ -541,68 +555,119 @@ namespace IMCS.CCS.Service.Impl
                 if (taskList == null || taskList.Count == 0)
                 {
                    return "无回调任务" ;
-                } 
+                }
+                
                 string message = "";
             
                 foreach(TaskCallback task in taskList)
-                { 
+                {
+                    Console.WriteLine("进入循环:" + task.TaskNodeId);
+                    SiemensS7Net s7 = DevicePlcS7.SiemensS7(task.IP);
+                    HslCommunication.OperateResult ConnectionResult = s7.ConnectServer();
                     CcsTagValue tagValueQuery = new CcsTagValue();
                     tagValueQuery.Ip = task.IP;
                     //tagValueQuery.Address = task.Address;
                     List<CcsTagValue> tagValues = _ccsTagValueService.GetList(tagValueQuery).ToList();
 
                     //系统操作模式
-                    CcsTagValue tagValueMode = tagValues.Where(o => o.Address == "DB1.2").FirstOrDefault();
-                    if (tagValueMode.TagValue != "257")
+                    //CcsTagValue tagValueMode = tagValues.Where(o => o.Address == "DB1.2").FirstOrDefault();
+                    string moshi = s7.ReadInt16("DB1.2").Content.ToString();
+                    Console.WriteLine("操作模式:" + moshi);
+                    //不等于257 删除redis缓存 重新走RFID流程
+                    if (moshi != "257")
                     {
+                        _redisService.Database.KeyDelete(RFID + task.TaskId + task.TaskNodeId);
                         return "当前操作模式非自动并运行";
                     }
 
                     // RFID ============= 比对开始
-                   /* string rfidFlag = _redisService.Database.StringGetAsync(RFID+ task.TaskId + task.TaskNodeId).Result;
+                    // 读取初始化的数据,判断是否RFID校验生效
+                    /*var rfidFlag = await _redisService.Database.StringGetAsync(RFID + RedisKeyEnum.Flag);
+                    Boolean flag = true;
+                    if (!rfidFlag.IsNullOrEmpty && rfidFlag == "false")
+                    {
+                        Log.Instance.WriteLogAdd("RFID逻辑块==》放弃RFID生效,放行操作,执行的任务:" + JsonConvert.SerializeObject(task), LOG_TITLE_CALLBACK);
+                        rfid.success = true;
+                        rfid.msg = "放弃RFID生效,放行操作";
+                        return rfid;
+                    }*/
 
-                    if (rfidFlag.IsNullOrEmpty()) {
+                     string rfidFlag = _redisService.Database.StringGetAsync(RFID+ task.TaskId + task.TaskNodeId).Result;
+
+                     if (rfidFlag.IsNullOrEmpty()) {
+                        // RFID ============= 比对开始
                         Rfid aa = await this.CheckRFid(task);
-                        if (aa.success == false) {
-                            return aa.msg;
-                        }
-                    } else if (rfidFlag == "2") {
 
-                        // 获取读写状态
-                        SiemensS7Net plcS7 = DevicePlcS7.SiemensS7(task.IP);
-                        string plcRead = plcS7.ReadInt16("DB1.18").Content.ToString();
-                        Console.WriteLine("====================================第二次状态 DB1.18:" + plcRead);
+                         if (aa.success == false) {
+                             return aa.msg;
+                         }
+                     } else if (rfidFlag == "2") {
+
+                         // 获取读写状态
+                         //SiemensS7Net plcS7 = DevicePlcS7.SiemensS7(task.IP);
+                         string plcRead = s7.ReadInt16("DB1.18").Content.ToString();
+                         Console.WriteLine(task.TaskNodeId+"====================================第二次状态 DB1.18:" + plcRead);
+                         Log.Instance.WriteLogAdd(task.TaskNodeId + "====================================第二次状态 DB1.18:" + plcRead, LOG_TITLE_CALLBACK);
                         if (plcRead == "3")
-                        { //下发归零任务
-                            await _redisService.Database.StringSetAsync(RFID + task.TaskId + task.TaskNodeId, "3");
-                            string readResult = ToolUtils.ReturnStringByBytes(plcS7.Read("DB1.20", 39).Content).Replace(" ", "");
-                            Console.WriteLine("====================================第二次读完成写的数据:" + readResult);
-                            plcS7.Write("DB2.12", Convert.ToInt16("0"));
-                            plcS7.ConnectClose();
-                        }
-                        else {
-                            // 二次下发读的命令
-                            Log.Instance.WriteLogAdd("等待二次读命令完成RFID读命令已下发:" + JsonConvert.SerializeObject(task), LOG_TITLE_CALLBACK);
-                            plcS7.ConnectClose();
-                            return "等待二次读命令完成RFID读命令已下发";
-                        }
-                    }*/
+                         { 
+                             await _redisService.Database.StringSetAsync(RFID + task.TaskId + task.TaskNodeId, "3");
+                             string readResult = ToolUtils.ReturnStringByBytes(s7.Read("DB1.20", 39).Content).Replace(" ", "");
+                            string readResult1 = s7.ReadInt16("DB1.61").Content.ToString();
+                            string readResult2 = ToolUtils.ReturnStringByBytes(s7.Read("DB1.62", 39).Content).Replace(" ", "");
+
+
+                            Console.WriteLine(task.TaskNodeId+"====================================第二次读完成DB1.20:" + readResult+ ",DB1.61:"+ readResult1 + ",DB1.62:" + readResult2);
+                            Log.Instance.WriteLogAdd(task.TaskNodeId + "====================================第二次读完成DB1.20:" + readResult + ",DB1.61:" + readResult1 + ",DB1.62:" + readResult2, LOG_TITLE_CALLBACK);
+                            //下发归零任务
+                            s7.Write("DB2.12", Convert.ToInt16("0"));
+
+                            /*string readResult3 = s7.ReadInt16("DB1.2").Content.ToString();
+                            if (readResult3 != "257")
+                            {
+                                Console.WriteLine("自动模式:"+ readResult3);
+                                _redisService.Database.KeyDelete(RFID + task.TaskId + task.TaskNodeId);
+                            }*/
+
+                            Console.WriteLine("====================================下发归零任务:DB2.12 =》0");
+                            Log.Instance.WriteLogAdd(task.TaskNodeId + "====================================下发归零任务:DB2.12 =》0", LOG_TITLE_CALLBACK);
+                            s7.ConnectClose();
+                            return "下发归零任务:DB2.12 =》0";
+                         }
+                         else {
+                             // 二次下发读的命令
+                             Log.Instance.WriteLogAdd("等待二次读命令完成RFID读命令已下发:" + JsonConvert.SerializeObject(task), LOG_TITLE_CALLBACK);
+                            s7.ConnectClose();
+                             return "等待二次读命令完成RFID读命令已下发";
+                         }
+                     }
                     // RFID ============= 比对结束
 
+
+
                     CcsTagValue callBacktagValue = tagValues.Where(o => o.Address == task.Address).FirstOrDefault();
+                    string realTagValue = s7.ReadInt16(task.Address).Content.ToString();
 
-                     if ((callBacktagValue != null && callBacktagValue.TagValue == task.CallbackValue) )
+                    Console.WriteLine("运输任务执行结果" + task.Address + ":" + realTagValue);
+                    Log.Instance.WriteLogAdd(task.TaskNodeId + "运输任务执行结果" + task.Address + ":" + realTagValue, LOG_TITLE_CALLBACK);
+                    if ((callBacktagValue != null && callBacktagValue.TagValue == task.CallbackValue) )
                      {
+                        if (callBacktagValue.TagValue != realTagValue)
+                        {
+                            Console.WriteLine("数据库数据与实际数据不一致,实际数据为" + task.Address + ":" + realTagValue + ",数据库数据为:" + task.Address + ":" + callBacktagValue.TagValue);
+                            Log.Instance.WriteLogAdd("数据库数据与实际数据不一致,实际数据为" + task.Address + ":" + realTagValue + ",数据库数据为:" + task.Address + ":" + callBacktagValue.TagValue, LOG_TITLE_CALLBACK);
+                            //return "数据库数据与实际数据不一致,实际数据为" + task.Address + ":" + realTagValue + ",数据库数据为:" + task.Address + ":" + callBacktagValue.TagValue;
+                        }
 
                         // 任务执行完毕,删除临时存储的缓存数据
                         Console.WriteLine("任务执行完成,删除临时校验的缓存数据,任务状态"+task.CallbackValue+"==taskID:"+ task.TaskId+"==taskNodeID:"+ task.TaskNodeId);
                         await _redisService.Database.KeyDeleteAsync(RFID + task.TaskId + task.TaskNodeId);
 
                         //执行位清零
-                      SiemensS7Net s7 = DevicePlcS7.SiemensS7(task.IP);
-                        HslCommunication.OperateResult ConnectionResult = s7.ConnectServer();
+                      
                         if (ConnectionResult.IsSuccess)
                         {
+                            string plcRead = s7.ReadInt16("DB1.16").Content.ToString();
+                            Console.WriteLine("任务执行完成,获取PLC任务执行状态:" + plcRead + ",redis PLC任务执行状态:" + callBacktagValue.TagValue);
                             Log.Instance.WriteLogAdd("任务【" + task.TaskNodeId + "】回调清零,plc点位:" + task.Address + "值:" + callBacktagValue.TagValue, LOG_TITLE_CALLBACK);
                             s7.Write("DB2.2", Convert.ToInt16("0"));
                             s7.Write("DB2.4", Convert.ToInt16("0"));
@@ -616,7 +681,7 @@ namespace IMCS.CCS.Service.Impl
                             Log.Instance.WriteLogAdd("回调异常,PLC连接不上==>", LOG_TITLE_CALLBACK);
                             return "回调异常,PLC连接不上==>";
                         }
-                        s7.ConnectClose();
+                        
                         task.State = false;
                         task.UpdateTime = DateTime.Now;
                         await _taskCallbackService.CreateOrUpdateAndCache(task);
@@ -655,8 +720,9 @@ namespace IMCS.CCS.Service.Impl
                             }
 
                         }
+                            s7.ConnectClose();
 
-                    }
+                        }
                     //回调检测到失败,回调通知ecs
                     if (!string.IsNullOrEmpty(task.FailAddress) || !string.IsNullOrEmpty(task.FailAddress2) || !string.IsNullOrEmpty(task.FailAddress3))
                     {
@@ -1701,10 +1767,11 @@ namespace IMCS.CCS.Service.Impl
             }catch (Exception ex)
             {
                 Log.Instance.WriteLogAdd("心跳写入异常" + ex.Message, LOG_HEART_PLC);
-                Console.WriteLine("心跳写入异常");
+               // Console.WriteLine("心跳写入异常");
                 return "心跳写入异常" + ex.Message;
             }
-            Console.WriteLine("心跳写入成功");
+            Log.Instance.WriteLogAdd("心跳写入成功" , LOG_HEART_PLC);
+            //Console.WriteLine("心跳写入成功");
             return "心跳写入成功";
         }
 

File diff suppressed because it is too large
+ 0 - 0
IMCS_CCS/wwwroot/db/Tasks.json


Some files were not shown because too many files changed in this diff