From 8891898a6ae6229ede66c8005f2912c75ddc6d90 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期三, 05 三月 2025 22:32:26 +0800
Subject: [PATCH] 1、fixbug:中空任务领取部分对数玻璃后继续领任务,任务显示异常bug解决 2、大理片笼/中空理片笼显示异常bug:进片任务计算目标格子后,预先将笼子插入一条记录,界面相同判断时显示存在歧义,修改数据返回逻辑:在没有目标格子前提下,如果笼内存在玻璃显示相同,有目标格子后笼内有数据不显示 3、中空理片笼进片任务优化:中空可能存在脏数据,原因人为操作或订单多补片造成中空关系订单数量与实际数据不匹配,实际数量大于订单数量,系统会重新生成一份关系造成关系进笼玻璃数据顺序存在重复而无法进笼。
---
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java | 76 +++++++++++++++++++++++++-------------
1 files changed, 50 insertions(+), 26 deletions(-)
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
index e5f4389..f56d0e5 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
@@ -1,36 +1,60 @@
package com.mes.common;
import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
+import com.mes.device.PlcParameterObject;
+import com.mes.tools.InitUtil;
import com.mes.tools.S7control;
+
/**
* @Author : zhoush
* @Date: 2024/4/9 15:13
* @Description:
*/
-//public class S7object {
-// public S7control plccontrol; // PLC閫氳绫诲疄渚�
-// private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
-// private String ip = "192.168.10.1"; // plc ip鍦板潃
-// private int port = 102; // plc 绔彛鍙�
-//
-// private static volatile S7object instance = null;
-//
-// private S7object() {
-// if (plccontrol == null) {
-// plccontrol = new S7control(plcType, ip, port, 0, 0);
-// }
-// }
-//
-// // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
-// public static S7object getinstance() {
-// if (instance == null) {
-// synchronized (S7object.class) {
-// if (instance == null) {
-// instance = new S7object();
-// }
-// }
-// }
-// return instance;
-// }
-//}
+public class S7object extends Thread {
+ public S7control plccontrol; // PLC閫氳绫诲疄渚�
+ private EPlcType plcType = EPlcType.S200_SMART; // 瑗块棬瀛怭LC绫诲瀷
+ private String ip = "192.168.10.100"; // plc ip鍦板潃
+ private int port = 102; // plc 绔彛鍙�
+
+
+ public PlcParameterObject PlcMesObject;
+ private static volatile S7object instance = null;
+
+ private S7object() {
+ if (plccontrol == null) {
+ plccontrol = new S7control(plcType, ip, port, 0, 0);
+ String PlcLoadGlass = System.getProperty("user.dir") + "/JsonFile/PlcLoadGlass.json";
+ PlcMesObject = InitUtil.initword(PlcLoadGlass);
+ }
+ }
+
+ // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
+ public static S7object getinstance() {
+ if (instance == null) {
+ synchronized (S7object.class) {
+ if (instance == null) {
+ instance = new S7object();
+ }
+ }
+ }
+ return instance;
+ }
+
+ @Override
+ public void run() {
+ while (this != null) {
+ try {
+ Thread.sleep(100);
+
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ byte[] getplcvlues = plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
+ if(getplcvlues!=null) {
+ PlcMesObject.setPlcParameterList(getplcvlues);
+ }
+ }
+ }
+}
--
Gitblit v1.8.0