Browse Source

恒轮优化

zhuhao 1 year ago
parent
commit
926b2e929c

+ 5 - 2
IMCS_CCS/Repository/TaskCallbackRepository.cs

@@ -73,8 +73,11 @@ namespace IMCS.CCS.Repository
             if (!string.IsNullOrEmpty(vo.IP))
             {
                 list = list.Where(x => x.IP == vo.IP);
-            } 
-
+            }
+            if (!string.IsNullOrEmpty(vo.Description))
+            {
+                list = list.Where(x => x.Description == vo.Description);
+            }
             list = list.Where(x => x.OperateType == ActionTypeEnum.MoveRobotPosition.ToString()
                               || x.OperateType == ActionTypeEnum.GetQualityCenter.ToString()
                               || x.OperateType == ActionTypeEnum.SendQualityCenter.ToString()); 

+ 6 - 68
IMCS_CCS/Service/Impl/HttpRequestService.cs

@@ -745,9 +745,10 @@ namespace IMCS.CCS.Services
                     EnumHelper.GetDescription(ActionTypeEnum.SendQualityCenter), req.taskId, req.taskNodeId);
                 taskCallbackData = setCallBackValue(CcsActionAddresses, taskCallbackData);
                 //放入恒轮工位,作为启动 ,传递给后续启动
-                if (req.url == "192.168.11.150" && req.data.Location == "127")
+                if (req.url == "192.168.11.150" && (req.data.Location == "127" || req.data.Location == "128"))
                 {
-                    taskCallbackData.Description = currentWorkStation;
+                    taskCallbackData.Data = currentWorkStation;
+                    taskCallbackData.Description = ProtocalTypeEnum.OPCUA.ToString();
                 }
                     /*//清洗机启动时更新回调值
                     if(!string.IsNullOrEmpty(req.data.Location) && req.data.Location == "123")
@@ -1145,75 +1146,12 @@ namespace IMCS.CCS.Services
                 List<CcsActionAddress> CcsActionAddresses = _ccsActionAddressService.GetList(actionAddressQuery);
                 //opcua启动程序
                 if (actionInfo.ProtocolType == ProtocalTypeEnum.OPCUA.ToString())
-                {
-                    //SiemensS7Net s7 = DevicePlcS7.SiemensS7(actionInfo.PlcIp);
-                    //OperateResult ConnectionResult = s7.ConnectServer();
-                    //if (!ConnectionResult.IsSuccess)
-                    //{
-                    //    s7.ConnectClose();
-                    //    Log.Instance.WriteLogAdd(ActionTypeEnum.StartNCProgram + "启动程序异常===>>" + "PLC连接不上" + JsonConvert.SerializeObject(req),
-                    //    EnumHelper.GetDescription(ActionTypeEnum.StartNCProgram));
-                    //    responseData.result = "false";
-                    //    return responseData;
-                    //}
-
-                    ////查询条件
-                    //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))
-                    //    {
-                    //        string CheckAddress = ToolUtils.AddressConvertDBW(actionAddress.Address);
-                    //        var operateResult = s7.ReadInt16(CheckAddress).Content.ToString();
-                    //        if (actionAddress.CheckType ? operateResult.ToString().Equals(actionAddress.Value) : operateResult.ToString() != actionAddress.Value)
-                    //        {
-                    //            s7.ConnectClose();
-                    //            Log.Instance.WriteLogAdd(ActionTypeEnum.StartNCProgram + "启动程序异常===>>" + "条件不满足" + JsonConvert.SerializeObject(req),
-                    //            EnumHelper.GetDescription(ActionTypeEnum.StartNCProgram));
-                    //            responseData.result = "false";
-                    //            return responseData;
-                    //        }
-                    //    }
-                    //} 
-
-                    //string currentWorkStation = s7.ReadInt16("DB200.332").Content.ToString();
-                    //string writeValue = "128";
-                    //if (currentWorkStation == "1")//工作台1
-                    //{
-                    //    writeValue = "128";
-                    //}
-                    //else if (currentWorkStation == "2")//工作台2
-                    //{
-                    //    writeValue = "127";
-                    //}
-
-                    ////查询写入地址列表
-                    //List<CcsActionAddress> CcsActionAddressWrites = CcsActionAddresses.Where(o => o.Type == ActionAddressTypeEnum.WRITE.ToString()).ToList();
-                    //foreach (CcsActionAddress actionAddress in CcsActionAddressWrites)
-                    //{
-                    //    if (!string.IsNullOrEmpty(actionAddress.Address))
-                    //    { 
-                    //        if (actionAddress.Sort == 1)
-                    //        {
-                    //            string proNo = Path.GetFileNameWithoutExtension(req.data.remotePath);
-                    //            s7.Write(actionAddress.Address, Convert.ToInt16(proNo));
-                    //        } else if (actionAddress.Sort == 2)
-                    //        {
-                    //            string proNo = Path.GetFileNameWithoutExtension(req.data.remotePath);
-                    //            s7.Write(actionAddress.Address, Convert.ToInt16(writeValue));
-                    //        }
-                    //        else
-                    //        {
-                    //            s7.Write(actionAddress.Address, Convert.ToInt16(actionAddress.Value));
-                    //        } 
-                    //        Thread.Sleep(SLEEP_TIME);
-                    //    }
-                    //}
-                    //s7.ConnectClose();
+                { 
                     //插入回调
                     //获取启动前放的 工位
                     TaskCallback queryTaskCallBack = new TaskCallback();
                     queryTaskCallBack.IP = actionInfo.PlcIp;
+                    queryTaskCallBack.Description = ProtocalTypeEnum.OPCUA.ToString();
                     TaskCallback TaskBean = await _taskCallbackService.GetRobotActionList(queryTaskCallBack);
 
                     TaskCallback taskCallbackData = new TaskCallback(actionInfo.PlcIp, ActionTypeEnum.StartNCProgram.ToString(),
@@ -1222,7 +1160,7 @@ namespace IMCS.CCS.Services
                     taskCallbackData.Description = ProtocalTypeEnum.OPCUA.ToString();
                     if(TaskBean != null)
                     {
-                        taskCallbackData.Data = TaskBean.Description;
+                        taskCallbackData.Data = TaskBean.Data;
                     }
                     else
                     {

+ 2 - 1
IMCS_CCS/Service/Impl/TaskJobService.cs

@@ -821,8 +821,9 @@ namespace IMCS.CCS.Service.Impl
                     CcsTagValue tagValue = tagValues.Where(o => o.Address == task.Address.Trim()).FirstOrDefault();
                     CcsTagValue tagValue2 = tagValues.Where(o => o.Address == "DB200.332").FirstOrDefault(); //当前工作台
                     CcsTagValue tagValue3 = tagValues.Where(o => o.Address == "DB200.336").FirstOrDefault(); //当前工作台是否有料标志,1:有料 2:无料
+                    //当是恒轮,启动回调按OPCUA,外面的工位是放的时候的工位,并且外面工位有料
                     if ((tagValue != null && tagValue.TagValue == task.CallbackValue && String.IsNullOrEmpty(task.Description)) 
-                        || (task.Description == ProtocalTypeEnum.OPCUA.ToString() && tagValue2 != null  && tagValue3 != null && tagValue2.TagValue == task.Description && tagValue3.TagValue == "1")) 
+                        || (task.Description == ProtocalTypeEnum.OPCUA.ToString() && tagValue2 != null  && tagValue3 != null && tagValue2.TagValue == task.Data && tagValue3.TagValue == "1")) 
                     {
                         CallBackRequestData requestData = new CallBackRequestData();
                         requestData.taskId = long.Parse(task.TaskId);