Browse Source

Merge branch 'master' of http://106.15.38.8:3000/zhuhao/ccs

zhuhao 2 years ago
parent
commit
08f68434f2

+ 4 - 0
IMCS_CCS/Model/vo/ResponseFanucData.cs

@@ -29,6 +29,10 @@ namespace IMCS_CCS.Model.vo
         { get; set; }
         { get; set; }
         public string PowerOnTime
         public string PowerOnTime
         { get; set; }
         { get; set; }
+        public string SpindleMagnification
+        { get; set; }
+        public string SpindleLoad
+        { get; set; }
 
 
         public string AccumulateCuttingTime
         public string AccumulateCuttingTime
         { get; set; }
         { get; set; }

+ 14 - 8
IMCS_CCS/Service/Impl/HttpRequestService.cs

@@ -109,13 +109,17 @@ namespace IMCS.CCS.Services
             List<Device> devices = _deviceService.GetDeviceList();            
             List<Device> devices = _deviceService.GetDeviceList();            
             List<ResponseDigitalTwinsData> list = new List<ResponseDigitalTwinsData>();
             List<ResponseDigitalTwinsData> list = new List<ResponseDigitalTwinsData>();
 
 
-            String query3dUrl = ecsRootUrlContext + "api/authority/agv/agvCallbackService/query3dResouceDataInfo";
+            String query3dUrl = ecsRootUrlContext + "/api/authority/agv/agvCallbackService/query3dResouceDataInfo";
             var result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, query3dUrl, new Object(), null);
             var result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, query3dUrl, new Object(), null);
             ResponsePageData<ResponseDigitalTwinsData> responseData = JsonConvert.DeserializeObject<ResponsePageData<ResponseDigitalTwinsData>>(result.Message);
             ResponsePageData<ResponseDigitalTwinsData> responseData = JsonConvert.DeserializeObject<ResponsePageData<ResponseDigitalTwinsData>>(result.Message);
             list = responseData.Data;
             list = responseData.Data;
             foreach(ResponseDigitalTwinsData responseDigitalTwinsData in list)
             foreach(ResponseDigitalTwinsData responseDigitalTwinsData in list)
             {
             {
                 EquipmentMonitor equipmentMonitor = await _equipmentMonitorService.GetById(long.Parse(responseDigitalTwinsData.resourceId));
                 EquipmentMonitor equipmentMonitor = await _equipmentMonitorService.GetById(long.Parse(responseDigitalTwinsData.resourceId));
+                if (equipmentMonitor==null || equipmentMonitor.IP == null)
+                {
+                    continue;
+                }
                 Device device = devices.Where(x => x.Ip.Equals(equipmentMonitor.IP)).FirstOrDefault();
                 Device device = devices.Where(x => x.Ip.Equals(equipmentMonitor.IP)).FirstOrDefault();
                 if (null!=device && equipmentMonitor.Type == "HEIDEHAIN")
                 if (null!=device && equipmentMonitor.Type == "HEIDEHAIN")
                 {
                 {
@@ -130,9 +134,11 @@ namespace IMCS.CCS.Services
                         if (!string.IsNullOrEmpty(retData.runDatasInfo.Trim()))
                         if (!string.IsNullOrEmpty(retData.runDatasInfo.Trim()))
                         {                            
                         {                            
                             ResponseDigitalTwinsData twinsData = JsonConvert.DeserializeObject<ResponseDigitalTwinsData>(retData.runDatasInfo);
                             ResponseDigitalTwinsData twinsData = JsonConvert.DeserializeObject<ResponseDigitalTwinsData>(retData.runDatasInfo);
-                            responseDigitalTwinsData.feedRate = twinsData.feedRate;
-                            responseDigitalTwinsData.spindleMagnification = twinsData.spindleMagnification;
-                        }                        
+                            responseDigitalTwinsData.feedRate = !string.IsNullOrEmpty(twinsData.feedRate)? twinsData.feedRate : "0";
+                            responseDigitalTwinsData.spindleMagnification = !string.IsNullOrEmpty(twinsData.spindleMagnification)? twinsData.spindleMagnification:"0";
+                            responseDigitalTwinsData.spindleSpeed = !string.IsNullOrEmpty(twinsData.spindleSpeed) ? twinsData.spindleSpeed + "00" : "0";
+                            responseDigitalTwinsData.spindleLoad = !string.IsNullOrEmpty(twinsData.spindleLoad) ? twinsData.spindleMagnification : "-";
+                        }
                     }
                     }
                 }
                 }
                 else if(null != device && equipmentMonitor.Type == "FANUC")
                 else if(null != device && equipmentMonitor.Type == "FANUC")
@@ -144,10 +150,10 @@ namespace IMCS.CCS.Services
                     if (Result.IsSuccess)
                     if (Result.IsSuccess)
                     {
                     {
                         ResponseFanucData responseFanucData = JsonConvert.DeserializeObject<ResponseFanucData>(Result.Message);
                         ResponseFanucData responseFanucData = JsonConvert.DeserializeObject<ResponseFanucData>(Result.Message);
-                        responseDigitalTwinsData.feedRate = responseFanucData.ActFeed;
-                        responseDigitalTwinsData.spindleMagnification = responseFanucData.ActSpindle;
-                        //responseDigitalTwinsData.spindleSpeed = responseFanucData.
-                        //responseDigitalTwinsData.spindleLoad = responseFanucData.
+                        responseDigitalTwinsData.feedRate = !string.IsNullOrEmpty(responseFanucData.ActFeed)? responseFanucData.ActFeed:"0";
+                        responseDigitalTwinsData.spindleMagnification = !string.IsNullOrEmpty(responseFanucData.SpindleMagnification)? responseFanucData.SpindleMagnification:"0";
+                        responseDigitalTwinsData.spindleSpeed = !string.IsNullOrEmpty(responseFanucData.ActSpindle)? responseFanucData.ActSpindle : "0";
+                        responseDigitalTwinsData.spindleLoad = !string.IsNullOrEmpty(responseFanucData.SpindleLoad)? responseFanucData.SpindleLoad : "-";
                     }
                     }
                 }
                 }
             }
             }

+ 28 - 4
IMCS_CCS/Service/Impl/TaskJobService.cs

@@ -1285,6 +1285,10 @@ namespace IMCS.CCS.Service.Impl
 
 
                     //缓存取PLC tagvalue 值
                     //缓存取PLC tagvalue 值
                     List<CcsTagValue> tagValues = new List<CcsTagValue>();
                     List<CcsTagValue> tagValues = new List<CcsTagValue>();
+                    if(device == null)
+                    {
+                        continue;
+                    }
                     string tag_value_redis_key = imcs_redis_key + device.Ip + ":" + device.ProtocolType;
                     string tag_value_redis_key = imcs_redis_key + device.Ip + ":" + device.ProtocolType;
                     var tagData = await _redisService.Database.StringGetAsync(tag_value_redis_key);
                     var tagData = await _redisService.Database.StringGetAsync(tag_value_redis_key);
                     if (tagData.IsNullOrEmpty)
                     if (tagData.IsNullOrEmpty)
@@ -1327,11 +1331,31 @@ namespace IMCS.CCS.Service.Impl
                     }
                     }
                     else if (device != null && device.State && device.UseState && (equipment.Type == "HEIDEHAIN" || equipment.Type == "FANUC"))
                     else if (device != null && device.State && device.UseState && (equipment.Type == "HEIDEHAIN" || equipment.Type == "FANUC"))
                     {
                     {
+                        string ktIp = "192.168.11.170";
+                        string ktRedisKey = imcs_redis_key + ktIp + ":" + ProtocalTypeEnum.S7_1500;
                         string plcAddress = jcAddressDict[device.Ip];
                         string plcAddress = jcAddressDict[device.Ip];
-                        ccsTagValue = tagValues.Where(x => x.Ip == "192.168.11.170" && x.Address == plcAddress).FirstOrDefault();
-                        if(ccsTagValue != null)
+                        var ktTagData = await _redisService.Database.StringGetAsync(ktRedisKey);
+                        List<CcsTagValue> ktTagValues = new List<CcsTagValue>();
+                        if (ktTagData.IsNullOrEmpty)
+                        { 
+                            CcsTagValue tagQuery = new CcsTagValue();
+                            tagQuery.ProtocolType = device.ProtocolType;
+                            tagQuery.Ip = ktIp;
+                            ktTagValues = _ccsTagValueService.GetList(tagQuery);
+                            //首次设置redis
+                            if (ktTagValues != null && ktTagValues.Count > 0)
+                            {
+                                await _redisService.Database.StringSetAsync(ktRedisKey, JsonConvert.SerializeObject(ktTagValues));
+                            }
+                        }
+                        else
+                        {
+                            ktTagValues = JsonConvert.DeserializeObject<List<CcsTagValue>>(ktTagData);
+                        }
+                        CcsTagValue ktTagValue = ktTagValues.Where(x => x.Ip.Trim() == ktIp && x.Address.Trim() == plcAddress).FirstOrDefault();
+                        if(ktTagValue != null)
                         {
                         {
-                            if (ccsTagValue.TagValue == "1")
+                            if (ktTagValue.TagValue == "1")
                             {
                             {
                                 if (equipment.Status != "生产中")
                                 if (equipment.Status != "生产中")
                                 {
                                 {
@@ -1340,7 +1364,7 @@ namespace IMCS.CCS.Service.Impl
                                 }
                                 }
                                 continue;
                                 continue;
                             }
                             }
-                            if (ccsTagValue.TagValue == "2")
+                            if (ktTagValue.TagValue == "2")
                             {
                             {
                                 if (equipment.Status != "空闲")
                                 if (equipment.Status != "空闲")
                                 {
                                 {

BIN
IMCS_CCS/obj/Debug/netcoreapp3.1/HZY.Quartz.assets.cache


BIN
IMCS_CCS/obj/Debug/netcoreapp3.1/HZY.Quartz.csproj.AssemblyReference.cache