From dbdf9238c808566a0cef6cd3858f6f3ee2d7bacd Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期日, 21 七月 2024 08:22:52 +0800
Subject: [PATCH] 1、大理片笼:选择工程号没有是否旋转字段的值 2、将钢化小片表中电气需要的字段改为int(宽高厚、旋转角度)

---
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java                                                              |    1 +
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java                                          |    9 +++++++--
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java |    1 +
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java                                   |   35 ++++++++++++++++++++++++++++++++---
 4 files changed, 41 insertions(+), 5 deletions(-)

diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java
index 32812b3..45bf01e 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java
@@ -66,6 +66,7 @@
                 s7PLC.writeUInt16(address, data);
                 result = true;
             } catch (Exception ex) {
+                System.out.println("鍚憄lc鍐欏懡浠よ繃绋嬩腑鍙戠敓寮傚父锛屽師鍥犱负锛�" + ex.getMessage());
                 reStartS7client();
             } finally {
                 tryCount -= 1;
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
index 118e6ac..e592ab2 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -371,6 +371,7 @@
                 GlassInfo glassInfo=glassInfoMapper.selectOne(glassInfoLambdaQueryWrapper);
 
                 BeanUtils.copyProperties(glassInfo, temperingGlassInfo);
+                temperingGlassInfo.setAngle((int) glassInfo.getAngle());
                 temperingGlassInfo.setState(Const.TEMPERING_NEW);
                 temperingGlassInfo.setSlot(bigStorageCageDetails.getSlot());
                 temperingGlassInfoMapper.insert(temperingGlassInfo);
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 85cf462..b8361f4 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
@@ -57,12 +57,17 @@
                 e.printStackTrace();
             }
             Date startDate = new Date();
-            log.info("澶х悊鐗囩璇诲彇plc鏁版嵁寮�濮嬫椂闂达細{}", startDate);
             byte[] getplcvlues = plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
             Date endDate = new Date();
-            log.info("澶х悊鐗囩璇诲彇plc鏁版嵁缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
+            log.info("澶х悊鐗囩璇诲彇plc鏁版嵁,寮�濮嬫椂闂达細{}锛岀粨鏉熸椂闂达細{}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", startDate, endDate, endDate.getTime() - startDate.getTime());
             if (getplcvlues != null) {
                 PlcMesObject.setPlcParameterList(getplcvlues);
+                log.info("澶х悊鐗囧綋鍓嶈繘鍗ц浆绔嬬‘璁ゅ瓧涓篸01:{},d04:{},杩涚閫佺墖浠诲姟纭瀛椾负锛歞03:{},d05:{},鍑虹墖浠诲姟纭瀛椾负{}",
+                        PlcMesObject.getPlcParameter("MESToD01").getValue(),
+                        PlcMesObject.getPlcParameter("MESToD04").getValue(),
+                        PlcMesObject.getPlcParameter("MESToD03").getValue(),
+                        PlcMesObject.getPlcParameter("MESToD05").getValue(),
+                        PlcMesObject.getPlcParameter("MESToPLC").getValue());
             }
         }
     }
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 007eab3..62c5c84 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
@@ -245,6 +245,11 @@
         Date startDate = new Date();
         log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
         PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
+        String e02State = plcMesObject.getPlcParameter("E02State").getAddress();
+        if (REQUEST_WORD.equals(e02State)) {
+            log.info("鍑虹墖蹇欑锛岀粨鏉熷嚭鐗囦换鍔�");
+            return;
+        }
         String mesToPLCAddress = plcMesObject.getPlcParameter("MESToPLC").getAddress();
         List<BigStorageCageOutTask> outingList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_NEW));
         Assert.isTrue(CollectionUtils.isEmpty(outingList), "鏈夋鍦ㄦ墽琛屽嚭鐗囩殑浠诲姟锛岀粨鏉熷綋鍓嶅嚭鐗囩嚎绋�");
@@ -310,7 +315,12 @@
                     List<BigStorageCageOutTask> outTasks = list.stream().map(e -> new BigStorageCageOutTask(e.getGlassId(), first.getSlot(), second.getSlot(),
                             slotWidth, 0, 0, 1)).collect(Collectors.toList());
                     bigStorageCageOutTaskService.saveBatch(outTasks);
-                    S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
+                    boolean flag = Boolean.FALSE;
+                    int count = 3;
+                    while (!flag && count >= 0) {
+                        flag = S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
+                        count--;
+                    }
                     log.info("宸插悜plc鍙戦�佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{}", mesToPLCAddress);
                     Date endDate = new Date();
                     log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
@@ -459,8 +469,14 @@
         }
         //鍚憄lc鍙戦�佽繘鐗囩‘璁�
         if (flag) {
-            S7object.getinstance().plccontrol.writeWord(mesAddress, 1);
+            boolean flagSend = Boolean.FALSE;
+            int count = 3;
+            while (!flagSend && count >= 0) {
+                flagSend = S7object.getinstance().plccontrol.writeWord(mesAddress, 1);
+                count--;
+            }
             log.info("杩涘崸杞珛鍙戦�佺‘璁ゅ瓧瀹屾垚锛屽湴鍧�涓簕}", mesAddress);
+
         }
         //璁板綍鏃犳硶鏀句笅鐜荤拑锛屽悗缁垽鏂惎鍔�
         return flag;
@@ -567,7 +583,14 @@
             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, 2);
+        boolean flag = Boolean.FALSE;
+        int count = 3;
+        while (!flag && count >= 0) {
+            flag = s7control.writeWord(outLine, 2);
+            count--;
+        }
         log.info("閫佺墖浠诲姟宸插彂閫佸畬鎴愶紝浠诲姟绾胯矾涓猴細{}锛屽惎鍔ㄥ湴鍧�涓簕},纭瀛椾负{}", line, outLine, 2);
     }
 
@@ -600,7 +623,13 @@
                 .in(BigStorageCageDetails::getGlassId, glassIds));
         //鏇存柊绗煎瓙鍐呮牸瀛愮殑鍓╀綑灏哄
         updateSlotRemain(list, glassIds);
-        S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
+
+        boolean flag = Boolean.FALSE;
+        int count = 3;
+        while (!flag && count >= 0) {
+            flag = S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
+            count--;
+        }
         log.info("宸插悜plc鍙戦�佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{}", mesToPLCAddress);
         return Boolean.TRUE;
     }

--
Gitblit v1.8.0