|
@@ -1081,9 +1081,11 @@ namespace IMCS.CCS.Service.Impl
|
|
|
posValue = EnumHelper.GetDescription(ThreeCoordinatesFinishedEnum.R);
|
|
|
key = (int)ThreeCoordinatesPosEnum.R;
|
|
|
}
|
|
|
-
|
|
|
- CcsTagValue tagValue2 = tagValues.Where(o => o.Address == posValue && o.TagValue != "0").FirstOrDefault();
|
|
|
- if (tagValue != null && tagValue2 != null && (tagValue2.TagValue == "1"))
|
|
|
+
|
|
|
+ CcsTagValue tagValue2 = tagValues.Where(o => o.Address == posValue ).FirstOrDefault();//测量结果
|
|
|
+ CcsTagValue tagValue3 = tagValues.Where(o => o.Address == "DB200.10").FirstOrDefault();//中间可取
|
|
|
+ Log.Instance.WriteLogAdd("三坐标回调开始" + JsonConvert.SerializeObject(tagValue2) + JsonConvert.SerializeObject(tagValue3) , LOG_TITLE_CALLBACK);
|
|
|
+ if (tagValue != null && tagValue2 != null && tagValue3 != null && tagValue3.TagValue == "1")
|
|
|
{
|
|
|
CallBackThreeCoordinatesRequestData requestData = new CallBackThreeCoordinatesRequestData();
|
|
|
requestData.taskId = long.Parse(task.TaskId);
|
|
@@ -1097,31 +1099,7 @@ namespace IMCS.CCS.Service.Impl
|
|
|
s7.ConnectClose();
|
|
|
Log.Instance.WriteLogAdd(ActionTypeEnum.SendThreeCoordinates + "放三坐标异常===>>" + "PLC连接不上",
|
|
|
EnumHelper.GetDescription(ActionTypeEnum.SendThreeCoordinates));
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /* CcsActionAddress actionAddressQuery = new CcsActionAddress();
|
|
|
- actionAddressQuery.Type = "CALLBACK_CHECK_COOR";
|
|
|
- List<CcsActionAddress> CcsActionAddresses = _ccsActionAddressService.GetList(actionAddressQuery);
|
|
|
-
|
|
|
- CcsActionAddress freeActionAdress = new CcsActionAddress();
|
|
|
- //查询空闲位置
|
|
|
- List<CcsActionAddress> CcsActionAddressChecks = CcsActionAddresses.Where(o => o.Type == ActionAddressTypeEnum.CHECK.ToString()).ToList();
|
|
|
- foreach (CcsActionAddress actionAddress in CcsActionAddressChecks)
|
|
|
- {
|
|
|
- if (!string.IsNullOrEmpty(actionAddress.Address) && !string.IsNullOrEmpty(actionAddress.Value))
|
|
|
- {
|
|
|
- var operateResult = s7.ReadInt16(actionAddress.Address);
|
|
|
- if (operateResult.ToString() == actionAddress.Value)
|
|
|
- {
|
|
|
- freeActionAdress = actionAddress;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- //判断是否可取滑台
|
|
|
- if (freeActionAdress != null)
|
|
|
- {*/
|
|
|
+ }
|
|
|
//根据sort顺序,查询左中右可取位置,写入地址列表
|
|
|
CcsActionAddress actionAddressGet = new CcsActionAddress();
|
|
|
actionAddressGet.Type = "CALLBACK_GET_COOR";
|
|
@@ -1132,14 +1110,14 @@ namespace IMCS.CCS.Service.Impl
|
|
|
requestData.result = tagValue2.TagValue;
|
|
|
//根据工件id确认哪个位置已测量,赋值工位id
|
|
|
string srcWorkId = task.CallbackFailValue3; //原工件id
|
|
|
- var workIdResult = s7.Read(EnumHelper.GetDescription(ThreeCoordinatesFinishedWrokIdEnum.L), 40);
|
|
|
+ var workIdResult = s7.Read(EnumHelper.GetDescription(ThreeCoordinatesFinishedWrokIdEnum.L), 60);
|
|
|
if (ToolUtils.ReturnStringByBytes(workIdResult.Content) == srcWorkId)
|
|
|
{
|
|
|
requestData.stationId = "L";
|
|
|
}
|
|
|
if (string.IsNullOrEmpty(requestData.stationId))
|
|
|
{
|
|
|
- workIdResult = s7.Read(EnumHelper.GetDescription(ThreeCoordinatesFinishedWrokIdEnum.M), 40);
|
|
|
+ workIdResult = s7.Read(EnumHelper.GetDescription(ThreeCoordinatesFinishedWrokIdEnum.M), 60);
|
|
|
if (ToolUtils.ReturnStringByBytes(workIdResult.Content) == srcWorkId)
|
|
|
{
|
|
|
requestData.stationId = "M";
|
|
@@ -1147,7 +1125,7 @@ namespace IMCS.CCS.Service.Impl
|
|
|
}
|
|
|
if (string.IsNullOrEmpty(requestData.stationId))
|
|
|
{
|
|
|
- workIdResult = s7.Read(EnumHelper.GetDescription(ThreeCoordinatesFinishedWrokIdEnum.R),40);
|
|
|
+ workIdResult = s7.Read(EnumHelper.GetDescription(ThreeCoordinatesFinishedWrokIdEnum.R),60);
|
|
|
if (ToolUtils.ReturnStringByBytes(workIdResult.Content) == srcWorkId)
|
|
|
{
|
|
|
requestData.stationId = "R";
|
|
@@ -1160,7 +1138,7 @@ namespace IMCS.CCS.Service.Impl
|
|
|
{
|
|
|
if (actionAddress.Value == "workId")
|
|
|
{
|
|
|
- var operateResult = s7.Read(actionAddress.Address, 40) ;
|
|
|
+ var operateResult = s7.Read(actionAddress.Address, 60) ;
|
|
|
requestData.workId = ToolUtils.ReturnStringByBytes(operateResult.Content);
|
|
|
}
|
|
|
else if (actionAddress.Value == "procedureNo")
|
|
@@ -1177,27 +1155,49 @@ namespace IMCS.CCS.Service.Impl
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- s7.ConnectClose();
|
|
|
-
|
|
|
- var result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, ecsUrlContext, requestData, null);
|
|
|
- ResponseECSCallbackData responseECSCallback = JsonConvert.DeserializeObject<ResponseECSCallbackData>(result.Message);
|
|
|
- if (result.IsSuccess && responseECSCallback.code == 0)
|
|
|
+ s7.ConnectClose();
|
|
|
+ if (tagValue2.TagValue == "1")
|
|
|
{
|
|
|
- task.State = false;
|
|
|
- task.UpdateTime = DateTime.Now;
|
|
|
- await _taskCallbackService.CreateOrUpdateAndCache(task);
|
|
|
- message = task.OperateName + "==>taskId:" + task.TaskId + ",taskNodeId:" + task.TaskNodeId + ",请求结果:" + result.Message + ";";
|
|
|
- Log.Instance.WriteLogAdd(message, LOG_TITLE_CALLBACK);
|
|
|
- }
|
|
|
- else
|
|
|
+ var result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, ecsUrlContext, requestData, null);
|
|
|
+ ResponseECSCallbackData responseECSCallback = JsonConvert.DeserializeObject<ResponseECSCallbackData>(result.Message);
|
|
|
+ if (result.IsSuccess && responseECSCallback.code == 0)
|
|
|
+ {
|
|
|
+ task.State = false;
|
|
|
+ task.UpdateTime = DateTime.Now;
|
|
|
+ await _taskCallbackService.CreateOrUpdateAndCache(task);
|
|
|
+ message = task.OperateName + "==>taskId:" + task.TaskId + ",taskNodeId:" + task.TaskNodeId + ",请求结果:" + result.Message + ";";
|
|
|
+ Log.Instance.WriteLogAdd(message, LOG_TITLE_CALLBACK);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ message = message + JsonConvert.SerializeObject(task) + ",请求失败! WebApi 返回结果" + ";";
|
|
|
+ Log.Instance.WriteLogAdd("回调异常,请求接口失败" + JsonConvert.SerializeObject(result), LOG_TITLE_CALLBACK);
|
|
|
+ }
|
|
|
+ }else if(tagValue2.TagValue == "2" || tagValue2.TagValue == "3")
|
|
|
{
|
|
|
- message = message + JsonConvert.SerializeObject(task) + ",请求失败! WebApi 返回结果" + ";";
|
|
|
- Log.Instance.WriteLogAdd("回调异常,请求接口失败" + JsonConvert.SerializeObject(result), LOG_TITLE_CALLBACK);
|
|
|
- }
|
|
|
+ requestData.code = "0";
|
|
|
+ requestData.msg = "操作失败";
|
|
|
+ var result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, ecsUrlContext, requestData, null);
|
|
|
+ ResponseECSCallbackData responseECSCallback = JsonConvert.DeserializeObject<ResponseECSCallbackData>(result.Message);
|
|
|
+ if (result.IsSuccess && responseECSCallback.code == 0)
|
|
|
+ {
|
|
|
+ task.State = false;
|
|
|
+ task.UpdateTime = DateTime.Now;
|
|
|
+ await _taskCallbackService.CreateOrUpdateAndCache(task);
|
|
|
+ message = task.OperateName + "==>taskId:" + task.TaskId + ",taskNodeId:" + task.TaskNodeId + ",请求结果:" + result.Message + ";";
|
|
|
+ Log.Instance.WriteLogAdd(message, LOG_TITLE_CALLBACK);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ message = message + JsonConvert.SerializeObject(task) + ",请求失败! WebApi 返回结果" + ";";
|
|
|
+ Log.Instance.WriteLogAdd("回调异常,请求接口失败" + JsonConvert.SerializeObject(result), LOG_TITLE_CALLBACK);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//回调检测到失败,回调通知ecs
|
|
|
- if (!string.IsNullOrEmpty(task.FailAddress) || !string.IsNullOrEmpty(task.FailAddress2) || !string.IsNullOrEmpty(task.FailAddress3) || tagValue2 != null)
|
|
|
+ if (!string.IsNullOrEmpty(task.FailAddress) || !string.IsNullOrEmpty(task.FailAddress2) || !string.IsNullOrEmpty(task.FailAddress3))
|
|
|
{
|
|
|
bool failFalg = false;
|
|
|
if (!string.IsNullOrEmpty(task.FailAddress))
|
|
@@ -1227,10 +1227,7 @@ namespace IMCS.CCS.Service.Impl
|
|
|
failFalg = true;
|
|
|
}
|
|
|
}
|
|
|
- if(tagValue2.TagValue == "2" || tagValue2.TagValue == "3")
|
|
|
- {
|
|
|
- failFalg = true;
|
|
|
- }
|
|
|
+
|
|
|
if (failFalg)
|
|
|
{
|
|
|
CallBackRequestData requestData = new CallBackRequestData();
|