From 8d58c40af40493bd5f066cbfdb1ffd9f113c22fc Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期三, 03 九月 2025 16:37:21 +0800
Subject: [PATCH] 1.前端推数据使用了最新的webSokect客户现场总是掉线,修改为接口方式 2.设备交互整体增加异常处理以及PLC连接方式改为短连接

---
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCCleaning.java |   38 +++++++++++++++++++++++---------------
 1 files changed, 23 insertions(+), 15 deletions(-)

diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCCleaning.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCCleaning.java
index 1c4d7d0..ab86444 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCCleaning.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/job/PLCCleaning.java
@@ -32,27 +32,35 @@
     public S7objectMachine s7objectMachine;
 
     //@Scheduled(fixedDelay = 500)
-    public void cleaning() {
+    public void cleaning() throws Exception {
         //纾ㄨ竟绾块�熷害  10.36.164.200
         Long machineId=8L;
         Machine machine=machineMapper.selectById(machineId);
-        if (s7objectMachine==null){
-            s7objectMachine=new S7objectMachine(machine.getIp(),machine.getPort(),"PlcCleaning", EPlcType.S200_SMART);
-            s7objectMachine.start();
-        }
+        S7objectMachine s7objectMachine = new S7objectMachine(machine.getIp(),machine.getPort(),"PlcCleaning", EPlcType.S200_SMART);
+        s7objectMachine.readData();//鎸夌収json鏂囦欢璇诲彇鍐呭
         PlcParameterObject plcParameterObject = s7objectMachine.PlcMesObject;
-        PlcParameterInfo edgSpeed =plcParameterObject.getPlcParameter("edgSpeed");//纾ㄨ竟鏈洪�熷害
-        PlcParameterInfo thinness =plcParameterObject.getPlcParameter("thinness");//鍘氬害
-        if (machine.getIsLog()>0){
-            s7objectMachine.consoleLogInfo();
+        if (plcParameterObject == null) {
+            s7objectMachine.plccontrol.closeS7client();
+            return;
         }
-        int edgSpeedInt=0;
-        int edgThinnessInt=0;
-        if(!(edgSpeedInt+"").equals(edgSpeed.getValue())||!(edgThinnessInt+"").equals(thinness.getValue())){
-            //缁欐竻娲楁満鍣ㄥ彂閫佺(杈规満閫熷害
-            S7objectCleaning.getinstance().plccontrol.writeWord(edgSpeed.getAddress(), edgSpeedInt);
-            S7objectCleaning.getinstance().plccontrol.writeWord(thinness.getAddress(), edgThinnessInt);
+        try {
+            PlcParameterInfo edgSpeed =plcParameterObject.getPlcParameter("edgSpeed");//纾ㄨ竟鏈洪�熷害
+            PlcParameterInfo thinness =plcParameterObject.getPlcParameter("thinness");//鍘氬害
+            if (machine.getIsLog()>0){
+                s7objectMachine.consoleLogInfo();
+            }
+            int edgSpeedInt=0;
+            int edgThinnessInt=0;
+            if(!(edgSpeedInt+"").equals(edgSpeed.getValue())||!(edgThinnessInt+"").equals(thinness.getValue())){
+                //缁欐竻娲楁満鍣ㄥ彂閫佺(杈规満閫熷害
+                S7objectCleaning.getinstance().plccontrol.writeWord(edgSpeed.getAddress(), edgSpeedInt);
+                S7objectCleaning.getinstance().plccontrol.writeWord(thinness.getAddress(), edgThinnessInt);
+            }
+        }catch (Exception e) {
+            s7objectMachine.plccontrol.closeS7client();
+            log.info("閫昏緫澶勭悊寮傚父锛氳澶噄d銆恵}銆�", machine.getId());
         }
+
     }
     //@Scheduled(fixedDelay = 1000)
     public void cleaningTask() {

--
Gitblit v1.8.0