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