From fa095d4c1a440cf28a9ac82aaf9fe26984010670 Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期一, 22 九月 2025 08:48:44 +0800
Subject: [PATCH] 丝印页面修改,通讯加null验证

---
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectMachine.java |   54 ++++++++++++++++++++++++------------------------------
 1 files changed, 24 insertions(+), 30 deletions(-)

diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectMachine.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectMachine.java
index 139d6f6..525d9e9 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectMachine.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/common/S7objectMachine.java
@@ -3,7 +3,6 @@
 import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
 import com.mes.device.PlcParameterInfo;
 import com.mes.device.PlcParameterObject;
-import com.mes.service.ModbusTcp;
 import com.mes.tools.InitUtil;
 import com.mes.tools.S7control;
 import lombok.extern.slf4j.Slf4j;
@@ -17,14 +16,15 @@
  * @Description:
  */
 @Slf4j
-public class S7objectMachine extends Thread {
+public class S7objectMachine{
     public S7control plccontrol; // PLC閫氳绫诲疄渚�
     private EPlcType plcType = EPlcType.S1200; // 瑗块棬瀛怭LC绫诲瀷
     private String ip = ""; // plc ip鍦板潃
     private int port = 102; // plc 绔彛鍙�
     private String plcFileName=""; // json鍚嶇О
     public PlcParameterObject PlcMesObject;
-    public S7objectMachine(String ip,int port,String plcFileName,EPlcType plcType) {
+
+    public S7objectMachine(String ip, int port, String plcFileName, EPlcType plcType) {
         initialize(ip,port,plcFileName,plcType);
         if (plccontrol == null) {
             plccontrol = new S7control(this.plcType, this.ip, this.port, 0, 0);
@@ -51,34 +51,28 @@
         }
         log.info(logInfo);
     }
-    @Override
-    public void run() {
-        while (this != null) {
-            try {
-                Thread.sleep(100);
-            } catch (InterruptedException e) {
-                e.printStackTrace();
-            }
-            try {
-                byte[] resultValues=new byte[PlcMesObject.getPlcAddressLength()];
-                int maxRead=1092;
-                int size=PlcMesObject.getPlcAddressLength()%maxRead==0?
-                        (PlcMesObject.getPlcAddressLength()/maxRead):
-                        (PlcMesObject.getPlcAddressLength()/maxRead+1);
-                for (int i = 0; i <size ; i++) {
-                    int begin=i*maxRead;
-                    int length=(i==size-1?PlcMesObject.getPlcAddressLength()-begin:maxRead);
-                    String beginAddress=PlcMesObject.getPlcAddressBegin().substring(0, PlcMesObject.getPlcAddressBegin().indexOf("."))+"."+begin;
-                    byte[] getplcvlues = plccontrol.readByte(beginAddress, length);
-                    System.arraycopy(getplcvlues,0,resultValues,begin,length);
-                }
-                if (resultValues != null) {
-                    PlcMesObject.setPlcParameterList(resultValues);
-                }
-            } catch (Exception e) {
-                //log.info("寮傚父:ip:{},port:{}",this.ip,this.port);
-            }
+    public void readData() {
+        try {
+            byte[] resultValues=plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
 
+//            byte[] resultValues=new byte[PlcMesObject.getPlcAddressLength()];
+//            int maxRead=1092;
+//            int size=PlcMesObject.getPlcAddressLength()%maxRead==0?
+//                    (PlcMesObject.getPlcAddressLength()/maxRead):
+//                    (PlcMesObject.getPlcAddressLength()/maxRead+1);
+//            for (int i = 0; i <size ; i++) {
+//                int begin=i*maxRead;
+//                int length=(i==size-1?PlcMesObject.getPlcAddressLength()-begin:maxRead);
+//                String beginAddress=PlcMesObject.getPlcAddressBegin().substring(0, PlcMesObject.getPlcAddressBegin().indexOf("."))+"."+begin;
+//                byte[] getplcvlues = plccontrol.readByte(beginAddress, length);
+//                System.arraycopy(getplcvlues,0,resultValues,begin,length);
+//            }
+            if (resultValues.length>0) {
+                PlcMesObject.setPlcParameterList(resultValues);
+            }
+        } catch (Exception e) {
+            PlcMesObject=null;
+            log.info("寮傚父:ip:{},port:{},閿欒{},{}",this.ip,this.port,e.getMessage(),e.toString());
         }
     }
 }

--
Gitblit v1.8.0