From 7a6d4580cb6b69614a1e628d960279c090bbc60a Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 04 七月 2024 16:59:30 +0800
Subject: [PATCH] 大理片协议读取更新

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/JsonFile/PlcCacheVerticalGlass.json             |   42 +++++++++++++++++++++
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml         |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java                         |    4 +-
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java                              |    6 +-
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java                  |   48 ++++++++++++++++--------
 6 files changed, 81 insertions(+), 23 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
index 62186a5..926922a 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -93,7 +93,7 @@
                 return;
             }
             log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓�0锛屽皢纭瀛楁敼涓�0");
-            S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, (short) 0);
+            S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 0);
             return;
         }
         if (!"0".equals(confirmationWrodValue)) {
@@ -169,7 +169,7 @@
         boolean taskCache = saveTaskCache(details.getGlassId(), 0, nearestEmpty.getSlot(), Const.GLASS_CACHE_TYPE_IN);
         log.info("5銆佺敓鎴愯繘鐗囦换鍔′俊鎭瓨鍏ヤ换鍔¤〃鏄惁瀹屾垚锛歿}", taskCache);
 
-        S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, (short) 1);
+        S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
         log.info("6銆佸彂閫佺‘璁ゅ瓧瀹屾垚");
 
 
@@ -589,7 +589,7 @@
             }
             boolean glassSizeStatus = saveGlassSize(glassInfo);
             log.info("7銆佹坊鍔犲嚭鐗囩幓鐠冨昂瀵镐俊鎭埌纾ㄨ竟鍓嶇幓鐠冭〃鏄惁瀹屾垚锛歿}", glassSizeStatus);
-            S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, (short) 1);
+            S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
             log.info("8銆佸彂閫佺‘璁ゅ瓧宸插畬鎴�");
             return Boolean.TRUE;
         }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
index 96f0f72..68312bf 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
@@ -25,8 +25,8 @@
         if (plccontrol == null) {
             plccontrol = new S7control(plcType, ip, port, 0, 0);
 
-            String PlcLoadGlass = S7object.class.getResource("/JsonFile/PlcCacheVerticalGlass.json").getPath();
-            //log.info(PLCAutoMes.class.getResource("").getPath());
+            String PlcLoadGlass = System.getProperty("user.dir") + "/JsonFile/PlcCacheVerticalGlass.json";
+            System.out.println("鑾峰彇鍒扮殑鏂囦欢璺緞涓猴細" + PlcLoadGlass);
             PlcMesObject = InitUtil.initword(PlcLoadGlass);
         }
     }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index 8a96f63..4d4ec63 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -81,16 +81,22 @@
     @Value("${mes.galssGap}")
     private Integer galssGap;
 
-    @Scheduled(fixedDelay = 5000)
+    @Scheduled(fixedDelay = 300)
     public void plcToHomeEdgScan() {
         PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
         String d01Id = plcParameterObject.getPlcParameter("D01ID").getValue();
         String d04Id = plcParameterObject.getPlcParameter("D04ID").getValue();
+        //D02id鍒ゆ柇鏄惁涓虹┖  纭鏄惁绌洪棽 鍏佽杩涚墖
+        String d02State = plcParameterObject.getPlcParameter("D02ID").getValue();
         String d03State = plcParameterObject.getPlcParameter("D03State").getValue();
         String d05State = plcParameterObject.getPlcParameter("D05State").getValue();
-        String mesD03Address = plcParameterObject.getPlcParameter("MESToD03").getAddress();
-        String mesD05Address = plcParameterObject.getPlcParameter("MESToD05").getAddress();
-
+        String mesD01Address = plcParameterObject.getPlcParameter("MESToD01").getAddress();
+        String mesD04Address = plcParameterObject.getPlcParameter("MESToD04").getAddress();
+        String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue();
+        if (!REQUEST_WORD.equals(d01ToMES)) {
+            log.info("璇锋眰瀛椾负{}锛岀粨鏉熸湰娆℃壂鎻忚繘鍗ц浆绔嬩换鍔�", d01ToMES);
+            return;
+        }
 
         log.info("1銆佽幏鍙杁01Id鎵弿ID涓猴細{};鑾峰彇d04Id鎵弿ID涓猴細{};", d01Id, d04Id);
         if (StringUtils.isBlank(d01Id) && StringUtils.isBlank(d04Id)) {
@@ -104,11 +110,11 @@
 //        Boolean flag01 = Boolean.FALSE;
 //        Boolean flag04 = Boolean.FALSE;
         //鎸夌収绾胯矾鍙婄幓鐠僫d鑾峰彇鐩搁偦涓ゅ潡鐜荤拑 鍗ц浆绔嬩笂鐨勭幓鐠�
-        if (StringUtils.isNotBlank(d01Id) && !REQUEST_WORD.equals(d03State)) {
-            judgeGlassTypeStatus(d01Id, Const.A09_OUT_TARGET_POSITION, mesD03Address);
+        if (StringUtils.isNotBlank(d01Id) && (StringUtils.isBlank(d02State) || !REQUEST_WORD.equals(d03State))) {
+            judgeGlassTypeStatus(d01Id, Const.A09_OUT_TARGET_POSITION, mesD01Address);
         }
         if (StringUtils.isNotBlank(d04Id) && !REQUEST_WORD.equals(d05State)) {
-            judgeGlassTypeStatus(d04Id, Const.A10_OUT_TARGET_POSITION, mesD05Address);
+            judgeGlassTypeStatus(d04Id, Const.A10_OUT_TARGET_POSITION, mesD04Address);
         }
         log.info("缁撴潫鎵爜浠诲姟");
 //        if (flag01 && flag04) {
@@ -125,17 +131,26 @@
 //        }
     }
 
-    @Scheduled(fixedDelay = 5000)
+    @Scheduled(fixedDelay = 300)
     public void plcToHomeEdgFreeCarTask() {
         PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
         String e01Status = plcParameterObject.getPlcParameter("E01State").getValue();
+        String d03ToMES = plcParameterObject.getPlcParameter("D03ToMES").getValue();
+        String d05ToMES = plcParameterObject.getPlcParameter("D05ToMES").getValue();
+        log.info("鎵ц绌鸿溅閫佺墖浠诲姟锛岃幏鍙栧埌鐨勫ぇ杞︾姸鎬佷负{}锛屽崸杞珛鐘舵�佸垎鍒负d03:{}锛宒05:{}", e01Status, d03ToMES, d05ToMES);
         if (REQUEST_WORD.equals(e01Status)) {
-            log.info("杩涚墖澶ц溅闈炵┖闂�");
+            log.info("杩涚墖澶ц溅闈炵┖闂诧紝缁撴潫閫佺墖浠诲姟");
             return;
         }
-        List<BigStorageCageFeedTask> feedTaskList = bigStorageCageFeedTaskService.list(new LambdaQueryWrapper<BigStorageCageFeedTask>()
+        if (!REQUEST_WORD.equals(d03ToMES) && !REQUEST_WORD.equals(d05ToMES)) {
+            log.info("鍗ц浆绔嬫病鏈夐�佺墖璇锋眰锛岀粨鏉熼�佺墖浠诲姟");
+            return;
+        }
+        LambdaQueryWrapper<BigStorageCageFeedTask> wrapper = new LambdaQueryWrapper<BigStorageCageFeedTask>()
                 .eq(BigStorageCageFeedTask::getTaskType, Const.BIG_STORAGE_IN_RUN)
-                .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP));
+                .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP);
+        //鑾峰彇鍙互鍚姩鍗ц浆绔嬬殑浠诲姟绾胯矾
+        List<BigStorageCageFeedTask> feedTaskList = bigStorageCageFeedTaskService.list(wrapper);
         if (CollectionUtils.isNotEmpty(feedTaskList)) {
             if (feedTaskList.size() == 1) {
                 computeTargetByLine(feedTaskList.get(0).getLine());
@@ -209,7 +224,7 @@
 
     }
 
-    //    @Scheduled(fixedDelay = 5000)
+    @Scheduled(fixedDelay = 300)
     public void plcToHomeEdgOutTask() {
 
         List<BigStorageCageOutTask> outingList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_NEW));
@@ -326,7 +341,7 @@
         }
         //鍚憄lc鍙戦�佽繘鐗囩‘璁�
         if (flag) {
-            S7object.getinstance().plccontrol.writeWord(mesAddress, (short) 1);
+            S7object.getinstance().plccontrol.writeWord(mesAddress, 1);
         }
         //璁板綍鏃犳硶鏀句笅鐜荤拑锛屽悗缁垽鏂惎鍔�
         return flag;
@@ -424,10 +439,11 @@
         String mesD05Address = plcMesObject.getPlcParameter("MESToD05").getAddress();
         String outLine = line.equals(Const.A09_OUT_TARGET_POSITION) ? mesD03Address : mesD05Address;
         for (int i = 1; i <= taskList.size(); i++) {
-            s7control.writeWord(plcMesObject.getPlcParameter("StartAddToImport" + i).getAddress(), (short) taskList.get(i - 1).getLine());
-            s7control.writeWord(plcMesObject.getPlcParameter("TargetAddToImport" + i).getAddress(), (short) taskList.get(i - 1).getTargetSlot());
+            s7control.writeWord(plcMesObject.getPlcParameter("StartAddToImport" + i).getAddress(), taskList.get(i - 1).getLine());
+            s7control.writeWord(plcMesObject.getPlcParameter("TargetAddToImport" + i).getAddress(), taskList.get(i - 1).getTargetSlot());
         }
-        s7control.writeWord(outLine, (short) 1);
+        s7control.writeWord(outLine, 2);
+        log.info("閫佺墖浠诲姟宸插彂閫佸畬鎴愶紝浠诲姟绾胯矾涓猴細{}锛屽惎鍔ㄥ湴鍧�涓簕}", line, outLine);
     }
 
     private <T extends BigStorageCageBaseInfo> Boolean computeOutGlassInfo(List<T> list, Boolean isTempering) {
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/JsonFile/PlcCacheVerticalGlass.json b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/JsonFile/PlcCacheVerticalGlass.json
index e19b6ac..10e8e33 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/JsonFile/PlcCacheVerticalGlass.json
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/JsonFile/PlcCacheVerticalGlass.json
@@ -192,6 +192,34 @@
 			"unit": ""
 		},
 		{
+			"codeId": "D03ToMES",
+			"addressIndex": "874",
+			"addressLenght": "2",
+			"ratio": "1",
+			"unit": ""
+		},
+		{
+			"codeId": "D05ToMES",
+			"addressIndex": "876",
+			"addressLenght": "2",
+			"ratio": "1",
+			"unit": ""
+		},
+		{
+			"codeId": "D01ToMES",
+			"addressIndex": "878",
+			"addressLenght": "2",
+			"ratio": "1",
+			"unit": ""
+		},
+		{
+			"codeId": "D04ToMES",
+			"addressIndex": "880",
+			"addressLenght": "2",
+			"ratio": "1",
+			"unit": ""
+		},
+		{
 			"codeId": "MESToD03",
 			"addressIndex": "888",
 			"addressLenght": "2",
@@ -330,6 +358,20 @@
 			"addressLenght": "2",
 			"ratio": "1",
 			"unit": ""
+		},
+		{
+			"codeId": "MESToD01",
+			"addressIndex": "894",
+			"addressLenght": "2",
+			"ratio": "1",
+			"unit": ""
+		},
+		{
+			"codeId": "MESToD04",
+			"addressIndex": "896",
+			"addressLenght": "2",
+			"ratio": "1",
+			"unit": ""
 		}
 	]
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
index 072185f..a0a5902 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
@@ -15,7 +15,7 @@
                         SUM(case task_state when 2 then 1 else 0 end) as real_count
                  from big_storage_cage_feed_task
                  where task_state in (1, 2)
-                   and target_slot is null
+                   and (target_slot = 0 or target_slot is null)
                  group by line
              ) t
         where t.total_count = t.real_count
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
index 8ab9cf4..f9deff8 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -63,7 +63,7 @@
 
     @Test
     public void judgeGlassTypeStatus() {
-        plcStorageCageTask.judgeGlassTypeStatus("P24060403|6|7", Const.A09_OUT_TARGET_POSITION);
+        plcStorageCageTask.judgeGlassTypeStatus("P24060403|6|7", Const.A09_OUT_TARGET_POSITION, "mesD03Address");
     }
 
     @Test

--
Gitblit v1.8.0