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