From a6720987358933753d9b90acda9103003cfb37ee Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期五, 13 六月 2025 17:09:57 +0800
Subject: [PATCH] 更新通讯依赖版本为1.5.4,中空大理片,钢化大理片S7,modbus测试完成代码提交

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java |  179 ++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 138 insertions(+), 41 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
index b32a032..12c9e54 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
@@ -119,7 +119,7 @@
 //        ReadWriteEntity mesReplyEntity = miloService.readFromOpcUa("DLP1A.DLP1A.MesReply");
 //        if ("1".equals(mesReplyEntity.getValue() + "")) {
         String mesReplyEntity = s7DataDLPOne.getMesReply().toString();
-        if (!"1".equals(mesReplyEntity)) {
+        if ("1".equals(mesReplyEntity)) {
             log.info("鏈夋鍦ㄦ墽琛岀殑浠诲姟锛岀粨鏉熻繘鐗囦换鍔�");
             return;
         }
@@ -128,13 +128,13 @@
 //        ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP1A.DLP1A.FROM1");
         String fromOpcUa = s7DataDLPOne.getFrom1().toString();
 
-        List<Short> states = s7DataDLPOne.getStates();
+        List<String> ids = s7DataDLPOne.getIds();
         List<String> glassIdList = new ArrayList<>();
-        for (int i = 1; i <= 6; i++) {
+        for (int i = 0; i < 6; i++) {
 //            ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP1A.DLP1A.DI" + i);
-            String requestWord = states.get(i).toString();
+            String requestWord = ids.get(i);
 //            if (null != requestWord.getValue()) {
-            if (null != requestWord) {
+            if (null != requestWord && !requestWord.isEmpty()) {
                 BigStorageCageTask task = new BigStorageCageTask();
 //                task.setGlassId(requestWord.getValue() + "");
                 task.setGlassId(requestWord);
@@ -159,7 +159,7 @@
             //鍚憄lc鍙戦�佹姤璀�:褰撳墠澶ц溅杩涚墖鐜荤拑鏁伴噺涓巑es璇诲彇鍒扮殑鏁伴噺涓嶅尮閰�
 //            miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 1));
             s7DataDLPOne = new S7DataDLPOne();
-            s7DataDLPOne.setAlramSignal((short) 1);
+            s7DataDLPOne.setAlarmSignal(1);
             s7SerializerDLPOne.write(s7DataDLPOne);
             return;
         }
@@ -170,7 +170,7 @@
                 //鍚憄lc鍙戦�佹姤璀�:鍚屼竴杞﹁繘鐗囩幓鐠冨瓨鍦ㄧ浉鍚�
 //                miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 2));
                 s7DataDLPOne = new S7DataDLPOne();
-                s7DataDLPOne.setAlramSignal((short) 2);
+                s7DataDLPOne.setAlarmSignal(2);
                 s7SerializerDLPOne.write(s7DataDLPOne);
                 return;
             }
@@ -182,7 +182,7 @@
             //鍚憄lc鍙戦�佹姤璀�:鐞嗙墖绗煎瓨鍦ㄧ浉鍚岀殑杩涚墖鐜荤拑
 //            miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 4));
             s7DataDLPOne = new S7DataDLPOne();
-            s7DataDLPOne.setAlramSignal((short) 4);
+            s7DataDLPOne.setAlarmSignal(4);
             s7SerializerDLPOne.write(s7DataDLPOne);
             return;
         }
@@ -193,7 +193,7 @@
             //鍚憄lc鍙戦�佹姤璀�:杩涚墖浠诲姟鏁伴噺涓庣郴缁熸煡璇㈠埌鐨勭幓鐠冩暟閲忎笉鍖归厤
 //            miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 8));
             s7DataDLPOne = new S7DataDLPOne();
-            s7DataDLPOne.setAlramSignal((short) 8);
+            s7DataDLPOne.setAlarmSignal(8);
             s7SerializerDLPOne.write(s7DataDLPOne);
             return;
         }
@@ -214,7 +214,7 @@
                     //鍚憄lc鍙戦�佹姤璀�:绗煎唴鏍煎瓙鍓╀綑鏁伴噺涓嶈冻
 //                    miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 16));
                     s7DataDLPOne = new S7DataDLPOne();
-                    s7DataDLPOne.setAlramSignal((short) 16);
+                    s7DataDLPOne.setAlarmSignal(16);
                     s7SerializerDLPOne.write(s7DataDLPOne);
                     return;
                 }
@@ -230,7 +230,7 @@
                 //鍚憄lc鍙戦�佹姤璀�:鐩撮�氱墖鍙板瓨鍦ㄧ幓鐠冿紝鏃犳硶缁х画鐩撮��
 //                miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 64));
                 s7DataDLPOne = new S7DataDLPOne();
-                s7DataDLPOne.setAlramSignal((short) 64);
+                s7DataDLPOne.setAlarmSignal(64);
                 s7SerializerDLPOne.write(s7DataDLPOne);
                 return;
             }
@@ -260,7 +260,7 @@
                         .eq(BigStorageCage::getSlot, bigStorageDTO.getSlot()));
                 task.setTargetSlot(bigStorageDTO.getSlot());
                 task.setGlassId(info.getGlassId());
-                bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", task);
+//                bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", task);
                 //瀛樻斁鍘嗗彶浠诲姟
                 BigStorageCageHistoryTask historyTask = new BigStorageCageHistoryTask();
                 BeanUtils.copyProperties(task, historyTask);
@@ -283,7 +283,7 @@
         } else {
             BigStorageCageTask task = inTaskList.get(0);
             task.setTargetSlot(THROUGH_SLOT);
-            bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", task);
+//            bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", task);
             //瀛樻斁鍘嗗彶浠诲姟
             BigStorageCageHistoryTask historyTask = new BigStorageCageHistoryTask();
             BeanUtils.copyProperties(task, historyTask);
@@ -314,8 +314,8 @@
 //        list.add(generateReadWriteEntity("DLP1A.DLP1A.MesReply", 1));
 //        miloService.writeToOpcWord(list);
         s7DataDLPOne = new S7DataDLPOne();
-        for (int i = 0; i < inTaskList.size() && i < 6; i++) {
-            short value = (short) Integer.parseInt(inTaskList.get(i).getTargetSlot().toString());
+        for (int i = 0; i < inTaskList.size(); i++) {
+            Integer value = Integer.parseInt(inTaskList.get(i).getTargetSlot().toString());
             switch (i) {
                 case 0:
                     s7DataDLPOne.setTo1(value);
@@ -338,7 +338,9 @@
             }
         }
         s7SerializerDLPOne.write(s7DataDLPOne);
-
+        s7DataDLPOne = new S7DataDLPOne();
+        s7DataDLPOne.setMesReply(1);
+        s7SerializerDLPOne.write(s7DataDLPOne);
     }
 
     @Scheduled(fixedDelay = 1000)
@@ -360,7 +362,8 @@
             return;
         }
         //鑾峰彇鍑虹墖浠诲姟琛�
-        List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task");
+        List<BigStorageCageTask> outTaskList = getOutTaskList(s7DataWLTwo);
+//        List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task");
         if (CollectionUtil.isNotEmpty(outTaskList)) {
             log.info("鏈夋鍦ㄦ墽琛岀殑鍑虹墖浠诲姟锛岀粨鏉熸湰娆″嚭鐗囦换鍔�");
             return;
@@ -544,7 +547,7 @@
             }
 
 //            if (null != requestWord.getValue()) {
-            if (null != requestWord) {
+            if (!requestWord.isEmpty()) {
                 BigStorageCageTask task = new BigStorageCageTask();
 //                task.setGlassId(requestWord.getValue() + "");
 //                task.setTargetSlot(Integer.parseInt(toOpcUa.getValue() + ""));
@@ -602,7 +605,7 @@
                     .eq(BigStorageCageHistoryTask::getGlassId, item.getGlassId()));
             item.setTargetSlot(0);
             //娓呯┖浠诲姟琛ㄦ暟鎹�
-            bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", item);
+//            bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", item);
         }
         //娓呯┖鍚姩鐘舵��
         //鍚憃pc鍙戦�佸惎鍔ㄤ俊鍙�
@@ -613,14 +616,14 @@
 //        }
 //        list.add(generateReadWriteEntity("DLP1A.DLP1A.MesReply", 0));
 //        miloService.writeToOpcWord(list);
-        s7DataDLPOne =new S7DataDLPOne();
-        s7DataDLPOne.setTo1((short)0);
-        s7DataDLPOne.setTo2((short)0);
-        s7DataDLPOne.setTo3((short)0);
-        s7DataDLPOne.setTo4((short)0);
-        s7DataDLPOne.setTo5((short)0);
-        s7DataDLPOne.setTo6((short)0);
-        s7DataDLPOne.setMesReply((short)0);
+        s7DataDLPOne = new S7DataDLPOne();
+        s7DataDLPOne.setTo1(0);
+        s7DataDLPOne.setTo2(0);
+        s7DataDLPOne.setTo3(0);
+        s7DataDLPOne.setTo4(0);
+        s7DataDLPOne.setTo5(0);
+        s7DataDLPOne.setTo6(0);
+        s7DataDLPOne.setMesReply(0);
         s7SerializerDLPOne.write(s7DataDLPOne);
     }
 
@@ -634,8 +637,9 @@
             log.info("褰撳墠涓洪潪鑱旀満鐘舵�侊紝缁撴潫瀹屾垚鍑虹墖浠诲姟");
             return;
         }
-        //鑾峰彇杩涚墖浠诲姟琛�
-        List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task");
+        //鑾峰彇鍑虹墖浠诲姟琛�
+        List<BigStorageCageTask> outTaskList = getOutTaskList(s7DataWLTwo);
+//        List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task");
         if (CollectionUtil.isEmpty(outTaskList)) {
             log.info("褰撳墠澶ц溅鏃犺繘鐗囩幓鐠冿紝缁撴潫瀹屾垚杩涚墖浠诲姟");
             return;
@@ -719,12 +723,13 @@
             }
         }
 //       閲嶇疆浠诲姟琛ㄦ暟鎹�
-        bigStorageCageTaskService.updateOutTaskMessage("big_storage_cage_out_one_task");
+//        bigStorageCageTaskService.updateOutTaskMessage("big_storage_cage_out_one_task");
+        resetOutTask();
         //娓呯┖鍚姩鐘舵��
         //鍚憃pc鍙戦�佸惎鍔ㄤ俊鍙�
 //        miloService.writeToOpcWord(generateReadWriteEntity("DLP1B.DLP1B.MesReply", 0));
-        S7DataDLPTwo s7DataDLPTwo=new S7DataDLPTwo();
-        s7DataDLPTwo.setMesReply((short)0);
+        S7DataDLPTwo s7DataDLPTwo = new S7DataDLPTwo();
+        s7DataDLPTwo.setMesReply(0);
         s7SerializerDLPTwo.write(s7DataDLPTwo);
     }
 
@@ -858,12 +863,54 @@
         List<String> glassIds = bigStorageCageTaskList.stream().map(BigStorageCageTask::getGlassId).collect(Collectors.toList());
         int glassCount = bigStorageCageTaskList.size();
         //鐢熸垚鍑虹墖浠诲姟鏉℃暟涓嶈冻6琛ュ叏
-        while (bigStorageCageTaskList.size() < 6) {
-            bigStorageCageTaskList.add(new BigStorageCageTask("", 0, 0, 0));
-        }
+//        while (bigStorageCageTaskList.size() < 6) {
+//            bigStorageCageTaskList.add(new BigStorageCageTask("", 0, 0, 0));
+//        }
         //娓呯┖浠诲姟琛ㄦ暟鎹�
-        bigStorageCageTaskService.removeAll("big_storage_cage_out_one_task");
-        bigStorageCageTaskService.saveTaskMessage(tableName, bigStorageCageTaskList);
+        resetOutTask();
+        S7DataDLPTwo s7DataDLPTwo = new S7DataDLPTwo();
+        for (int i = 0; i < bigStorageCageTaskList.size() && i < 6; i++) {
+            String glassId = bigStorageCageTaskList.get(i).getGlassId();
+            Integer startSlot = bigStorageCageTaskList.get(i).getStartSlot();
+            Integer target = bigStorageCageTaskList.get(i).getTargetSlot();
+            if (startSlot > 0) {
+                switch (i) {
+                    case 0:
+                        s7DataDLPTwo.setId1(glassId);
+                        s7DataDLPTwo.setFrom1(startSlot);
+                        s7DataDLPTwo.setTo1(target);
+                        break;
+                    case 1:
+                        s7DataDLPTwo.setId2(glassId);
+                        s7DataDLPTwo.setFrom2(startSlot);
+                        s7DataDLPTwo.setTo2(target);
+                        break;
+                    case 2:
+                        s7DataDLPTwo.setId3(glassId);
+                        s7DataDLPTwo.setFrom3(startSlot);
+                        s7DataDLPTwo.setTo3(target);
+                        break;
+                    case 3:
+                        s7DataDLPTwo.setId4(glassId);
+                        s7DataDLPTwo.setFrom4(startSlot);
+                        s7DataDLPTwo.setTo4(target);
+                        break;
+                    case 4:
+                        s7DataDLPTwo.setId5(glassId);
+                        s7DataDLPTwo.setFrom5(startSlot);
+                        s7DataDLPTwo.setTo5(target);
+                        break;
+                    case 5:
+                        s7DataDLPTwo.setId6(glassId);
+                        s7DataDLPTwo.setFrom6(startSlot);
+                        s7DataDLPTwo.setTo6(target);
+                        break;
+                }
+            }
+        }
+        s7SerializerDLPTwo.write(s7DataDLPTwo);
+//        bigStorageCageTaskService.removeAll("big_storage_cage_out_one_task");
+//        bigStorageCageTaskService.saveTaskMessage(tableName, bigStorageCageTaskList);
         List<BigStorageCageHistoryTask> historyList = bigStorageCageTaskList.stream().filter(e -> StringUtils.isNotBlank(e.getGlassId())).map(e -> {
             BigStorageCageHistoryTask history = new BigStorageCageHistoryTask();
             BeanUtils.copyProperties(e, history);
@@ -881,8 +928,8 @@
                 .in(BigStorageCageDetails::getGlassId, glassIds));
         try {
 //            miloService.writeToOpcWord(generateReadWriteEntity("DLP1B.DLP1B.MesReply", 1));
-            S7DataDLPTwo s7DataDLPTwo=new S7DataDLPTwo();
-            s7DataDLPTwo.setMesReply((short)1);
+            s7DataDLPTwo = new S7DataDLPTwo();
+            s7DataDLPTwo.setMesReply(1);
             s7SerializerDLPTwo.write(s7DataDLPTwo);
         } catch (Exception e) {
             e.printStackTrace();
@@ -941,8 +988,8 @@
                 .in(BigStorageCageDetails::getGlassId, glassIds));
         try {
 //            miloService.writeToOpcWord(generateReadWriteEntity("DLP1B.DLP1B.MesReply", 1));
-            S7DataDLPTwo s7DataDLPTwo=new S7DataDLPTwo();
-            s7DataDLPTwo.setMesReply((short)1);
+            S7DataDLPTwo s7DataDLPTwo = new S7DataDLPTwo();
+            s7DataDLPTwo.setMesReply(1);
             s7SerializerDLPTwo.write(s7DataDLPTwo);
         } catch (Exception e) {
             e.printStackTrace();
@@ -985,4 +1032,54 @@
                 .value(value)
                 .build();
     }
+
+    //閲嶇疆浠诲姟琛�
+    private void resetOutTask() {
+        S7DataDLPTwo s7DataDLPTwo = new S7DataDLPTwo();
+        s7DataDLPTwo.setId1("");
+        s7DataDLPTwo.setId2("");
+        s7DataDLPTwo.setId3("");
+        s7DataDLPTwo.setId4("");
+        s7DataDLPTwo.setId5("");
+        s7DataDLPTwo.setId6("");
+        s7DataDLPTwo.setFrom1(0);
+        s7DataDLPTwo.setFrom2(0);
+        s7DataDLPTwo.setFrom3(0);
+        s7DataDLPTwo.setFrom4(0);
+        s7DataDLPTwo.setFrom5(0);
+        s7DataDLPTwo.setFrom6(0);
+        s7DataDLPTwo.setTo1(0);
+        s7DataDLPTwo.setTo2(0);
+        s7DataDLPTwo.setTo3(0);
+        s7DataDLPTwo.setTo4(0);
+        s7DataDLPTwo.setTo5(0);
+        s7DataDLPTwo.setTo6(0);
+        s7DataDLPTwo.setState1(0);
+        s7DataDLPTwo.setState2(0);
+        s7DataDLPTwo.setState3(0);
+        s7DataDLPTwo.setState4(0);
+        s7DataDLPTwo.setState5(0);
+        s7DataDLPTwo.setState6(0);
+        s7SerializerDLPTwo.write(s7DataDLPTwo);
+    }
+
+    //璇诲彇鍑虹墖鍦板潃
+    private List<BigStorageCageTask> getOutTaskList(S7DataDLPTwo s7DataDLPTwo) {
+        List<BigStorageCageTask> outTaskList = new ArrayList<>();
+        List<String> glassIds = s7DataDLPTwo.getIds();
+        List<Integer> startSlots = s7DataDLPTwo.getFroms();
+        List<Integer> endSlots = s7DataDLPTwo.getTos();
+        List<Integer> states = s7DataDLPTwo.getStates();
+        for (int i = 0; i < 6; i++) {
+            if (glassIds.get(i) != null && !glassIds.get(i).isEmpty()) {
+                BigStorageCageTask bigStorageCageTask = new BigStorageCageTask();
+                bigStorageCageTask.setGlassId(glassIds.get(i));
+                bigStorageCageTask.setStartSlot(startSlots.get(i));
+                bigStorageCageTask.setTargetSlot(endSlots.get(i));
+                bigStorageCageTask.setTaskState(states.get(i));
+                outTaskList.add(bigStorageCageTask);
+            }
+        }
+        return outTaskList;
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0