Explorar o código

修改舱体状态变更

zhuhao %!s(int64=2) %!d(string=hai) anos
pai
achega
1f79298195
Modificáronse 1 ficheiros con 27 adicións e 5 borrados
  1. 27 5
      IMCS_CCS/Service/Impl/TaskJobService.cs

+ 27 - 5
IMCS_CCS/Service/Impl/TaskJobService.cs

@@ -56,6 +56,8 @@ namespace IMCS.CCS.Service.Impl
 
         private Dictionary<String, String> jcAddressDict = new Dictionary<String, String>();
 
+        private Dictionary<String, String> jcIpDict = new Dictionary<String, String>();
+
         private string LOG_TITLE_OPCUA = "OPCUA采集";
 
         private string LOG_TITLE_FUNC = "发那科采集";
@@ -106,7 +108,21 @@ namespace IMCS.CCS.Service.Impl
             //在线状态默认传参后台空闲状态
             syncStatusMap.Add("在线", 1);
             syncStatusMap.Add("掉线", -1);
-            //机床对应加工状态
+            //机床对应PLC总控地址
+            jcIpDict.Add("192.168.11.186", "192.168.11.170");
+            jcIpDict.Add("192.168.11.187", "192.168.11.170");
+            jcIpDict.Add("192.168.11.188", "192.168.11.170");
+            jcIpDict.Add("192.168.11.189", "192.168.11.170");
+            jcIpDict.Add("192.168.11.190", "192.168.11.170");
+            jcIpDict.Add("192.168.11.191", "192.168.11.170");
+            jcIpDict.Add("192.168.11.192", "192.168.11.170");
+            //舱体
+            jcIpDict.Add("192.168.11.164", "192.168.11.150"); //恒轮
+            jcIpDict.Add("192.168.11.166", "192.168.11.150");
+            jcIpDict.Add("192.168.11.167", "192.168.11.150");
+            jcIpDict.Add("192.168.11.168", "192.168.11.150");
+
+            //框体机床对应加工状态
             jcAddressDict.Add("192.168.11.186", "DB200.402");
             jcAddressDict.Add("192.168.11.187", "DB200.404");
             jcAddressDict.Add("192.168.11.188", "DB200.406");
@@ -114,6 +130,11 @@ namespace IMCS.CCS.Service.Impl
             jcAddressDict.Add("192.168.11.190", "DB200.410");
             jcAddressDict.Add("192.168.11.191", "DB200.412");
             jcAddressDict.Add("192.168.11.192", "DB200.414");
+            //舱体机床对应加工状态
+            jcAddressDict.Add("192.168.11.164", "DB200.292"); //恒轮
+            jcAddressDict.Add("192.168.11.166", "DB200.296");
+            jcAddressDict.Add("192.168.11.167", "DB200.298");
+            jcAddressDict.Add("192.168.11.168", "DB200.300"); 
         }
 
         /// <summary>
@@ -1331,8 +1352,9 @@ namespace IMCS.CCS.Service.Impl
                     } 
                     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;
+                        //通过数组获取机床对应的PLC ip地址
+                        string plcIp = jcIpDict[device.Ip]; 
+                        string ktRedisKey = imcs_redis_key + plcIp + ":" + ProtocalTypeEnum.S7_1500;
                         string plcAddress = jcAddressDict[device.Ip];
                         var ktTagData = await _redisService.Database.StringGetAsync(ktRedisKey);
                         List<CcsTagValue> ktTagValues = new List<CcsTagValue>();
@@ -1340,7 +1362,7 @@ namespace IMCS.CCS.Service.Impl
                         { 
                             CcsTagValue tagQuery = new CcsTagValue();
                             tagQuery.ProtocolType = ProtocalTypeEnum.S7_1500.ToString();
-                            tagQuery.Ip = ktIp;
+                            tagQuery.Ip = plcIp;
                             ktTagValues = _ccsTagValueService.GetList(tagQuery);
                             //首次设置redis
                             if (ktTagValues != null && ktTagValues.Count > 0)
@@ -1352,7 +1374,7 @@ namespace IMCS.CCS.Service.Impl
                         {
                             ktTagValues = JsonConvert.DeserializeObject<List<CcsTagValue>>(ktTagData);
                         }
-                        CcsTagValue ktTagValue = ktTagValues.Where(x => x.Ip.Trim() == ktIp && x.Address.Trim() == plcAddress).FirstOrDefault();
+                        CcsTagValue ktTagValue = ktTagValues.Where(x => x.Ip.Trim() == plcIp && x.Address.Trim() == plcAddress).FirstOrDefault();
                         if(ktTagValue != null)
                         {
                             if (ktTagValue.TagValue == "1")