|
@@ -353,7 +353,20 @@ namespace IMCS.CCS.Service.Impl
|
|
|
|
|
|
if ((callBacktagValue != null && callBacktagValue.TagValue == task.CallbackValue) )
|
|
|
{
|
|
|
- CallBackRequestData requestData = new CallBackRequestData();
|
|
|
+ //执行位清零
|
|
|
+ SiemensS7Net s7 = DevicePlcS7.SiemensS7(task.IP);
|
|
|
+ HslCommunication.OperateResult ConnectionResult = s7.ConnectServer();
|
|
|
+ if (ConnectionResult.IsSuccess)
|
|
|
+ {
|
|
|
+ s7.Write("DB2.10", Convert.ToInt16("0"));
|
|
|
+ }
|
|
|
+ s7.ConnectClose();
|
|
|
+
|
|
|
+ task.State = false;
|
|
|
+ task.UpdateTime = DateTime.Now;
|
|
|
+ await _taskCallbackService.CreateOrUpdateAndCache(task);
|
|
|
+
|
|
|
+ /*CallBackRequestData requestData = new CallBackRequestData();
|
|
|
requestData.taskId = long.Parse(task.TaskId);
|
|
|
requestData.taskNodeId = long.Parse(task.TaskNodeId);
|
|
|
|
|
@@ -385,73 +398,66 @@ namespace IMCS.CCS.Service.Impl
|
|
|
message = message + JsonConvert.SerializeObject(task) + ",请求失败! WebApi 返回结果" + ";";
|
|
|
Log.Instance.WriteLogAdd("回调异常,请求接口失败" + JsonConvert.SerializeObject(result), LOG_TITLE_CALLBACK);
|
|
|
}
|
|
|
-
|
|
|
- }
|
|
|
- //执行位清零
|
|
|
- SiemensS7Net s7 = DevicePlcS7.SiemensS7(task.IP);
|
|
|
- HslCommunication.OperateResult ConnectionResult = s7.ConnectServer();
|
|
|
- if (ConnectionResult.IsSuccess)
|
|
|
- {
|
|
|
- s7.Write("DB2.10", Convert.ToInt16("0"));
|
|
|
- }
|
|
|
- s7.ConnectClose();
|
|
|
+ */
|
|
|
}
|
|
|
- //回调检测到失败,回调通知ecs
|
|
|
- if (!string.IsNullOrEmpty(task.FailAddress) || !string.IsNullOrEmpty(task.FailAddress2) || !string.IsNullOrEmpty(task.FailAddress3))
|
|
|
- {
|
|
|
- bool failFalg = false;
|
|
|
- if (!string.IsNullOrEmpty(task.FailAddress))
|
|
|
- {
|
|
|
- List<CcsTagValue> FailCallbackTagValues = tagValues.Where(o => o.Address == task.FailAddress && o.TagValue == task.CallbackFailValue).ToList();
|
|
|
-
|
|
|
- if (FailCallbackTagValues != null && FailCallbackTagValues.Count > 0)
|
|
|
- {
|
|
|
- failFalg = true;
|
|
|
- }
|
|
|
- }
|
|
|
- if (!string.IsNullOrEmpty(task.FailAddress2))
|
|
|
- {
|
|
|
- List<CcsTagValue> FailCallbackTagValues = tagValues.Where(o => o.Address == task.FailAddress2 && o.TagValue == task.CallbackFailValue2).ToList();
|
|
|
-
|
|
|
- if (FailCallbackTagValues != null && FailCallbackTagValues.Count > 0)
|
|
|
- {
|
|
|
- failFalg = true;
|
|
|
- }
|
|
|
- }
|
|
|
- if (!string.IsNullOrEmpty(task.FailAddress3))
|
|
|
- {
|
|
|
- List<CcsTagValue> FailCallbackTagValues = tagValues.Where(o => o.Address == task.FailAddress3 && o.TagValue == task.CallbackFailValue3).ToList();
|
|
|
-
|
|
|
- if (FailCallbackTagValues != null && FailCallbackTagValues.Count > 0)
|
|
|
- {
|
|
|
- failFalg = true;
|
|
|
- }
|
|
|
- }
|
|
|
- if (failFalg)
|
|
|
- {
|
|
|
- CallBackRequestData requestData = new CallBackRequestData();
|
|
|
- requestData.taskId = long.Parse(task.TaskId);
|
|
|
- requestData.taskNodeId = long.Parse(task.TaskNodeId);
|
|
|
- requestData.code = "0";
|
|
|
- requestData.msg = "操作失败";
|
|
|
- var result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, ecsUrlContext, requestData, null);
|
|
|
- if (result.IsSuccess)
|
|
|
- {
|
|
|
- task.State = false;
|
|
|
- task.UpdateTime = DateTime.Now;
|
|
|
- await _taskCallbackService.CreateOrUpdateAndCache(task);
|
|
|
- message = task.OperateName + "==>taskId:" + task.TaskId + ",taskNodeId:" + task.TaskNodeId + message + ",请求结果:" + result.Message + ";";
|
|
|
- Log.Instance.WriteLogAdd(message, LOG_TITLE_CALLBACK);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- message = message + JsonConvert.SerializeObject(task) + ",请求失败! WebApi 返回结果" + ";";
|
|
|
- Log.Instance.WriteLogAdd("回调异常,请求接口失败" + JsonConvert.SerializeObject(task), LOG_TITLE_CALLBACK);
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
}
|
|
|
- Thread.Sleep(1000);
|
|
|
- }
|
|
|
+ // //回调检测到失败,回调通知ecs
|
|
|
+ // if (!string.IsNullOrEmpty(task.FailAddress) || !string.IsNullOrEmpty(task.FailAddress2) || !string.IsNullOrEmpty(task.FailAddress3))
|
|
|
+ // {
|
|
|
+ // bool failFalg = false;
|
|
|
+ // if (!string.IsNullOrEmpty(task.FailAddress))
|
|
|
+ // {
|
|
|
+ // List<CcsTagValue> FailCallbackTagValues = tagValues.Where(o => o.Address == task.FailAddress && o.TagValue == task.CallbackFailValue).ToList();
|
|
|
+
|
|
|
+ // if (FailCallbackTagValues != null && FailCallbackTagValues.Count > 0)
|
|
|
+ // {
|
|
|
+ // failFalg = true;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // if (!string.IsNullOrEmpty(task.FailAddress2))
|
|
|
+ // {
|
|
|
+ // List<CcsTagValue> FailCallbackTagValues = tagValues.Where(o => o.Address == task.FailAddress2 && o.TagValue == task.CallbackFailValue2).ToList();
|
|
|
+
|
|
|
+ // if (FailCallbackTagValues != null && FailCallbackTagValues.Count > 0)
|
|
|
+ // {
|
|
|
+ // failFalg = true;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // if (!string.IsNullOrEmpty(task.FailAddress3))
|
|
|
+ // {
|
|
|
+ // List<CcsTagValue> FailCallbackTagValues = tagValues.Where(o => o.Address == task.FailAddress3 && o.TagValue == task.CallbackFailValue3).ToList();
|
|
|
+
|
|
|
+ // if (FailCallbackTagValues != null && FailCallbackTagValues.Count > 0)
|
|
|
+ // {
|
|
|
+ // failFalg = true;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // if (failFalg)
|
|
|
+ // {
|
|
|
+ // CallBackRequestData requestData = new CallBackRequestData();
|
|
|
+ // requestData.taskId = long.Parse(task.TaskId);
|
|
|
+ // requestData.taskNodeId = long.Parse(task.TaskNodeId);
|
|
|
+ // requestData.code = "0";
|
|
|
+ // requestData.msg = "操作失败";
|
|
|
+ // var result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, ecsUrlContext, requestData, null);
|
|
|
+ // if (result.IsSuccess)
|
|
|
+ // {
|
|
|
+ // task.State = false;
|
|
|
+ // task.UpdateTime = DateTime.Now;
|
|
|
+ // await _taskCallbackService.CreateOrUpdateAndCache(task);
|
|
|
+ // message = task.OperateName + "==>taskId:" + task.TaskId + ",taskNodeId:" + task.TaskNodeId + message + ",请求结果:" + result.Message + ";";
|
|
|
+ // Log.Instance.WriteLogAdd(message, LOG_TITLE_CALLBACK);
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // message = message + JsonConvert.SerializeObject(task) + ",请求失败! WebApi 返回结果" + ";";
|
|
|
+ // Log.Instance.WriteLogAdd("回调异常,请求接口失败" + JsonConvert.SerializeObject(task), LOG_TITLE_CALLBACK);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // Thread.Sleep(1000);
|
|
|
+ //}
|
|
|
return string.IsNullOrEmpty(message) ? "无回调任务" : message;
|
|
|
}
|
|
|
catch (Exception ex)
|