Browse Source

fix:增加SMC程序上传

wang.sq@aliyun.com 10 months ago
parent
commit
7e3b5fafed
1 changed files with 53 additions and 35 deletions
  1. 53 35
      IMCS_CCS/Service/Impl/HttpRequestService.cs

+ 53 - 35
IMCS_CCS/Service/Impl/HttpRequestService.cs

@@ -951,44 +951,44 @@ namespace IMCS.CCS.Services
                         if (deviceHeidenhain.Description.Contains("哈默"))
                         {
 
-                        
+
                             //写入程序编号  
                             CcsAction actionQuery = new CcsAction();
-                        actionQuery.OperateType = ActionTypeEnum.StartNCProgram.ToString();
-                        actionQuery.Ip = req.url;
-                        CcsAction actionInfo = _ccsActionService.GetList(actionQuery).FirstOrDefault();
-                        //查询启动动作地址
-                        CcsActionAddress actionAddressQuery = new CcsActionAddress();
-                        actionAddressQuery.ActionId = actionInfo.Id;
-                        List<CcsActionAddress> CcsActionAddresses = _ccsActionAddressService.GetList(actionAddressQuery);
-
-                        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.UploadFile));
-                            responseData.result = "false";
-                            return responseData;
-                        }
+                            actionQuery.OperateType = ActionTypeEnum.StartNCProgram.ToString();
+                            actionQuery.Ip = req.url;
+                            CcsAction actionInfo = _ccsActionService.GetList(actionQuery).FirstOrDefault();
+                            //查询启动动作地址
+                            CcsActionAddress actionAddressQuery = new CcsActionAddress();
+                            actionAddressQuery.ActionId = actionInfo.Id;
+                            List<CcsActionAddress> CcsActionAddresses = _ccsActionAddressService.GetList(actionAddressQuery);
+
+                            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.UploadFile));
+                                responseData.result = "false";
+                                return responseData;
+                            }
 
-                        //查询写入地址列表
-                        List<CcsActionAddress> CcsActionAddressWrites = CcsActionAddresses.Where(o => o.Type == ActionAddressTypeEnum.WRITE.ToString()).ToList();
-                        if (CcsActionAddressWrites.Count < 2)
-                        {
-                            s7.ConnectClose();
-                            Log.Instance.WriteLogAdd("写入程序编号异常===>>" + "地址错误" + JsonConvert.SerializeObject(req),
-                            EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
-                            responseData.result = "false";
-                            return responseData;
-                        }
+                            //查询写入地址列表
+                            List<CcsActionAddress> CcsActionAddressWrites = CcsActionAddresses.Where(o => o.Type == ActionAddressTypeEnum.WRITE.ToString()).ToList();
+                            if (CcsActionAddressWrites.Count < 2)
+                            {
+                                s7.ConnectClose();
+                                Log.Instance.WriteLogAdd("写入程序编号异常===>>" + "地址错误" + JsonConvert.SerializeObject(req),
+                                EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
+                                responseData.result = "false";
+                                return responseData;
+                            }
 
-                        string prgNo = !string.IsNullOrEmpty(req.data.fileName) ? System.IO.Path.GetFileNameWithoutExtension(req.data.fileName) : CcsActionAddressWrites[0].Value;
-                        s7.Write(CcsActionAddressWrites[0].Address, Convert.ToInt16(prgNo));
-                        s7.ConnectClose();
+                            string prgNo = !string.IsNullOrEmpty(req.data.fileName) ? System.IO.Path.GetFileNameWithoutExtension(req.data.fileName) : CcsActionAddressWrites[0].Value;
+                            s7.Write(CcsActionAddressWrites[0].Address, Convert.ToInt16(prgNo));
+                            s7.ConnectClose();
                             Log.Instance.WriteLogAdd("写入编号成功===>>编号位:" + prgNo + ",写入地址==" + CcsActionAddressWrites[0].Address,
-                           EnumHelper.GetDescription(ActionTypeEnum.UploadFile)); 
+                           EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
                         }
                         else if (deviceHeidenhain.Description.Contains("德玛吉"))
                         {
@@ -1005,8 +1005,26 @@ namespace IMCS.CCS.Services
                                EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
                                 responseData.result = "false";
                                 return responseData;
-                            }  
-                        } 
+                            }
+                        } else if (deviceHeidenhain.Description.Contains("SMC")) {
+                            Console.WriteLine("SMC机床NC上传========");
+                            
+                            RequestHeidhData hdhReq = new RequestHeidhData();
+                            hdhReq.ServerUrl = deviceHeidenhain.ServerUrl;
+                            hdhReq.MachineName = deviceHeidenhain.UserName;
+                            hdhReq.Path = req.data.fileName;
+                            hdhReq.Type = OpcUaActionTypeEnum.Upload.ToString();
+                            var Result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, hdhUrlContext, hdhReq, null);
+                            ResponseHeidhData responseHeidhData = JsonConvert.DeserializeObject<ResponseHeidhData>(Result.Message);
+                            if (!Result.IsSuccess || !responseHeidhData.result)
+                            {
+                                Log.Instance.WriteLogAdd(ActionTypeEnum.UploadFile + "上传异常===>>" + JsonConvert.SerializeObject(req),
+                               EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
+                                responseData.result = "false";
+                                return responseData;
+                            }
+
+                        }
                         //return responseData;
                     }